class CvssSuite::Cvss2Temporal
This class represents a CVSS Temporal metric in version 2.
Attributes
exploitability[R]
Property of this metric
remediation_level[R]
Property of this metric
report_confidence[R]
Property of this metric
Public Instance Methods
score()
click to toggle source
Returns score of this metric
# File lib/cvss_suite/cvss2/cvss2_temporal.rb, line 24 def score return 1 unless valid? @exploitability.score * @remediation_level.score * @report_confidence.score end
Private Instance Methods
init_properties()
click to toggle source
# File lib/cvss_suite/cvss2/cvss2_temporal.rb, line 32 def init_properties @properties.push(@exploitability = CvssProperty.new(name: 'Exploitability', abbreviation: 'E', position: [6], values: [{ name: 'Not Defined', abbreviation: 'ND', weight: 1 }, { name: 'Unproven', abbreviation: 'U', weight: 0.85 }, { name: 'Proof-of-Concept', abbreviation: 'POC', weight: 0.9 }, { name: 'Functional', abbreviation: 'F', weight: 0.95 }, { name: 'High', abbreviation: 'H', weight: 1 }])) @properties.push(@remediation_level = CvssProperty.new(name: 'Remediation Level', abbreviation: 'RL', position: [7], values: [{ name: 'Not Defined', abbreviation: 'ND', weight: 1 }, { name: 'Official Fix', abbreviation: 'OF', weight: 0.87 }, { name: 'Temporary Fix', abbreviation: 'TF', weight: 0.9 }, { name: 'Workaround', abbreviation: 'W', weight: 0.95 }, { name: 'Unavailable', abbreviation: 'U', weight: 1 }])) @properties.push(@report_confidence = CvssProperty.new(name: 'Report Confidence', abbreviation: 'RC', position: [8], values: [{ name: 'Not Defined', abbreviation: 'ND', weight: 1 }, { name: 'Unconfirmed', abbreviation: 'UC', weight: 0.9 }, { name: 'Uncorroborated', abbreviation: 'UR', weight: 0.95 }, { name: 'Confirmed', abbreviation: 'C', weight: 1 }])) end