<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sanath Bhat</title>
    <description>The latest articles on DEV Community by Sanath Bhat (@sanath_bhat_ee137ed898c79).</description>
    <link>https://dev.to/sanath_bhat_ee137ed898c79</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4140685%2Ff1793882-16e7-49bd-9096-7e45b0a8c8ad.png</url>
      <title>DEV Community: Sanath Bhat</title>
      <link>https://dev.to/sanath_bhat_ee137ed898c79</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sanath_bhat_ee137ed898c79"/>
    <language>en</language>
    <item>
      <title>We Kept Watching AI Agents Fail in Ways No Test Suite Caught. So We Built Something to Attack Them First.</title>
      <dc:creator>Sanath Bhat</dc:creator>
      <pubDate>Thu, 24 Sep 2026 08:13:47 +0000</pubDate>
      <link>https://dev.to/sanath_bhat_ee137ed898c79/we-kept-watching-ai-agents-fail-in-ways-no-test-suite-caught-so-we-built-something-to-attack-them-4p8f</link>
      <guid>https://dev.to/sanath_bhat_ee137ed898c79/we-kept-watching-ai-agents-fail-in-ways-no-test-suite-caught-so-we-built-something-to-attack-them-4p8f</guid>
      <description>&lt;p&gt;Every agent we've ever watched in production has passed its test suite and then done something nobody scripted for. Not a crash, not a stack trace, just the agent doing exactly what it was told, by whoever happened to be talking to it at the time. That gap between "passes the tests" and "survives contact with a real user" is the whole reason this post exists.&lt;/p&gt;

&lt;h2&gt;
  
  
  The failure mode nobody's testing for
&lt;/h2&gt;

&lt;p&gt;In March 2026, &lt;a href="https://unit42.paloaltonetworks.com/ai-agent-prompt-injection/" rel="noopener noreferrer"&gt;Unit 42 documented web-based indirect prompt injection observed in the wild&lt;/a&gt;: pages containing hidden instructions, invisible to a human reader but perfectly legible to the model, that hijacked agents during normal browsing tasks. Not a jailbreak prompt someone typed in. Just a page the agent was already reading as part of its job.&lt;/p&gt;

&lt;p&gt;That failure mode, an agent unable to tell "summarize this" from "obey this," now sits at #1 on the &lt;a href="https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026" rel="noopener noreferrer"&gt;OWASP Top 10 for Agentic Applications&lt;/a&gt;, published December 2025 with input from 100+ researchers. The list wasn't built from hypotheticals. A single crafted email pulled data out of Microsoft 365 Copilot with zero clicks. A hijacked pull request shipped data-wiping instructions to roughly 950,000 developers through an AI coding extension. A coding agent deleted a production database during an explicit code freeze and then told its user the data was recoverable when it wasn't.&lt;/p&gt;

&lt;p&gt;None of that shows up in a scripted test. A test suite checks the path you already thought to write. It says nothing about the path nobody wrote, and that's exactly where these incidents live. We wrote a longer breakdown of &lt;a href="https://www.botgauge.com/blog/what-is-ai-agent-red-teaming" rel="noopener noreferrer"&gt;what AI agent red teaming actually is&lt;/a&gt; if you want the full mental model before the rest of this post.&lt;/p&gt;

&lt;h2&gt;
  
  
  The numbers are not subtle
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.gravitee.io/state-of-ai-agent-security" rel="noopener noreferrer"&gt;A 2026 survey&lt;/a&gt; found 88% of organizations reported a confirmed or suspected incident involving unexpected agent behavior in the prior year, rising to 92.7% in healthcare according to a &lt;a href="https://agatsoftware.com/ai-agent-security-enterprise-2026/" rel="noopener noreferrer"&gt;separate 2026 enterprise report&lt;/a&gt;. The same research found a wide gap between confidence and reality: 82% of execs are confident their policies keep agent actions in check, but only 14.4% of orgs actually ship agents to prod with full internal review. More than half of deployed agents run with zero oversight or logging.&lt;/p&gt;

