Prove parity cell: secret-egress taint floor on Codex
Your AI's guard dog to stop it from going rogue.
Brought to you by:
doberman
Originally created by: fu351
Originally owned by: jasperdingg
The parity matrix shows secret-egress taint floor proven on Claude Code and the MCP proxy, but ◻ (not yet proven) on Codex. The guarantee: once a session has read a secret, a later egress that the per-call floor would let pass gets raised to AUTH/BLOCK. The Codex adapter runs the same decision spine, so this is real and mirror-able — it just needs a test.
What to do
tests/unit/test_hosthook_taint_floor.py (see test_tainted_session_egress_is_blocked_in_strict). It records taint, then asserts a later egress is escalated.tests/unit/test_hosthook_codex_taint_floor.py) driving doberman.hosthooks.codex.evaluate_pre with a captured-shape Codex payload (tests/fixtures/codex/pre_bash.json is a good base — tool_name: "Bash", string command). Record the secret via the post path, then assert the egress is raised.python
@pytest.mark.guarantee("secret-egress-taint-floor", host="codex")python -m tools.parity.generate_parity (CI's --check will fail if you skip this).The matrix cell flips to ✅ automatically once the marked test is collected. Small, self-contained, and it makes a real Codex guarantee provable.
Originally posted by: jasperdingg
I'll take this one, will open PR soon.
Originally posted by: fu351
Assigned to you. You've built a whole shelf of these parity cells now (#374, [#377], [#395]), so you know the shape cold. The Codex taint-floor row in
docs/PARITY.mdis still ◻ — the cell to prove is: a session that read a secret gets a raised floor on egress. Shout on the thread if the fixture setup fights you.Related
Tickets:
#377Tickets:
#395