Failure pattern · 8 documented incidents
AI action exceeds its intended scope
An AI agent or assistant takes an action, or makes a promise, that nobody meant it to be able to make.
See it happen
Watch how this failure unfolds, then switch to the same situation with the safeguard in place. Click any step to replay it.
Scroll the diagram sideways to see every system.
A tribunal holds the company to its chatbot’s answer.
What goes wrong:
- A customer asks the chatbot about a bereavement fare.
- The chatbot makes up a refund rule that does not exist.
- The customer books a full-price ticket, relying on that promise.
- A tribunal holds the company to its chatbot’s answer.
With the safeguard:
- A customer asks the chatbot about a bereavement fare.
- Answers about money must come from approved policy text.
- The bot quotes the real rule, or hands the question to a person.
- The bot can only promise what the company actually offers.
What it is
An AI agent or assistant does, or promises, something nobody meant it to be able to do. It might delete data during a code freeze, invent a refund policy, or act far outside the task it was given.
How it happens
- The agent has broad permissions that weren’t scoped to its job
- Its tools can change production or make binding statements
- There’s no hard boundary between what it may suggest and what it may do
What it causes
- Production data deleted or changed by an agent
- The company held to promises its chatbot made
- Loss of trust in the product and the team behind it
Warning signs
- Agents using tools unrelated to the request
- Answers about money or policy that cite no source
- Agent actions in environments it was never meant to touch
How to prevent it
Give AI agents least privilege and typed, validated tools. Scope agent credentials to the task, validate every tool argument against a strict schema, separate "propose" from "execute", and keep production data out of reach of development agents.
- Agents get the narrowest permissions their task needs, and never production access by default
- Every tool validates its arguments against a strict schema before acting
- Answers about money, policy or legal terms must cite approved text or go to a person
Key ideas:Least privilegeModel Context Protocol (MCP)
Check your system against the full launch checklistReal incidents with this pattern
Documented incidents first. Each links to its public source.
GitHub Actions injection leaks Nx's npm token; malicious packages use local AI coding tools to hunt for secrets (2025)
A pull-request title validation workflow used pullrequesttarget, which runs with repository secrets, and echoed the unsanitized PR title, creating an injection point; the workflow's token also had read/write permissions.
Safeguard: Never run untrusted pull-request input with secrets
Prompt injection makes GitHub Copilot turn off its own confirmations and run commands (CVE-2025-53773)
Instructions planted in content the agent reads could make GitHub Copilot write "chat.tools.autoApprove": true into the project's .vscode/settings.json, which turns off all user confirmations.
Safeguard: Never let an agent change its own permissions
Prompt injection in a README plus weak allow-list matching lets Gemini CLI silently run attacker commands (2025)
Researchers hid a prompt injection inside a README.md (in the text of a software license) so that Gemini CLI, asked only to inspect a codebase, would request shell commands.
Safeguard: Match allow-listed commands exactly
AI coding agent deletes a live production database during a code freeze (Replit, 2025)
An AI coding agent deleted a live production database that held data on more than 1,200 executives and over 1,190 companies.
Safeguard: Separate development and production and enforce freezes in code
EchoLeak: zero-click prompt injection lets a crafted email exfiltrate Microsoft 365 Copilot data (2025)
EchoLeak (CVE-2025-32711, CVSS 9.3) is a zero-click vulnerability in Microsoft 365 Copilot in which a crafted email could trigger indirect prompt injection.
Safeguard: Isolate retrieved untrusted content from privileged context
Prompt injection in a public GitHub issue makes an MCP-connected agent leak private repository data (2025)
Invariant Labs showed that a malicious instruction placed in an issue on a public repository could be read by an agent connected through the GitHub MCP server.
Safeguard: Scope agent credentials per task and repository
Airline held liable when its website chatbot gave wrong bereavement-fare advice (Moffatt v. Air Canada, 2024)
A customer relied on Air Canada's website chatbot, which told him he could apply for a bereavement fare retroactively; the airline's policy did not allow that.
Safeguard: Ground policy answers in the authoritative policy source
Zillow winds down its algorithmic home-buying business after price forecasts miss (2021)
Machine learning pricing models drifted during market volatility; automated purchasing bought homes above value resulting in $540M inventory write-down.
Safeguard: Cap automated exposure in deterministic limits
99 security advisories and illustrative scenarios with this pattern
Security issue reported in Software component
The WSP MCP AI Agents Connector plugin for WordPress is vulnerable to Sensitive Information Disclosure in versions up to, and including, 2.9.5.
Software component issue could allow unintended commands to run
The DoubleScale | All-in-One CRM – Sales, Multi-Channel Marketing, Newsletter, Booking, Helpdesk, Automation, MCP & More plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including,…
Software component issue could run attacker-controlled scripts in a browser
Wheels CLI 4.0.0 through 4.1.1 insufficiently validates or escapes caller-supplied values and package contents. Deploy release/version/rollback values can execute shell commands on deploy hosts as the SSH user and on the…
Software component issue could allow unintended commands to run
A public security advisory describes this issue. Review the linked source for the technical details and remediation guidance.
claude-agent-sdk issue could allow unintended commands to run
The Claude Agent SDK for Python passed the resume option to the Claude CLI without validation, allowing a value beginning with - to be interpreted as a separate CLI flag.
Security issue reported in @aborruso/ckan-mcp-server
The MCP Apps UI resource (an interactive DataStore table rendered in the host's webview/iframe) communicates with its parent via postMessage.
Security issue reported in Software component
undici is an HTTP client library for Node.js. In versions 4.0.0 through 6.29.0, 7.0.0 through 7.30.0, and 8.0.0 through 8.12.1, its Agent dispatcher passes its constructor options through a JSON-based deep clone before…
Security issue reported in Software component
undici is an HTTP client library for Node.js. In versions 7.0.0 through 7.30.0 and 8.0.0 through 8.12.1, when an originless Agent composes the redirect and cache interceptors in that order with a shared cache store, the…
Software component issue could allow unintended commands to run
A public security advisory describes this issue. Review the linked source for the technical details and remediation guidance.
Security issue reported in Software component
Archon 0.2.13 through 0.11.1 contains a missing authentication vulnerability that allows unauthenticated attackers to access the /api/ control API, which binds to 0.0.0.0 by default.
Software component issue could reach internal services
RedAmon through 7.0.1 contains an unauthenticated server-side request forgery vulnerability in the agent POST /tradecraft/verify endpoint because validateurl checks only the initial hostname.
Software component issue could allow unauthorized access
IntentKit through 2.6.3 contains an authorization bypass vulnerability where the executor validates tool calls against the full tool registry rather than the per-request narrowed tool advertisement enforced by…
In the standards
CollectSEA's mapping; not an official determination by the standards bodies.
- ASI02Tool Misuse and ExploitationOWASP Agentic Top 10
- ASI03Identity and Privilege AbuseOWASP Agentic Top 10
- ASI10Rogue AgentsOWASP Agentic Top 10
- LLM03Excessive AgencyOWASP LLM Top 10
- LLM10Improper Output HandlingOWASP LLM Top 10
- AC-6Least PrivilegeNIST SP 800-53
- SI-10Information Input ValidationNIST SP 800-53
- MAP 5.1Estimate impacts from past uses and public incident reportsNIST AI RMF
- CWE-250Execution with Unnecessary PrivilegesCWE