#[non_exhaustive]pub enum Category {
Integrity,
Structure,
Residue,
Provenance,
History,
Concealment,
Threat,
}Expand description
The forensic lens a finding belongs to — the analytical category, not a
severity. Fine-grained threat taxonomy (C2, ransomware, injection) lives in
the finding’s code and MITRE refs, not in new categories.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Integrity
Integrity / authenticity (CRC, checksum, image completeness).
Structure
Structural contradiction (overlap, out-of-bounds, internal mismatch).
Residue
Residue / recoverability (deleted entries, slack, hidden data).
Provenance
Provenance / attribution (tool, OS, era, vendor fingerprints).
History
History (resize, move, clone, format — the medium’s biography).
Concealment
Concealment / anti-forensics (hidden flags, wiping, misdirection).
Threat
Threat — malicious code or behavior (bootkits, rootkits, injection, C2/beaconing, ransomware indicators).
Implementations§
Source§impl Category
impl Category
Sourcepub fn from_code(code: &str) -> Category
pub fn from_code(code: &str) -> Category
Classify a stable finding code into a coarse Category by keyword.
A pragmatic, scheme-agnostic default so analyzers need not hand-map every
anomaly variant; an analyzer overrides Observation::category for the
codes where this heuristic is wrong (e.g. overloaded BOOT prefixes).