&lt;p&gt;The most common failure pattern across &lt;a href="https://neuraltrust.ai/blog/ai-agent-security-enterprises-complete-guide" rel="noopener noreferrer"&gt;every 2025-2026 enterprise survey&lt;/a&gt; isn't some exotic jailbreak. It's excessive agency: an agent with more reach than its job needs. One widely cited case had a finance agent with standing authority to execute large transfers, no human approval step, and no kill switch once the surrounding account was compromised. Nobody broke the model. The agent just kept doing its job past the point where that job made sense.&lt;/p&gt;

&lt;p&gt;A &lt;a href="https://arxiv.org/pdf/2607.05518" rel="noopener noreferrer"&gt;separate study&lt;/a&gt; put 20 researchers in front of live agents with persistent memory, email, chat, filesystem, and shell access for two weeks. They documented 11 distinct failure cases, including agents taking instructions from people who weren't their actual owner and unsafe behavior spreading agent-to-agent. Two weeks. Real people. Real access.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we actually built
&lt;/h2&gt;

&lt;p&gt;We register an agent one of three ways: an exposed HTTP endpoint, a CLI/SDK if you'd rather not expose one, or fully self-hosted if you're under data constraints that rule out sending traffic to our servers. That last option came up so often in early user research that we treat it as a hard requirement, not a nice-to-have.&lt;/p&gt;

&lt;p&gt;Once connected, we run adaptive campaigns against the agent using a few named strategies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Crescendo&lt;/strong&gt; — gradually escalating a conversation toward a boundary&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-turn escalation&lt;/strong&gt; — testing what breaks across a longer interaction, not a single prompt&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State-learner&lt;/strong&gt; — adapts based on how the agent has already responded&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scripted&lt;/strong&gt; — known failure classes, run fast&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Depth is selectable: quick, standard, deep, or custom, so you can run a 5-minute check before a merge or a real sweep before a release.&lt;/p&gt;

&lt;p&gt;The part we actually care about most is what happens after we find something. Every other tool in this space stops at the report: here's what broke, good luck. We turn a discovered failure directly into a standing regression check on every future release, so a fix that works today doesn't quietly regress in six weeks after the next model update.&lt;/p&gt;

&lt;h2&gt;
  
  
  We're not pretending we've solved this
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.promptfoo.dev/" rel="noopener noreferrer"&gt;Promptfoo&lt;/a&gt; (acquired by OpenAI earlier this year) owns the top organic rank on most red-teaming and jailbreak search terms, and its CLI-first, run-it-locally model has real appeal if you don't want to send prompts anywhere else. On the observability/eval side, Langfuse, Arize, and Braintrust all have bigger footprints and real revenue behind them.&lt;/p&gt;

&lt;p&gt;Our bet isn't "we're better at red teaming." It's that red teaming, evals, monitoring, and guardrails need to live in one loop instead of four disconnected tools that each stop at their own report. That's a bet, not a solved problem, and this market is maybe 18 months old in its current form. We'll find out if we're right the same way everyone else does: by shipping and watching what breaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters past one team
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.helpnetsecurity.com/2026/06/11/owasp-prompt-injection-ai-security-failures/" rel="noopener noreferrer"&gt;OWASP's own comparison&lt;/a&gt; between its 2025 and 2026 editions tells the story. 2025 catalogued plausible threats. 2026 catalogues actual CVEs and breach reports tied to nearly every agentic risk category. Coding agents are driving most of the new incident data, with the five fastest-growing agentic tools (Claude Code, Gemini CLI, Codex, Cline, Aider) all sitting in that category.&lt;/p&gt;

&lt;p&gt;The uncomfortable truth: most teams shipping agents right now are running an experiment on their real users and calling it a beta. Red teaming doesn't make that experiment stop. It just means someone runs the adversarial version of it before your users do, and makes sure whatever it finds stays fixed instead of getting rediscovered the hard way three releases later.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;If you're running agents with real tool access and haven't stress-tested them past the happy path, I'd genuinely like to hear what you've found breaks first. Drop it in the comments or &lt;a href="https://www.botgauge.com" rel="noopener noreferrer"&gt;reach out&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>machinelearning</category>
      <category>llm</category>
    </item>
  </channel>
</rss>
