Your WAF Blocked Us, That Was The Exploit
Where
Main Stage
DEF CON 34
Duration
42 min
Shows how attacker-controlled text in WAF logs, Sentry errors and Datadog telemetry can steer AI coding agents into DNS changes, cross-agent takeover and data exfiltration.
Summary
The speakers argue that AI agents cannot separate data from instructions, so any untrusted text that reaches an agent's context, such as logs or error reports, can act as a command. They start with Sentry. Public DSNs embedded in front-end JavaScript let anyone submit an error event, and the message field accepts markdown that the Sentry MCP passes to the agent unchanged. A crafted error can therefore persuade a Claude Code session to run an attacker-chosen package. They extend the idea to Seer, Sentry's hosted agent. Injected breadcrumbs make Seer recommend installing a package, and Cursor trusts that recommendation more than raw input, so one agent compromises another.
The Cloudflare chain begins with a request that a managed WAF rule blocks. The payload sits in the user-agent header, which the MCP returns, while the body that triggered the block stays hidden. An agent reviewing blocked requests then treats the user-agent text as troubleshooting facts and used Cloudflare's own MCP tools to add a DNS record. No code ran on the victim machine. The speakers also describe a Claude sandbox escape: the egress proxy accepted a JWT that was not bound to a container, so an attacker-minted token allowed traffic to arbitrary domains. Anthropic has since fixed it. For persistence, they describe poisoning memory files, skills and MCP configuration, which existing EDR and WAF tooling would not flag.
Their takeaways are to limit which MCPs and external domains agents can reach, to treat all externally sourced data as contaminated, to enforce egress controls at runtime, to require human approval for high-risk actions, and to audit agent memory and config files for tampering.
Materials
Related talks
Main Stage·44 min
Dolev Taler · Mark Vaitsman
Shows how a one-click URL parameter, classic web bugs and gaps in AI guardrails chain into data theft from Microsoft Copilot and Atlassian Rovo.
Main Stage·19 min
Elad Meged
Shows how a project config file loaded before Gemini CLI's sandbox starts gave attackers host code execution in CI, and how to audit similar pre-task inputs.
Main Stage·38 min
Simon Maxwell-Stewart · Ryan Hausknecht
Shows how an attacker escapes the Python sandbox behind Microsoft Copilot Studio's code interpreter, then defeats the LLM guardrail that screens the code.


