Injection benchmark
Twelve independently-written prompt injections, each attacking the same alert through a different route. Same model, same database state, same alert, same payloads — the only variable is the memory-integrity gate.
- Generated:
- 2026-08-17
- Triage model:
- claude-haiku-4-5 via anthropic_api
- Embeddings:
- amazon.titan-embed-text-v2:0
- Alert under attack:
- AL-9042 — CVE-2024-XXXXX remote code execution attempt
- Source:
- 185.220.101.44
- Wall clock:
- 113.1s, live calls, nothing stubbed
Reproduce: python -m demo.benchmark
5 of 12 payloads failed to flip the verdict even with no gate at all — a current model does sometimes resist an injection unaided. That inconsistency is the problem, not a mark against the benchmark: prompt-level resistance is a probabilistic property of one model at one moment, it varies with phrasing, and it regresses the day you change models or the attacker rewords the payload.
The retrieval row is the deterministic one. Without the gate the poisoned belief was retrieved and cited as decision evidence 12 times out of 12; with the gate, 0. The belief never reaches the model, so there is nothing for the model to get right or wrong.