pub struct ArtifactDescriptor {Show 21 fields
pub id: &'static str,
pub name: &'static str,
pub artifact_type: ArtifactLocation,
pub hive: Option<HiveTarget>,
pub key_path: &'static str,
pub value_name: Option<&'static str>,
pub file_path: Option<&'static str>,
pub scope: DataScope,
pub os_scope: OsScope,
pub decoder: Decoder,
pub meaning: &'static str,
pub mitre_techniques: &'static [&'static str],
pub fields: &'static [FieldSchema],
pub retention: Option<&'static str>,
pub triage_priority: TriagePriority,
pub related_artifacts: &'static [&'static str],
pub sources: &'static [&'static str],
pub evidence_strength: Option<EvidenceStrength>,
pub evidence_caveats: &'static [&'static str],
pub volatility: Option<VolatilityClass>,
pub volatility_rationale: &'static str,
}Expand description
A single entry in the forensic artifact catalog. Fully const-constructible
so it can live in a static.
Fields§
§id: &'static strShort machine-readable identifier, e.g. "userassist".
name: &'static strHuman-readable display name.
artifact_type: ArtifactLocationWhat kind of artifact location this is.
hive: Option<HiveTarget>Which registry hive, or None for non-registry artifacts.
key_path: &'static strRegistry key path relative to the hive root (empty for non-registry).
value_name: Option<&'static str>Specific registry value name, if targeting a single value.
file_path: Option<&'static str>Filesystem path, for file/directory artifacts.
scope: DataScopeUser vs System vs Mixed scope.
os_scope: OsScopeMinimum OS version required.
decoder: DecoderHow to decode the raw data.
meaning: &'static strForensic meaning / significance of this artifact.
mitre_techniques: &'static [&'static str]MITRE ATT&CK technique IDs.
fields: &'static [FieldSchema]Schema of the decoded output fields.
retention: Option<&'static str>How long this artifact typically persists before being overwritten or rotated.
None means indefinite (registry keys, most files until explicitly deleted).
triage_priority: TriagePriorityLive triage collection priority.
IDs of related catalog descriptors useful for cross-correlation.
sources: &'static [&'static str]Authoritative external references for this artifact (SANS, Harlan Carvey, Brian Carrier, Red Canary, Microsoft docs, MITRE ATT&CK, etc.). Every production entry should have at least one URL.
evidence_strength: Option<EvidenceStrength>How strongly this artifact proves a fact in isolation, or None if not yet assessed.
evidence_caveats: &'static [&'static str]Known caveats, edge cases, or false-positive scenarios for this artifact.
volatility: Option<VolatilityClass>How quickly this artifact is overwritten or lost, or None if not yet assessed.
volatility_rationale: &'static strOne-line rationale for the volatility classification.
Trait Implementations§
Source§impl Clone for ArtifactDescriptor
impl Clone for ArtifactDescriptor
Source§fn clone(&self) -> ArtifactDescriptor
fn clone(&self) -> ArtifactDescriptor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ArtifactDescriptor
Source§impl Debug for ArtifactDescriptor
impl Debug for ArtifactDescriptor
impl Eq for ArtifactDescriptor
Source§impl PartialEq for ArtifactDescriptor
impl PartialEq for ArtifactDescriptor
Source§fn eq(&self, other: &ArtifactDescriptor) -> bool
fn eq(&self, other: &ArtifactDescriptor) -> bool
self and other values to be equal, and is used by ==.