Expand description
CVSS v4 parsing and scoring.
§Examples
Parse CVSS v4 vector string, then get a
Metric by Name:
// parse vector string
let v: Vector = "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H".parse()?;
// get metric
let metric = v.get(Name::AttackVector);
// check result
assert_eq!(metric, Metric::AttackVector(AttackVector::Network));Build Vec of metric names:
// parse vector string
let v: Vector = "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H".parse()?;
// get metric names
let names: Vec<Name> = v.into_iter().map(Name::from).collect();
// check result
assert_eq!(names, vec![
Name::AttackVector,
Name::AttackComplexity,
Name::AttackRequirements,
Name::PrivilegesRequired,
Name::UserInteraction,
Name::VulnerableSystemConfidentialityImpact,
Name::VulnerableSystemIntegrityImpact,
Name::VulnerableSystemAvailabilityImpact,
Name::SubsequentSystemConfidentialityImpact,
Name::SubsequentSystemIntegrityImpact,
Name::SubsequentSystemAvailabilityImpact,
]);Get score for CVSS v4 vector string:
// parse vector string
let v: Vector = "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N".parse()?;
// get score
let score = Score::from(v);
// check result
assert_eq!(score, Score::from(6.9));Structs§
- Macro
Vector - CVSS v4 macro vector.
- Scores
- Macro vector and score of CVSS v4 vector.
- Vector
- CVSS v4 vector.
- Vector
Iterator Vectoriterator.
Enums§
- Attack
Complexity Metric::AttackComplexity(AC) values.- Attack
Requirements Metric::AttackRequirements(AT) values.- Attack
Vector Metric::AttackVector(AV) values.- Automatable
Metric::Automatable(AU) values.- Exploit
Maturity Metric::ExploitMaturity(E) values.- Group
Metricgroup.- Impact
- Impact metric (
VC,VI,VA,SC,SI,SA) values. - Metric
Vectorcomponent.- Modified
Attack Complexity Metric::ModifiedAttackComplexity(MAC) values.- Modified
Attack Requirements Metric::ModifiedAttackRequirements(MAT) values.- Modified
Attack Vector Metric::ModifiedAttackVector(MAV) values.- Modified
Impact - Modified Impact metric (
MVC,MVI,MVA,MSC) values. - Modified
Privileges Required Metric::ModifiedPrivilegesRequired(MPR) values.- Modified
Subsequent Impact - Modified Subsequent Impact metric (
MSI,MSA) values. - Modified
User Interaction Metric::ModifiedUserInteraction(MUI) values.- Name
Metricname.- Nomenclature
Vectornomenclature.- Privileges
Required Metric::PrivilegesRequired(PR) values.- Provider
Urgency Metric::ProviderUrgency(U) values.- Recovery
Metric::Recovery(R) values.- Requirement
- Requirement metric (
CR,IR,AR) values. - Safety
Metric::Safety(S) values.- User
Interaction Metric::UserInteraction(UI) values.- Value
Density Metric::ValueDensity(V) values.- Vulnerability
Response Effort Metric::VulnerabilityResponseEffort(RE) values.