Expand description
CVSS v2 parsing and scoring.
§Examples
Parse vector string and get Metric by Name:
// parse vector string
let v: Vector = "AV:N/AC:L/Au:N/C:C/I:C/A:C".parse()?;
// get metric
let metric = v.get(Name::AccessVector);
// check result
assert_eq!(metric, Metric::AccessVector(AccessVector::Network));Build Vec of metric names:
// parse vector string
let v: Vector = "AV:N/AC:L/Au:N/C:C/I:C/A:C".parse()?;
// get metric names
let names: Vec<Name> = v.into_iter().map(Name::from).collect();
// check result
assert_eq!(names, vec!(
Name::AccessVector,
Name::AccessComplexity,
Name::Authentication,
Name::Confidentiality,
Name::Integrity,
Name::Availability,
));Get CVSS v2 vector score:
// parse CVSS v2 vector string
let v: Vector = "AV:N/AC:L/Au:N/C:N/I:N/A:C".parse()?;
// get score
let score = Score::from(v);
// check result
assert_eq!(score, Score::from(7.8));Structs§
- Scores
- Base, temporal, and environmental scores for a CVSS v2 vector.
- Vector
- CVSS v2 vector.
- Vector
Iterator Vectoriterator.
Enums§
- Access
Complexity Metric::AccessComplexity(AC) values.- Access
Vector Metric::AccessVector(AV) values.- Authentication
Metric::Authentication(Au) values.- Collateral
Damage Potential Metric::CollateralDamagePotential(CDP) values.- Exploitability
Metric::Exploitability(E) values.- Group
Metricgroup.- Impact
- Impact metric (
C,I,A) values. - Metric
Vectorcomponent.- Name
Metricname.- Remediation
Level Metric::RemediationLevel(RL) values.- Report
Confidence Metric::ReportConfidence(RC) values.- Requirement
- Requirement metric (
CR,IR,AR) values. - Target
Distribution Metric::TargetDistribution(TD) values.
Functions§
- round1
- Round value to nearest 10th of a decimal.