Prompt injection at the tool boundary
- Scope
- 5 weeks, live staging
- Stack
- Python harness, OpenTelemetry, GitHub Actions
A support agent with write access to the billing API was treating retrieved help-center articles as trusted context. Content in those articles could be edited by any partner with a docs seat.
Built a harness that treats every tool result as attacker-controlled and replays a corpus of injection payloads through the retrieval path. Each case is a test file, so a payload that works once becomes a permanent assertion.
Forty-three reproducible cases, four of them able to trigger a refund without user intent. The team moved billing calls behind a confirmation step and adopted the harness as a CI gate — it has blocked two regressions since.
We brought Blake in for a two-week review and kept him for the quarter. The harness he built is now the thing that tells us whether an agent change is safe to ship.