[][src]Struct cvssrust::v3::V3Vector

pub struct V3Vector {
    pub minor_version: MinorVersion,
    pub attack_vector: AttackVector,
    pub attack_complexity: AttackComplexity,
    pub privileges_required: PrivilegesRequired,
    pub user_interaction: UserInteraction,
    pub scope: Scope,
    pub confidentiality: Confidentiality,
    pub integrity: Integrity,
    pub availability: Availability,
    pub exploit_code_maturity: ExploitCodeMaturity,
    pub remediation_level: RemediationLevel,
    pub report_confidence: ReportConfidence,
    pub confidentiality_requirement: ConfidentialityRequirement,
    pub integrity_requirement: IntegrityRequirement,
    pub availability_requirement: AvailabilityRequirement,
    pub modified_attack_vector: ModifiedAttackVector,
    pub modified_attack_complexity: ModifiedAttackComplexity,
    pub modified_privileges_required: ModifiedPrivilegesRequired,
    pub modified_user_interaction: ModifiedUserInteraction,
    pub modified_scope: ModifiedScope,
    pub modified_confidentiality: ModifiedConfidentiality,
    pub modified_integrity: ModifiedIntegrity,
    pub modified_availability: ModifiedAvailability,
}

CVSS vector version 3.0/3.1

use cvssrust::v3::V3Vector;
use cvssrust::CVSSScore;
use std::str::FromStr;
 
let cvss_str = "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N/E:P/RL:W/RC:C";
let cvss = V3Vector::from_str(cvss_str).unwrap();
 
assert_eq!(cvss.to_string(), String::from(cvss_str));
assert_eq!(cvss.base_score().value(), 6.1);
assert_eq!(cvss.base_score().severity().to_string(), "Medium");
assert_eq!(cvss.temporal_score().value(), 5.6);

Fields

minor_version: MinorVersionattack_vector: AttackVectorattack_complexity: AttackComplexityprivileges_required: PrivilegesRequireduser_interaction: UserInteractionscope: Scopeconfidentiality: Confidentialityintegrity: Integrityavailability: Availabilityexploit_code_maturity: ExploitCodeMaturityremediation_level: RemediationLevelreport_confidence: ReportConfidenceconfidentiality_requirement: ConfidentialityRequirementintegrity_requirement: IntegrityRequirementavailability_requirement: AvailabilityRequirementmodified_attack_vector: ModifiedAttackVectormodified_attack_complexity: ModifiedAttackComplexitymodified_privileges_required: ModifiedPrivilegesRequiredmodified_user_interaction: ModifiedUserInteractionmodified_scope: ModifiedScopemodified_confidentiality: ModifiedConfidentialitymodified_integrity: ModifiedIntegritymodified_availability: ModifiedAvailability

Implementations

impl V3Vector[src]

pub fn modified_impact_subscore(&self) -> Score[src]

Calculate Modified Impact SubScore

pub fn modified_impact_score(&self) -> Score[src]

Calculate Modified Impact Score

pub fn modified_exploitability_score(&self) -> Score[src]

Calculate Modified Exploitability Score

impl V3Vector[src]

pub fn new(
    attack_vector: AttackVector,
    attack_complexity: AttackComplexity,
    privileges_required: PrivilegesRequired,
    user_interaction: UserInteraction,
    scope: Scope,
    confidentiality: Confidentiality,
    integrity: Integrity,
    availability: Availability
) -> Self
[src]

Constructor

Trait Implementations

impl CVSSScore for V3Vector[src]

fn temporal_score(&self) -> Score[src]

TemporalScore = Roundup ( BaseScore × ExploitCodeMaturity × RemediationLevel × ReportConfidence)

impl Debug for V3Vector[src]

impl Display for V3Vector[src]

impl FromStr for V3Vector[src]

type Err = ParseError

The associated error which can be returned from parsing.

impl PartialEq<V3Vector> for V3Vector[src]

impl StructuralPartialEq for V3Vector[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.