pub enum OlecfAnomaly {
OrphanedDirEntry(OrphanDetail),
FreeSectorResidue {
sid: u32,
space: &'static str,
offset: u64,
residue_len: usize,
},
SlackResidue {
sid: u32,
name: String,
space: &'static str,
slack_len: usize,
},
StructureAnomaly(StructureIssue),
RootClsid {
sid: u32,
name: String,
clsid: String,
create_time: u64,
modify_time: u64,
},
}Expand description
A forensic anomaly observed in an OLE Compound File. Each variant maps to a
stable, scheme-prefixed code (the published contract).
Variants§
OrphanedDirEntry(OrphanDetail)
OLECF-ORPHANED-DIR-ENTRY — a stream/storage entry unreachable from the
live root tree: deleted-stream metadata that survived.
FreeSectorResidue
OLECF-FREE-SECTOR-RESIDUE — a free FAT/mini-FAT slot whose backing
sector still holds non-zero bytes.
Fields
SlackResidue
OLECF-SLACK-RESIDUE — non-zero bytes past a stream’s declared size in
its final allocated (mini-)sector.
Fields
StructureAnomaly(StructureIssue)
OLECF-STRUCTURE-ANOMALY — a structural / tamper violation.
RootClsid
OLECF-ROOT-CLSID — the root/storage CLSID and the FILETIMEs CFB carries.
Implementations§
Source§impl OlecfAnomaly
impl OlecfAnomaly
Sourcepub fn mitre(&self) -> &'static [&'static str]
pub fn mitre(&self) -> &'static [&'static str]
MITRE ATT&CK techniques this anomaly is consistent with (never a verdict).
Sourcepub fn to_finding(&self, src: Source) -> Finding
pub fn to_finding(&self, src: Source) -> Finding
Convert to a canonical Finding. Dynamic codes carry runtime detail, so
this uses the forensicnomicon::report builder directly.
Trait Implementations§
Source§impl Clone for OlecfAnomaly
impl Clone for OlecfAnomaly
Source§fn clone(&self) -> OlecfAnomaly
fn clone(&self) -> OlecfAnomaly
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 OlecfAnomaly
impl Debug for OlecfAnomaly
impl Eq for OlecfAnomaly
Source§impl PartialEq for OlecfAnomaly
impl PartialEq for OlecfAnomaly
Source§fn eq(&self, other: &OlecfAnomaly) -> bool
fn eq(&self, other: &OlecfAnomaly) -> bool
self and other values to be equal, and is used by ==.