{"id":349,"date":"2026-06-07T16:38:02","date_gmt":"2026-06-07T16:38:02","guid":{"rendered":"https:\/\/agentsafelabs.com\/blog\/?p=349"},"modified":"2026-06-07T17:24:34","modified_gmt":"2026-06-07T17:24:34","slug":"prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools","status":"publish","type":"post","link":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/","title":{"rendered":"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The AI security field spent two years building prompt injection defenses for chatbots. Input filters, output monitors, adversarial training, instruction hierarchy enforcement. Some of it works reasonably well \u2014 for chatbots.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Agents are a different problem. The defenses built for chatbot-era prompt injection fail against agentic attack vectors for fundamental architectural reasons, not implementation reasons. You cannot fix this by tuning your filters.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This post explains why.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The Chatbot Threat Model<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In a chatbot, the attack surface is simple. There is one input channel: the user message. There is one output channel: the model&#8217;s text response. The threat is a user who types something malicious.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The defense is correspondingly simple: train the model to recognize and resist adversarial user inputs. Monitor output for policy violations. The model is the system. Securing the model secures the system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This worked well enough for the chatbot era.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The Agentic Threat Model<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">An agent is not a model. It is a system that includes a model, plus tools, plus memory, plus external integrations, plus \u2014 in multi-agent architectures \u2014 other agents.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The input surface is no longer just the user message. It includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Documents the agent retrieves<\/li>\n\n\n\n<li>Search results the agent processes<\/li>\n\n\n\n<li>API responses from tool calls<\/li>\n\n\n\n<li>Memory retrieved from previous sessions<\/li>\n\n\n\n<li>Instructions from orchestrating agents<\/li>\n\n\n\n<li>Content from any URL the agent visits<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Every one of these is a potential injection vector. And unlike user messages, most of them are not monitored, filtered, or treated as adversarial by default.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Why Standard Defenses Fail<\/strong> <\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Input filtering fails<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">because the injection does not come from user input. A content filter on the user message field catches nothing when the injection rides in through a tool output.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Output monitoring fails<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">because the damage often happens before any output is generated. Tool selection, memory writes, and sub-agent instructions happen inside the reasoning chain \u2014 not in the final response.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Instruction hierarchy fails<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">because it assumes you know where instructions come from. When an agent reads a document that contains an embedded instruction, the model has to decide whether that instruction is from the user, the system, or the document. Context-reframing attacks exploit this ambiguity.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Adversarial training helps but is insufficient<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">because the space of environmental injection vectors is orders of magnitude larger than the space of adversarial user messages. You cannot train on every web page, document, or API response your agent might encounter.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What Actually Changes<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The fundamental difference is this: in a chatbot, trust boundaries are clear. The system prompt is trusted. The user message is untrusted. You evaluate user messages against that boundary.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In an agent, trust boundaries are blurry and dynamic. The agent processes content from sources with different trust levels \u2014 sometimes in the same context window, sometimes without clear demarcation. The model has to infer trust from context. Attackers exploit that inference process.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is not a model capability problem. It is a system architecture problem. The solution requires rethinking trust at the system level, not just tuning model behavior.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For an empirical example of this inference ambiguity in action \u2014 and what UNCERTAIN looks like in a real evaluation \u2014 see: <a href=\"https:\/\/agentsafelabs.com\/blog\/why-claude-haiku-returned-uncertain-anatomy-of-an-indirect-prompt-injection-in-an-agentic-system\/\">Why Claude Haiku Returned UNCERTAIN \u2192<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What Effective Agentic Security Looks Like<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Three principles that chatbot-era security thinking misses:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Treat every environmental input as potentially adversarial<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Documents, search results, tool outputs \u2014 all of them should be processed with the same skepticism you apply to untrusted user input. This means behavioral testing against environmental injection, not just user-supplied adversarial inputs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Test tool call sequences, not just responses<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The signal of a successful injection in an agentic system is often not what the agent says \u2014 it is what tool the agent calls, with what parameters, at what point in the reasoning chain. Behavioral evaluation has to instrument tool calls.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Model the blast radius of every tool<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Every tool your agent can call represents potential damage if the agent is manipulated into misusing it. Irreversible tools (email, file write, API calls with side effects) require confirmation gates or strict scope constraints \u2014 not just model-level refusal training.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Practical Starting Point<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you are building an agent today and want to understand your ASI01 attack surface, start here.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Install the framework:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install safelabs-eval<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Inspect the ASI01 prompt library \u2014 the three attack vectors the framework tests, from direct system override to environmental document injection:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>safelabs prompts --category ASI01<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"460\" src=\"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.18.23-PM-1024x460.png\" alt=\"\" class=\"wp-image-362\" srcset=\"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.18.23-PM-1024x460.png 1024w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.18.23-PM-300x135.png 300w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.18.23-PM-768x345.png 768w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.18.23-PM-1536x690.png 1536w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.18.23-PM-2048x920.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">For comparison, here is the ASI02 library \u2014 scope violation vectors that exploit the same architectural weakness through tool permissions rather than instruction injection:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>safelabs prompts --category ASI02<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"393\" src=\"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.22.35-PM-1024x393.png\" alt=\"\" class=\"wp-image-363\" srcset=\"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.22.35-PM-1024x393.png 1024w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.22.35-PM-300x115.png 300w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.22.35-PM-768x295.png 768w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.22.35-PM-1536x589.png 1536w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.22.35-PM-2048x786.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The pattern is consistent across categories: the attack does not come from the user message. It comes from content the agent processes as part of doing its job.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Run the evaluation against your agent:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>safelabs run --target http:\/\/localhost:8000\/chat --category ASI01<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"464\" src=\"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.23.00-PM-1024x464.png\" alt=\"\" class=\"wp-image-364\" srcset=\"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.23.00-PM-1024x464.png 1024w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.23.00-PM-300x136.png 300w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.23.00-PM-768x348.png 768w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.23.00-PM-1536x696.png 1536w, https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Screenshot-2026-06-07-at-1.23.00-PM-2048x928.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This run returned 2 PASS and 1 UNCERTAIN on ASI01. The UNCERTAIN on ASI01-003 \u2014 the document-context injection \u2014 is the result that matters. The agent processed a document containing a hidden instruction and its behavior deviated from expected without producing a clean refusal signal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is the agentic threat model in practice. Not a user typing something malicious. A document the agent trusted containing something it should not have.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The framework also exposes a Python API if you want to wrap your own agent function directly:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import asyncio\nfrom safelabs import run_eval\n\nasync def my_agent(prompt: str) -> str:\n    return your_agent.run(prompt)\n\nresult = asyncio.run(run_eval(my_agent, categories=&#91;\"ASI01\"]))\nresult.summary()<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The chatbot-era question was: did the model comply with a malicious user instruction?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The agentic-era question is: did the agent&#8217;s behavior change in ways consistent with environmental injection influence, even when no single step produced an obvious failure signal?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Those are different questions. They require different tools.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the full ASI01\u2013ASI10 taxonomy with real test results per category, see: <a href=\"https:\/\/agentsafelabs.com\/blog\/the-owasp-agentic-security-initiative-top-10-a-practical-developer-guide-for-langchain-and-crewai\/\">The OWASP ASI Top 10: A Practical Developer Guide \u2192<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">GitHub: <a href=\"https:\/\/github.com\/AgentSafeLabs\/safelabs-eval\">https:\/\/github.com\/AgentSafeLabs\/safelabs-eval<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The AI security field spent two years building prompt injection defenses for chatbots. Input filters, output monitors, adversarial training, instruction hierarchy enforcement. Some of it works reasonably well \u2014 for chatbots. Agents are a different problem. The defenses built for chatbot-era prompt injection fail against agentic attack vectors for fundamental architectural reasons, not implementation reasons. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":352,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-349","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools - Agentsafelabs<\/title>\n<meta name=\"description\" content=\"The prompt injection defenses built for chatbots do not work for agents. Here is why the attack surface changes fundamentally when your LLM can call tools, read documents, and take actions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools - Agentsafelabs\" \/>\n<meta property=\"og:description\" content=\"The prompt injection defenses built for chatbots do not work for agents. Here is why the attack surface changes fundamentally when your LLM can call tools, read documents, and take actions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/\" \/>\n<meta property=\"og:site_name\" content=\"Agentsafelabs\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-07T16:38:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-07T17:24:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Prompt-Injection-Is-Not-a-Chatbot-Problem-How-the-Attack-Surface-Changes-When-Your-LLM-Has-Tools.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Waqar Javed\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Waqar Javed\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/\"},\"author\":{\"name\":\"Waqar Javed\",\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/#\\\/schema\\\/person\\\/76dedaeec309dfebad90b82e70cd80d9\"},\"headline\":\"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools\",\"datePublished\":\"2026-06-07T16:38:02+00:00\",\"dateModified\":\"2026-06-07T17:24:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/\"},\"wordCount\":942,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Prompt-Injection-Is-Not-a-Chatbot-Problem-How-the-Attack-Surface-Changes-When-Your-LLM-Has-Tools.png\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/\",\"url\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/\",\"name\":\"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools - Agentsafelabs\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Prompt-Injection-Is-Not-a-Chatbot-Problem-How-the-Attack-Surface-Changes-When-Your-LLM-Has-Tools.png\",\"datePublished\":\"2026-06-07T16:38:02+00:00\",\"dateModified\":\"2026-06-07T17:24:34+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/#\\\/schema\\\/person\\\/76dedaeec309dfebad90b82e70cd80d9\"},\"description\":\"The prompt injection defenses built for chatbots do not work for agents. Here is why the attack surface changes fundamentally when your LLM can call tools, read documents, and take actions.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/#primaryimage\",\"url\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Prompt-Injection-Is-Not-a-Chatbot-Problem-How-the-Attack-Surface-Changes-When-Your-LLM-Has-Tools.png\",\"contentUrl\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/Prompt-Injection-Is-Not-a-Chatbot-Problem-How-the-Attack-Surface-Changes-When-Your-LLM-Has-Tools.png\",\"width\":1672,\"height\":941,\"caption\":\"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/\",\"name\":\"Agentsafelabs\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/#\\\/schema\\\/person\\\/76dedaeec309dfebad90b82e70cd80d9\",\"name\":\"Waqar Javed\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fbceb86c7be592091a2c62a020d43ea3b96a22bf32e19f062870d50e5bbc22b7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fbceb86c7be592091a2c62a020d43ea3b96a22bf32e19f062870d50e5bbc22b7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/fbceb86c7be592091a2c62a020d43ea3b96a22bf32e19f062870d50e5bbc22b7?s=96&d=mm&r=g\",\"caption\":\"Waqar Javed\"},\"description\":\"Waqar Javed is the founder of AgentSafeLabs and a researcher focused on empirical evaluation of AI agent security. safelabs-eval is Apache 2.0 licensed and available on PyPI and GitHub.\",\"sameAs\":[\"https:\\\/\\\/agentsafelabs.com\\\/blog\"],\"url\":\"https:\\\/\\\/agentsafelabs.com\\\/blog\\\/author\\\/waqarjaved\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools - Agentsafelabs","description":"The prompt injection defenses built for chatbots do not work for agents. Here is why the attack surface changes fundamentally when your LLM can call tools, read documents, and take actions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/","og_locale":"en_US","og_type":"article","og_title":"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools - Agentsafelabs","og_description":"The prompt injection defenses built for chatbots do not work for agents. Here is why the attack surface changes fundamentally when your LLM can call tools, read documents, and take actions.","og_url":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/","og_site_name":"Agentsafelabs","article_published_time":"2026-06-07T16:38:02+00:00","article_modified_time":"2026-06-07T17:24:34+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Prompt-Injection-Is-Not-a-Chatbot-Problem-How-the-Attack-Surface-Changes-When-Your-LLM-Has-Tools.png","type":"image\/png"}],"author":"Waqar Javed","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Waqar Javed","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/#article","isPartOf":{"@id":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/"},"author":{"name":"Waqar Javed","@id":"https:\/\/agentsafelabs.com\/blog\/#\/schema\/person\/76dedaeec309dfebad90b82e70cd80d9"},"headline":"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools","datePublished":"2026-06-07T16:38:02+00:00","dateModified":"2026-06-07T17:24:34+00:00","mainEntityOfPage":{"@id":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/"},"wordCount":942,"commentCount":0,"image":{"@id":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/#primaryimage"},"thumbnailUrl":"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Prompt-Injection-Is-Not-a-Chatbot-Problem-How-the-Attack-Surface-Changes-When-Your-LLM-Has-Tools.png","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/","url":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/","name":"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools - Agentsafelabs","isPartOf":{"@id":"https:\/\/agentsafelabs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/#primaryimage"},"image":{"@id":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/#primaryimage"},"thumbnailUrl":"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Prompt-Injection-Is-Not-a-Chatbot-Problem-How-the-Attack-Surface-Changes-When-Your-LLM-Has-Tools.png","datePublished":"2026-06-07T16:38:02+00:00","dateModified":"2026-06-07T17:24:34+00:00","author":{"@id":"https:\/\/agentsafelabs.com\/blog\/#\/schema\/person\/76dedaeec309dfebad90b82e70cd80d9"},"description":"The prompt injection defenses built for chatbots do not work for agents. Here is why the attack surface changes fundamentally when your LLM can call tools, read documents, and take actions.","breadcrumb":{"@id":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/#primaryimage","url":"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Prompt-Injection-Is-Not-a-Chatbot-Problem-How-the-Attack-Surface-Changes-When-Your-LLM-Has-Tools.png","contentUrl":"https:\/\/agentsafelabs.com\/blog\/wp-content\/uploads\/2026\/06\/Prompt-Injection-Is-Not-a-Chatbot-Problem-How-the-Attack-Surface-Changes-When-Your-LLM-Has-Tools.png","width":1672,"height":941,"caption":"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools"},{"@type":"BreadcrumbList","@id":"https:\/\/agentsafelabs.com\/blog\/prompt-injection-is-not-a-chatbot-problem-how-the-attack-surface-changes-when-your-llm-has-tools\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/agentsafelabs.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Prompt Injection Is Not a Chatbot Problem: How the Attack Surface Changes When Your LLM Has Tools"}]},{"@type":"WebSite","@id":"https:\/\/agentsafelabs.com\/blog\/#website","url":"https:\/\/agentsafelabs.com\/blog\/","name":"Agentsafelabs","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/agentsafelabs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/agentsafelabs.com\/blog\/#\/schema\/person\/76dedaeec309dfebad90b82e70cd80d9","name":"Waqar Javed","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/fbceb86c7be592091a2c62a020d43ea3b96a22bf32e19f062870d50e5bbc22b7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/fbceb86c7be592091a2c62a020d43ea3b96a22bf32e19f062870d50e5bbc22b7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fbceb86c7be592091a2c62a020d43ea3b96a22bf32e19f062870d50e5bbc22b7?s=96&d=mm&r=g","caption":"Waqar Javed"},"description":"Waqar Javed is the founder of AgentSafeLabs and a researcher focused on empirical evaluation of AI agent security. safelabs-eval is Apache 2.0 licensed and available on PyPI and GitHub.","sameAs":["https:\/\/agentsafelabs.com\/blog"],"url":"https:\/\/agentsafelabs.com\/blog\/author\/waqarjaved\/"}]}},"_links":{"self":[{"href":"https:\/\/agentsafelabs.com\/blog\/wp-json\/wp\/v2\/posts\/349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agentsafelabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agentsafelabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agentsafelabs.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/agentsafelabs.com\/blog\/wp-json\/wp\/v2\/comments?post=349"}],"version-history":[{"count":8,"href":"https:\/\/agentsafelabs.com\/blog\/wp-json\/wp\/v2\/posts\/349\/revisions"}],"predecessor-version":[{"id":367,"href":"https:\/\/agentsafelabs.com\/blog\/wp-json\/wp\/v2\/posts\/349\/revisions\/367"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/agentsafelabs.com\/blog\/wp-json\/wp\/v2\/media\/352"}],"wp:attachment":[{"href":"https:\/\/agentsafelabs.com\/blog\/wp-json\/wp\/v2\/media?parent=349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agentsafelabs.com\/blog\/wp-json\/wp\/v2\/categories?post=349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agentsafelabs.com\/blog\/wp-json\/wp\/v2\/tags?post=349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}