Class: CvssSuite::Cvss40Environmental

Inherits:
CvssMetric
  • Object
show all
Defined in:
lib/cvss_suite/cvss40/cvss40_environmental.rb

Overview

This class represents a CVSS Threat metric in version 4.0.

Instance Attribute Summary collapse

Attributes inherited from CvssMetric

#properties

Instance Method Summary collapse

Methods inherited from CvssMetric

#count, #initialize, #valid?

Constructor Details

This class inherits a constructor from CvssSuite::CvssMetric

Instance Attribute Details

#modified_attack_complexityObject (readonly)

Property of this metric



15
16
17
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 15

def modified_attack_complexity
  @modified_attack_complexity
end

#modified_attack_requirementsObject (readonly)

Property of this metric



15
16
17
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 15

def modified_attack_requirements
  @modified_attack_requirements
end

#modified_attack_vectorObject (readonly)

Property of this metric



15
16
17
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 15

def modified_attack_vector
  @modified_attack_vector
end

#modified_privileges_requiredObject (readonly)

Property of this metric



15
16
17
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 15

def modified_privileges_required
  @modified_privileges_required
end

#modified_subsequent_system_availabilityObject (readonly)

Property of this metric



15
16
17
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 15

def modified_subsequent_system_availability
  @modified_subsequent_system_availability
end

#modified_subsequent_system_confidentialityObject (readonly)

Property of this metric



15
16
17
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 15

def modified_subsequent_system_confidentiality
  @modified_subsequent_system_confidentiality
end

#modified_subsequent_system_integrityObject (readonly)

Property of this metric



15
16
17
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 15

def modified_subsequent_system_integrity
  @modified_subsequent_system_integrity
end

#modified_user_interactionObject (readonly)

Property of this metric



15
16
17
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 15

def modified_user_interaction
  @modified_user_interaction
end

#modified_vulnerable_system_availabilityObject (readonly)

Property of this metric



15
16
17
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 15

def modified_vulnerable_system_availability
  @modified_vulnerable_system_availability
end

#modified_vulnerable_system_confidentialityObject (readonly)

Property of this metric



15
16
17
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 15

def modified_vulnerable_system_confidentiality
  @modified_vulnerable_system_confidentiality
end

#modified_vulnerable_system_integrityObject (readonly)

Property of this metric



15
16
17
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 15

def modified_vulnerable_system_integrity
  @modified_vulnerable_system_integrity
end

Instance Method Details

#scoreObject

Returns score of this metric



23
24
25
# File 'lib/cvss_suite/cvss40/cvss40_environmental.rb', line 23

def score
  Cvss40CalcHelper.new(@properties.map { |p| [p.abbreviation, p.selected_value[:abbreviation]] }.to_h).score
end