Inspiration
Agentic AI produces a transcript - a self-reported story of what the model says it did. In DFIR, nobody can act on that: not an incident-response consultancy facing a regulator or opposing counsel, not an expert witness under oath. The gap is structural - the model's narrative and the evidentiary record are the same object, so nothing checks the narrative. Unchained separates them. The thesis: agentic AI in high-consequence domains is only sellable when every action it took can be checked by someone who trusts neither the agent, the vendor, nor the transcript.
What it does
GPT-5.6 chooses where to look; deterministic code controls what may run and verifies exactly what was executed and cited.
Prove it yourself in 60 seconds - $0, no API key:
git clone https://github.com/3sk1nt4n/Unchained.git; cd Unchained
.\setup.ps1
sentinel verify examples/public-run-complete --require-complete --require-live-gpt56
That prints VALID - 37 artifacts, 194 hash-chained audit entries: byte-exact offline re-verification of a real GPT-5.6 Sol COMPLETE investigation that ships in this repo (run 20260721T001718Z-f0cd5641): 31/31 typed Volatility tools across 20 adaptive turns on the public 2 GiB DC01 domain-controller memory image, 4 adjudicated findings (1 CONFIRMED / 2 NEEDS-REVIEW / 1 UNSUPPORTED) after a fresh-context downgrade-only review - $2.92, in 9m39s, custody intact.
Two more retained GPT-5.6 runs ship beside it - we keep PARTIAL and INVALID states rather than cherry-pick:
examples/public-run-partial(gpt-5.6-luna): 14/14 typed tools, then an honest stop at the hard budget ("MAX_TOOL_CALLS: reservation would reach 14 > 13") - PARTIAL, exit code 3, $1.16, 55.5 s, verifies VALID (20 artifacts / 62 audit entries) on current code.docs/runs/sol-capped-dc01-opening.json(gpt-5.6-sol): 6/6 opening tools executed with provider request/response IDs retained; the 7th was refused before dispatch ("reservation would reach 7 > 6", duration_ms 0, "No successful forensic execution is claimed") - $0.39 under a $1.00 cap.
How it works:
- Code profiles the evidence with zero model calls and seals SHA-256 custody before GPT-5.6 sees anything.
- GPT-5.6 opens with up to twelve typed tools, validated all-or-none, executed in parallel; later turns allow one typed action each.
- Only a typed
finish_investigation(status="DONE")can end a case - prose has no terminal authority. - A fresh-context reviewer may preserve or downgrade findings, never promote.
- Deterministic code resolves exact byte spans, renders the report and an inert no-JS viewer, seals a content-addressed bundle, and re-verifies the whole lifecycle offline.
- Exactly 4 fixed GPT-5.6 requests plus one per adaptive action - never an unbounded loop.
- Cross-OS proof: the Linux lanes ran live on 2026-07-21, and the Windows-sealed bundle strict-verifies VALID inside the no-network Linux container - byte-exact.
Honest limits, kept on purpose: one public case on one flagship OS route; no measured competitive benchmark (deliberately cut - no unmeasured claims); receipts prove execution and citation support, not forensic truth; bundles are locally sealed (external anchoring is future work).
How we built it
Codex Session ID: 019f61e5-5755-7a02-adb4-618d32baab27 (core build; /feedback uploaded). Codex was the primary implementation and adversarial-review collaborator: evidence lifecycle, Responses API adapter, typed execution boundary, caps, typed-DONE-v2 protocol, forced serializer, exact evidence spans, downgrade-only review, renderers, the independent offline verifier, CLI, Docker isolation, and the 378-test offline gate (ruff clean). A second Codex thread (019f76f3-a19f-71d1-81b2-eed6305857f6) carried the Docker/README/release work. The human owned the product thesis, the authority split, the DFIR testbed and DC01 case, the hard caps, the scope cuts, and every public claim. At runtime, GPT-5.6 Sol is both the investigator and the reviewer; GPT-5.6 Terra is the cheap rehearsal lane behind an explicit launch card and key step.
Challenges we ran into
- Token throughput vs. rich context. New-account TPM ceilings (~200k/min) vs ~270k-token serializer packets meant 429s that end runs as honest PARTIALs, never silent retry storms. The shipped COMPLETE run finished within the stock HEAVY caps ($2.92 of $10; ~395,555 of 400,000 tokens); headroom overrides are documented for richer runs.
- Fail-closed, proven in the receipts. Caps fire before dispatch: the retained receipt shows a 7th tool refused ("reservation would reach 7 > 6", duration_ms 0, "No successful forensic execution is claimed"), and the shipped PARTIAL bundle repeats it on current code ("reservation would reach 14 > 13").
- All-or-none opening validation. One unknown, duplicate, or malformed call rejects the whole opening - no valid-looking subset ever runs. Harder than accepting best-effort output, and worth it.
- Terminal authority. Prose, Markdown, and empty output cannot end a case; only the typed finish_investigation(status="DONE") can.
- Honest census. Retained runs span COMPLETE, PARTIAL, and INVALID - all kept and labeled, never cherry-picked.
Accomplishments that we're proud of
- 378/378 tests pass in 22.5s, ruff clean (2026-07-21, CPython 3.11.9).
- Three authentic retained GPT-5.6 runs on real evidence, led by the shipped COMPLETE flagship: 31/31 typed tools, 20 turns, 4 adjudicated findings, custody match.
- Byte-exact offline verification: strict verify → VALID, 37 artifacts / 194 audit entries (PARTIAL bundle: VALID, 20 / 62) - no network, no key.
- Measured, capped spend on every run: $2.92 / $1.16 / $0.39 - each under its hard ceiling.
- A $0 judge lane, an explicit launch-card + key spend gate, a bounded 4-plus-one-per-action invocation budget, and an inert sealed deliverable (static no-JS viewer + authoritative report + content-addressed manifest).
What we learned
- The valuable line is not "an LLM can call forensic tools" - it is drawing the authority split sharply enough to inspect.
- Saying what a proof does NOT establish is as important as saying what it does.
- Fail-closed beats optimistic: refusing a tool before dispatch produced a more trustworthy artifact than any best-effort completion.
- Typed terminal contracts turn "did it finish?" from a judgment call into a checkable fact.
- Token budgeting is a first-class design constraint - TPM ceilings shape the protocol, not just the bill.
- Monotonic review is cheap, honest safety: a reviewer that can only preserve or downgrade can never inflate.
What's next for Unchained
Having very shiny UX to get more cyber folks to DFIR field and have them use it in all SOC and IR centers!!!
Generalize the pattern beyond DFIR - security testing, compliance review, financial operations: model chooses bounded strategy → code executes typed authority → exact outputs and citations retained → a monotonic reviewer reduces claims → deterministic code renders and verifies the deliverable.
Unchained is not an LLM pretending to be evidence. It is GPT-5.6 directing a bounded investigation whose actions, citations, custody, and final report can be checked independently.


Log in or sign up for Devpost to join the conversation.