01
Doberman — we reproduced every number, and the honest one is 8%
A runtime gate for agent tool calls: pip install doberman-core, Apache-2.0, Python 3.11+, deployable as an MCP proxy wrapping tool servers or as native pre-execution hooks into Claude Code, Codex CLI and OpenClaw. Every call resolves to exactly one verdict before it runs — PASS, AUTH (pause for a human), BLOCK — with "fail closed" and "raise-only learning" stated as non-negotiable. Yesterday we put it top of the slate for its documentation. Today it stays there for a better reason: the documentation is true. From a cold clone at commit 7cd8c91, pip install -e ".[dev]" then python -m tests.benchmarks.run --corpus reproduces the published table cell for cell. Secrets 1.00 TPR on 7 rows. Destructive 0.80 on 10. Encoded/smuggling 0.82 on 79. Exfiltration 0.375 on 8. Natural-language injection 0.00 on 8 — zero detected, exactly as their docs say. Overall 0.741 across 112 attacks, false-positive rate 0.00 on 25 benign rows, precision 1.00. This is the first pick this newsletter has carried whose vendor number we checked ourselves, and it held.
What the reproduction adds is the part a reader would not get from the table: how wide the gap is between "caught" and "stopped." Overall tpr_strict — BLOCK only, no human involved — is 0.080. In the encoded category, 65 of 79 attacks are detected and zero are blocked. The synthetic before/after run is starker still: with no guardrail, 3 of 3 attacks execute; with Doberman, 3 of 3 are mitigated and 0 of 3 are blocked, so attacks_stopped reads 1.00 and attacks_stopped_strict reads 0.00. The same run computes what happens to that if the operator is tired — asr_under_fatigue 0.80, and effective_asr_approve 1.00, meaning a human who approves everything gets exactly the security of having installed nothing. Doberman ships that metric itself. Set it beside the 66.3% approval accuracy across 409,000 clicks from our 08-07 edition and Anthropic's own figure that users approve 97% of permission prompts (08-10), and the honest reading of a 0.74 detection rate is closer to a tenth of that in practice. None of this is a knock on the project — it is the project's own framing, published before anyone asked, and the reason it is still the top pick is that we could only write this paragraph because they made it reproducible.
Reach for it if agents hold credentials against something you care about and your current control is a permission prompt at 4pm. Delete the hand-rolled regex denylist in your hook script, and delete the belief that an approval dialog is a control rather than a queue. Tradeoffs: tpr_strict 0.08 means almost all of the protection is contingent on a human actually reading and refusing; natural-language injection scores a flat 0.00 and is a structural gap in the deterministic layer, not a tuning problem; the AgentDojo suite needs an operator-supplied package, so only synthetic and corpus reproduce from a cold clone, and the AgentDojo results table in the docs is still an empty placeholder; the corpus is 137 rows with synthetic payloads authored by the same project, so this measures the engine against its own threat model rather than against the field; 210 stars, 23 forks and zero watchers with 43 open issues; PyPI still reports no license field while the repo is plainly Apache-2.0; and the repo was pushed at 10:18 UTC this morning, so pin the version you measured.