pub struct RemediationItem {
pub package: String,
pub ecosystem: Ecosystem,
pub current: Vec<Version>,
pub advisories: Vec<String>,
pub action: Action,
pub reach: ReachTier,
pub repos: usize,
pub occurrences: usize,
pub max_severity: Severity,
pub kev: bool,
pub max_epss: Option<f32>,
pub max_cvss: Option<f32>,
}Expand description
One actionable remediation, derived from one or more VulnFindings that
share a target package. Computed from a FleetReport; never persisted in
scan output, so it carries its own ranking signals (max/any across the group)
to spare the report layer a re-join.
Fields§
§package: StringThe dependency to act on (crate name, or toolchain channel).
ecosystem: Ecosystem§current: Vec<Version>Distinct vulnerable versions present across the fleet, ascending.
advisories: Vec<String>Advisory ids this single action resolves, sorted.
action: Action§reach: ReachTierWorst-case reachability across the grouped advisories.
repos: usizeDistinct repos with a vulnerable occurrence.
occurrences: usizeTotal vulnerable occurrences covered.
max_severity: SeverityHighest severity in the group — primary ranking signal.
kev: boolAny grouped advisory is actively exploited (CISA KEV).
max_epss: Option<f32>Highest EPSS in the group, when any is enriched.
max_cvss: Option<f32>Highest CVSS base score in the group, when any is known.
Trait Implementations§
Source§impl Clone for RemediationItem
impl Clone for RemediationItem
Source§fn clone(&self) -> RemediationItem
fn clone(&self) -> RemediationItem
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RemediationItem
impl Debug for RemediationItem
Source§impl<'de> Deserialize<'de> for RemediationItem
impl<'de> Deserialize<'de> for RemediationItem
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for RemediationItem
impl PartialEq for RemediationItem
Source§fn eq(&self, other: &RemediationItem) -> bool
fn eq(&self, other: &RemediationItem) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for RemediationItem
impl Serialize for RemediationItem
impl StructuralPartialEq for RemediationItem
Auto Trait Implementations§
impl Freeze for RemediationItem
impl RefUnwindSafe for RemediationItem
impl Send for RemediationItem
impl Sync for RemediationItem
impl Unpin for RemediationItem
impl UnsafeUnpin for RemediationItem
impl UnwindSafe for RemediationItem
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more