pub struct Anomaly {
pub severity: Severity,
pub code: &'static str,
pub kind: AnomalyKind,
pub note: String,
}Expand description
A VSS forensic anomaly: an observation graded by severity, with a stable code
and note derived from its AnomalyKind so they cannot drift.
Fields§
§severity: SeveritySeverity, derived from kind.
code: &'static strStable machine-readable code, derived from kind.
kind: AnomalyKindThe classified anomaly.
note: StringHuman-readable note, derived from kind.
Implementations§
Source§impl Anomaly
impl Anomaly
Sourcepub fn new(kind: AnomalyKind) -> Self
pub fn new(kind: AnomalyKind) -> Self
Build an Anomaly, deriving severity/code/note from kind.
Sourcepub fn to_finding(&self, source: Source) -> Finding
pub fn to_finding(&self, source: Source) -> Finding
Assemble the canonical Finding, adding the FILETIME-derived timestamps
the Observation trait cannot carry on its own.
Trait Implementations§
impl Eq for Anomaly
Source§impl Observation for Anomaly
impl Observation for Anomaly
Source§fn severity(&self) -> Option<Severity>
fn severity(&self) -> Option<Severity>
Severity, or
None if the analyzer deliberately does not grade this kind.Source§fn category(&self) -> Category
fn category(&self) -> Category
Analytical lens; defaults to
Category::from_code of Observation::code.
Override when a code’s keyword classification is wrong.Source§fn subjects(&self) -> Vec<SubjectRef>
fn subjects(&self) -> Vec<SubjectRef>
Non-disk subjects this kind is about (default: none).
Source§fn mitre(&self) -> &'static [&'static str]
fn mitre(&self) -> &'static [&'static str]
MITRE ATT&CK technique ids this kind is consistent with (default: none).
Source§fn confidence(&self) -> Option<Confidence>
fn confidence(&self) -> Option<Confidence>
Heuristic confidence, if inferential (default: none).
impl StructuralPartialEq for Anomaly
Auto Trait Implementations§
impl Freeze for Anomaly
impl RefUnwindSafe for Anomaly
impl Send for Anomaly
impl Sync for Anomaly
impl Unpin for Anomaly
impl UnsafeUnpin for Anomaly
impl UnwindSafe for Anomaly
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
Mutably borrows from an owned value. Read more