Open-source tool / maintained
Inspect the record of an agent session
Agent-forensics reads existing local session logs and produces a brief, timeline, and hash-chained reconstruction. It runs offline without a model.
The contribution
Format adapters, deterministic review rules, evidence verification, and a readable account of what the logs establish. The difficult part is preserving the difference between an action requested and an outcome supported by a result.
Run a synthetic example
git clone https://github.com/unauthdev/agent-forensics.git
cd agent-forensics
python3 -m forensics forensics/fixtures/synthetic-incident-claude.jsonl \
--brief --out /tmp/agent-forensics-demo
The fixture is synthetic. Its commands are parsed as data; this example does not execute them. Inspect brief.md, timeline.md, and transcript.jsonl in the output directory.
What to verify
- File reads and requested changes are distinguished.
- Denied, failed, missing, and unknown results remain visible.
- Boundary indicators describe command or path matches, rather than independently observed traffic.
- A changed transcript fails verification; the chain does not authenticate the original recorder.
The controlled benchmark covers benign URL text, denied writes, failed commands, cancellations, missing results, and unrecognized fields. These are regression cases, not an estimate of detection accuracy on real incidents.
Limits
Unlogged activity remains invisible. Command matching does not fully interpret shell programs. Missing schemas and partial logs limit reconstruction. The separate agent evidence format experiment explores recording; this tool reads artifacts already present.