Skip to content

5. Knowledge-as-code via forensicnomicon

Context

Browser forensics depends on a body of reference knowledge: which directories and marker files identify each browser and embedded-Chromium app, how each app embeds Chromium, the epoch offsets for WebKit and Core Data timestamps, SQLite and mozLz4 magic numbers, and per-artifact evidence descriptions. Embedding these tables inside the parsing engine would fork that knowledge from the rest of the fleet and let it drift.

Decision

Consume the fleet forensicnomicon catalog as the single source of that knowledge. browser-forensic-discovery uses browser_profiles (attribute_container, the Chromium and Firefox profile markers, AppKind); browser-forensic-core uses the timestamp epoch offsets and the evidence catalog (EvidenceStrength, evidence_for); browser-forensic-carve and browser-forensic-firefox use the SQLite and mozLz4 constants. The suite holds parsing logic; the catalog holds the facts.

Consequences

Reference facts update once, fleet-wide, in forensicnomicon, and every consumer picks them up on a version bump. New embedded-Chromium apps are recognized by cataloguing them there, not by editing the sweep. The suite takes a dependency on the catalog crate and its release cadence.

Status

Accepted.