The OWASP Agentic Top 10 2026: A Complete Threat-to-Control Map for AI Agent Deployments
The OWASP Agentic AI Threats and Mitigations Guide reached v1.0 in March 2026. Its headline contribution: eleven agent-specific risk categories, each drawn from observed production incidents, each tied to a different set of defensive controls. The guide is not a checklist. It is a taxonomy. The value is in the mapping from risk to control — exactly what a security team needs to defend a production agent deployment.
This post provides that mapping. For each of the eleven risk categories, I cite at least one real production incident from 2024–2026, name the defensive control layers that actually work, and show how Facio (the HITL-first agent runtime) implements the architectural controls. The taxonomy is the guide. The mapping is the implementation.
The Eleven Risk Categories at a Glance
The OWASP Agentic AI Top 10 was published in November 2025 and updated through 2026 as new attack classes emerged. The eleven risks, with their three-character identifiers, are:
- ASI01: Agent Goal Hijack — the agent's stated objective is replaced or augmented by attacker-controlled content
- ASI02: Tool Misuse and Exploitation — the agent invokes a tool in a way outside its intended use, often steered by injected content
- ASI03: Identity and Privilege Abuse — the agent's identity, credentials, or permission scope is used outside its authorized boundary
- ASI04: Agentic Supply Chain Vulnerabilities — compromised dependencies, tools, or upstream services subvert the agent
- ASI05: Insecure Inter-Agent Communication — one compromised agent in a multi-agent system propagates to others
- ASI06: Unexpected Code Execution — LLM-generated code or shell commands run with unintended privileges
- ASI07: Memory and Context Poisoning — attacker-controlled content persists in the agent's memory and influences future sessions
- ASI08: Cascading Failures and Autonomous Action Chains — a single trigger causes a sequence of failures that compound
- ASI09: Human-Agent Trust Exploitation — attackers exploit the user's trust in the agent's apparent authority
- ASI10: Rogue Agents in Multi-Agent Systems — a malicious or compromised agent operates within the system without authorization
- ASI11: Excessive Agency and Unbounded Action — the agent takes actions beyond what its task requires
The categories are not independent. ASI01 (Goal Hijack) is the entry vector for most of the others. ASI06 (Code Execution) is a common payload. ASI03 (Identity Abuse) is the typical impact. Defending any single category in isolation is insufficient; the categories interact, and the defense architecture must reflect that.
ASI01: Agent Goal Hijack
Reference incident: The Clinejection prompt injection attack (covered in the Facio analysis from June 2026) where a single sentence in a GitHub issue caused an agent to read and exfiltrate an npm publishing token. The agent's goal — "fix the bug report" — was hijacked into "read the local credentials and forward them to a destination."
Attack mechanism: The agent's objective lives in its context. The objective can be the user's request, the system prompt, or content retrieved during processing. Any untrusted content source can contain instructions that compete with or override the legitimate goal. The attack succeeds when the model prioritizes the injected instruction over the original objective.
Defensive controls (defense in depth):
-
Input taint marking. Content from untrusted sources is marked as taint = untrusted. The taint propagates through any transformation the agent performs. When a tool call receives parameters derived from tainted input, the policy engine evaluates the action with awareness of the taint.
-
Source prioritization in the model context. The original system prompt and user instruction are placed in a structurally distinct section of the model context — often with a different format marker — so that the model is biased toward treating them as authoritative. This is not a perfect defense; it is one of several layers.
-
Goal verification at decision points. Before any high-blast-radius action (database write, credential access, file deletion, external API call), the runtime checks that the action aligns with the originally specified goal. Actions that diverge from the goal are flagged or blocked.
-
Tool call provenance tracking. Every tool call records the input taint chain that led to it. The audit trail can answer: "what content did the agent read that caused it to make this call?" The provenance chain is the forensic record when an attack is detected.
Facio implementation: Taint marking, goal verification, and tool call provenance are all first-class concepts in Facio's runtime. The policy engine evaluates goal alignment at every tool invocation.
ASI02: Tool Misuse and Exploitation
Reference incident: The full-schema poisoning attacks on MCP servers (covered in the Facio analysis from June 2026) where hidden instructions in tool parameter descriptions steered agents into exfiltrating credential files.
Attack mechanism: The agent has access to a set of tools. The intended use of each tool is documented in its description, but the description is processed by the LLM at runtime. An attacker who can modify the tool description — directly, through a malicious MCP server, or through indirect prompt injection — can change how the model uses the tool. The tool itself is not compromised; the model's understanding of the tool is.
Defensive controls:
-
Tool allowlisting at the runtime layer. The agent can only invoke tools explicitly registered in its configuration. Tools outside the allowlist are not reachable from the agent's execution context, regardless of what the model "wants" to call.
-
Per-tool scope enforcement. Each tool has a defined scope: specific operations, specific resource types, specific argument patterns. A call outside the scope is rejected at the policy layer, even if the model generated it.
-
Tool pin verification. The tool's signature, hash, and description are recorded at registration. Any change to the description — including the rug-pull pattern of modifying it after initial approval — surfaces a pin mismatch.
-
Tool-specific input validation. Each tool's arguments are validated against the tool's declared schema with type checking, regex matching, and range constraints. Validation is performed by the runtime, not by the LLM.
-
Behavioral baselining on tool usage. Anomaly detection flags tool invocations that diverge from the agent's established pattern. A code-review tool suddenly reading credential files is anomalous; a database tool suddenly called with write parameters is anomalous.
Facio implementation: Tool allowlists, per-tool scope, and behavioral baselining are core Facio capabilities. Pin verification is a deployment-time control; Facio exposes the metadata needed to implement it.
ASI03: Identity and Privilege Abuse
Reference incident: The shadow agent epidemic (covered in the Facio analysis from June 2026) where 144 machine identities operated in a typical enterprise without inventory, ownership, or credential rotation. Each represented a potential point of identity abuse.
Attack mechanism: Every agent has an identity — a credential, a service account, an OAuth token. The identity carries privileges, and the privileges carry risk. When an identity is over-scoped, stolen, or impersonated, the attacker can use the agent's legitimate privileges. The abuse is hard to detect because the requests look authorized.
Defensive controls:
-
Cryptographic, per-agent identity. Every agent has a distinct, cryptographically verifiable identity issued through workload identity standards (SPIFFE, mTLS, OAuth client credentials). The identity is not shared with humans or with other agents.
-
Per-task credential scoping. Credentials are issued per task, per resource scope, per time window. When the task ends, the credentials expire. The blast radius of a compromised credential shrinks from "everything the agent has ever been authorized to do" to "one task, one scope, one time window."
-
Credential rotation at defined intervals. Static API keys are replaced with rotated, short-lived tokens. The rotation cadence balances security against operational friction.
-
Identity inventory and ownership. Every agent identity is registered with a clear owner (team, application, contact). The inventory is queryable and maintained as part of the agent lifecycle. Shadow agents are detected by comparing running identities against the inventory.
-
Continuous authorization verification. Identity is verified at every tool invocation, not just at session establishment. A token that was valid at the start of the session but has since been revoked is rejected mid-session.
Facio implementation: Per-task credential scoping and continuous authorization are core Facio capabilities. Identity inventory and ownership are deployment-time controls; Facio exposes the metadata needed to maintain them.
ASI04: Agentic Supply Chain Vulnerabilities
Reference incident: CVE-2025-6514 in mcp-remote (covered in the Facio analysis from June 2026), which gave a malicious MCP server remote code execution capability. The vulnerability was in a package with 437,000 downloads, infecting a large fraction of MCP deployments.
Attack mechanism: The agent's functionality depends on a stack of frameworks, libraries, MCP servers, and upstream services. Each component is a potential attack vector. A compromised dependency can give the attacker the same privileges the agent has. The risk is compounded because agents often pull in many tools and dependencies without human review.
Defensive controls:
-
Software Bill of Materials (SBOM) for the agent stack. Every dependency, every version, every transitive dependency is inventoried. The SBOM is queryable and continuously updated as dependencies change.
-
Dependency vulnerability monitoring. Subscribe to security advisories for every dependency in the SBOM. Apply automated scanning for known CVEs. The integration into the build pipeline catches vulnerabilities before deployment.
-
Tool and dependency pinning. Pin every dependency to a specific version with a verified hash. The pin prevents silent updates that could introduce vulnerabilities. Updates require explicit version bumps with security review.
-
Reputation scoring for MCP servers and third-party tools. Maintain a registry of approved MCP servers and tools, with reputation scores based on source, maintainer, code review history, and observed behavior. Unapproved tools require elevated approval.
-
Sandboxed execution of third-party code. When an agent invokes LLM-generated code or executes code from a third-party tool, the execution is sandboxed (Firecracker microVM, gVisor) with limited privileges and no access to host resources.
Facio implementation: SBOM and dependency monitoring are deployment-time controls; Facio exposes the metadata needed to integrate them. Sandboxed execution is supported at the tool definition layer.
ASI05: Insecure Inter-Agent Communication
Reference incident: Multi-agent research systems where a compromised research subagent injected malicious instructions into the orchestrator's context, which then propagated to action agents that held the privileged credentials.
Attack mechanism: In a multi-agent system, agents communicate by passing messages, sharing context, or calling each other's tools. A compromised agent can inject malicious content into the messages it sends. The receiving agent, treating the message as trusted because it comes from a "peer," may follow the injected instructions. The compromise propagates through the system.
Defensive controls:
-
Trust boundaries between agents. Each agent has a defined set of peers it can communicate with. Communication outside the allowlist is rejected. The trust boundary is enforced at the runtime, not at configuration.
-
Per-agent memory isolation. Each agent's persistent memory is isolated from other agents. Memory poisoning in one agent does not propagate to other agents. Memory contents are versioned, and any read access is logged.
-
Inter-agent message validation. Messages between agents are validated for content patterns, length limits, and structural integrity. Messages containing instruction-like content from untrusted sources are flagged.
-
Cryptographic authentication of inter-agent messages. Messages are signed by the sending agent's identity. The receiving agent verifies the signature before processing. A message from a spoofed identity is rejected.
-
Differential privilege between agents. Agents with privileged credentials do not communicate directly with agents that process untrusted content. The privileged agent's inputs are restricted to other trusted agents or to a human reviewer.
Facio implementation: Per-agent memory isolation and trust boundaries are first-class concepts in Facio's architecture. The runtime enforces them at the execution boundary.
ASI06: Unexpected Code Execution
Reference incident: CVE-2026-2256 in MS-Agent (covered in the Facio analysis from June 2026) where command injection in the shell tool gave attackers remote code execution on any host running the agent. The framework's denylist was bypassed through shell metacharacter escaping and allowed-interpreter abuse.
Attack mechanism: Agents that generate or execute code — whether LLM-generated or from a third-party tool — run that code with process privileges. If the code is attacker-controlled, the attacker controls the process. The agent's permissions become the attacker's permissions.
Defensive controls:
-
Sandboxed code execution. Code runs in a sandbox (Firecracker microVM, gVisor) with minimal privileges. The sandbox can execute the code but cannot access host resources, secrets, or unrelated network destinations.
-
Allowlist of executable operations. Replace denylists of dangerous commands with allowlists of permitted operations. The allowlist is defined per task, not per agent.
-
Static and dynamic analysis of generated code. Generated code is analyzed for dangerous patterns before execution. Dynamic analysis (sandboxed execution with monitoring) detects runtime behavior that static analysis misses.
-
Independent authorization at the data layer. Generated code does not have direct access to data. It must call APIs that perform independent authorization checks. The agent's authentication context does not bypass the data layer's checks.
-
No direct shell access in production. Agents that need shell access in development are deployed without shell access in production. Shell operations are performed by humans or by separate, narrowly-scoped automation.
Facio implementation: Facio's tool allowlist model treats shell access as a tool that must be explicitly registered with a defined scope. Per-task scoping limits what the shell can do.
ASI07: Memory and Context Poisoning
Reference incident: Long-running research agents that ingest and summarize documents. A poisoned document with embedded instructions was stored in the agent's long-term memory. In a subsequent session, the agent retrieved the poisoned memory and used it as context for a new task — inadvertently executing the attacker's instructions.
Attack mechanism: The agent's memory persists across sessions. Memory contents can include retrieved documents, prior user instructions, learned preferences, and accumulated context. An attacker who can write to any memory source — directly through a tool, or indirectly through retrieved content — can influence future sessions. The poison outlives the original session.
Defensive controls:
-
Memory isolation per session and per user. Memory from one session does not bleed into another unless explicitly requested. Memory from one user does not bleed into another user's session.
-
Memory content provenance tracking. Each memory entry records its origin: which document, which tool, which user instruction. The provenance is queryable for forensic analysis.
-
Memory validation at write time. Content written to memory is validated for injection patterns. Suspicious content is flagged or rejected. The validation is imperfect but reduces the surface.
-
Memory version control. Memory contents are versioned. A poisoned entry can be rolled back to a prior clean version. The version history is auditable.
-
Memory read access logging. Every memory read is logged with the requester, the entry accessed, and the task context. The audit trail allows detection of anomalous memory access patterns.
Facio implementation: Per-session memory isolation, provenance tracking, and read access logging are core Facio capabilities. Memory version control is a deployment-time control supported by the audit trail.
ASI08: Cascading Failures and Autonomous Action Chains
Reference incident: The $3.2M logistics agent failure (covered in the Facio analysis from June 2026) where a corrupted inventory data feed triggered an agent to place 14,000 erroneous orders across 47 suppliers over six hours. The cascading action chain amplified a single data corruption event into a multi-million-dollar incident.
Attack mechanism: A single trigger — a corrupted input, a prompt injection, a tool failure — causes the agent to take a sequence of actions. Each action is locally reasonable but globally catastrophic. The cascading pattern is hard to predict and hard to detect in real time because each individual action looks legitimate.
Defensive controls:
-
Circuit breakers with configurable thresholds. Volume, cost, and blast-radius thresholds trigger automatic throttling or human review. An agent that makes more than N database calls per minute, or spends more than $X per task, triggers a human approval workflow.
-
Action rate limiting. Bound the rate of tool invocations per agent, per task, and per session. A sudden spike in tool calls is a strong indicator of cascading failure.
-
Cross-action correlation. A sequence of actions that matches a known cascading pattern (data read → encoding → external write) is flagged. The correlation detects sequences that no individual action would trigger.
-
Human-in-the-loop at decision boundaries. High-blast-radius actions require human approval before execution. Placet.io (the HITL inbox and messenger) delivers the approval request to the right reviewer with full context.
-
Kill switch and graceful degradation. An operator can pause or terminate an agent immediately. The kill switch is independent of the agent's reasoning — it is an out-of-band control.
Facio implementation: Circuit breakers, action rate limiting, and cross-action correlation are core Facio capabilities. Placet.io provides the HITL approval workflow at configured thresholds.
ASI09: Human-Agent Trust Exploitation
Reference incident: Several documented cases where a compromised agent sent convincing messages to users ("I've processed your refund of $5,000; please confirm by clicking this link") and the user complied because the request appeared to come from a trusted agent.
Attack mechanism: Users learn to trust the agent's authority. A compromised agent exploits that trust to obtain information, manipulate the user into performing actions, or exfiltrate data through the user's own actions. The user is the attack vector; the agent is the manipulator.
Defensive controls:
-
Action visibility and audit trail. The user can see every action the agent takes on their behalf. The audit trail is queryable, and the user is notified of high-blast-radius actions in real time.
-
Confirmation workflows for sensitive actions. Actions that affect the user's security (password resets, financial transactions, external sharing) require explicit user confirmation. The confirmation request is delivered through a verified channel, not through the agent itself.
-
Agent identity verification in the UI. The user interface displays the agent's identity, scope, and recent activity. The user can verify that the agent is who it claims to be before acting on its requests.
-
Separation of agent-initiated and user-initiated actions. Agent-initiated messages to the user are clearly marked as such, distinct from user-initiated actions. The user is never confused about the origin of a request.
-
Periodic re-verification of agent identity. The agent's identity is re-verified at defined intervals, not just at session start. A session whose identity is no longer valid is terminated.
Facio implementation: Audit trail and confirmation workflows are core Facio capabilities. Placet.io provides the verified-channel delivery for confirmation requests.
ASI10: Rogue Agents in Multi-Agent Systems
Reference incident: Multi-agent customer service systems where a subagent with broad tool access — added by one team without security review — was used as a pivot point to access other agents' privileged resources.
Attack mechanism: In a multi-agent system, a rogue agent — one that is not authorized, or one that has been compromised — operates within the system. The rogue agent's communications are treated as trusted by other agents, allowing the rogue to inject content, exfiltrate data, or pivot to higher-privilege agents.
Defensive controls:
-
Agent registration and approval workflow. Every agent in the system is registered, reviewed, and approved before deployment. Unregistered agents are not allowed to operate.
-
Per-agent trust scoring. Each agent has a trust score based on its source, code review history, observed behavior, and incident history. Communications from low-trust agents are treated with extra scrutiny.
-
Behavioral baselining per agent. Each agent has a baseline of normal behavior. Deviations from the baseline are flagged. The baseline is established during a probationary period before full deployment.
-
Network segmentation between agent tiers. Agents that process untrusted content are segmented from agents that hold privileged credentials. The segmentation is enforced at the network layer, not just at the application layer.
-
Continuous re-evaluation of agent trustworthiness. Trust scores are updated based on observed behavior. A drop in trust triggers elevated scrutiny or removal from the system.
Facio implementation: Agent registration and per-agent trust scoring are deployment-time controls. Behavioral baselining is a core Facio capability. Network segmentation is a deployment-time control supported by Facio's per-agent credential scoping.
ASI11: Excessive Agency and Unbounded Action
Reference incident: Customer service agents with full database read-write access that were manipulated into bulk-updating customer records based on prompt injection. The agents had the technical capability to make the changes; the original task did not require write access at all.
Attack mechanism: The agent has more capabilities than its task requires. The excess capabilities become the attack surface. A prompt injection that steers the agent toward an action the agent has permission to perform — but should not have permission to perform — succeeds because the agent's permission scope is too broad.
Defensive controls:
-
Per-task permission scoping. The agent's permissions are scoped to the specific task. The task's requirements determine the permissions; the agent's role is the maximum bound, not the default.
-
Action context awareness. The runtime evaluates whether the action being taken is within the task's stated scope. An agent processing customer support emails does not have a legitimate need to perform database writes; the runtime should reject such actions.
-
Blast radius minimization. Permissions are scoped not just to the task but to the specific resources, operations, and time windows within the task. The blast radius of any single action is minimized.
-
Periodic re-validation of agent scope. The agent's actual usage is compared to the scope it was originally granted. Capabilities that are never used are candidates for revocation.
-
Explicit task termination. When a task is complete, the agent's permissions for that task are revoked. The agent does not retain task-scoped permissions for future, unrelated tasks.
Facio implementation: Per-task permission scoping and explicit task termination are core Facio capabilities. The policy engine evaluates action context at every tool invocation.
The Mapping: From OWASP to Architecture
The eleven risks are not independent. ASI01 (Goal Hijack) is the entry vector. ASI02 (Tool Misuse) is the common payload. ASI03 (Identity Abuse) is the typical impact. ASI06 (Code Execution) is a frequent outcome. ASI11 (Excessive Agency) is the underlying vulnerability that makes the others exploitable.
Defending the OWASP Agentic Top 10 requires a defense architecture, not a checklist. The architecture has four layers, each addressing a category of risks:
- Input layer — taint marking, source prioritization, content validation. Addresses ASI01, ASI07, ASI09.
- Tool layer — allowlists, per-tool scope, behavioral baselining. Addresses ASI02, ASI06, ASI11.
- Identity layer — per-agent identity, per-task credentials, continuous authorization. Addresses ASI03, ASI05, ASI10.
- Action layer — circuit breakers, cross-action correlation, HITL at thresholds. Addresses ASI08, ASI09, ASI11.
A defense that operates in only one layer will fail. The categories interact, and the attack surface is the combination. The organizations that will defend the OWASP Agentic Top 10 in 2026 are the ones that build the architecture across all four layers — and use the OWASP taxonomy as a structured test of whether the architecture is complete.
The Bottom Line
The OWASP Agentic AI Top 10 is the security community's first consensus taxonomy for AI agent risks. The taxonomy is not the value. The value is the threat-to-control map — the explicit connection from each risk to the defensive controls that work. The map is what the security team uses to plan a defense; the taxonomy is the structure that ensures nothing is missed.
The organizations that will defend agentic AI deployments in 2026 are the ones that have internalized the taxonomy, built the mapping into their threat models, and implemented the four-layer defense architecture. The risks are not theoretical. They are observed, documented, and recurring. The defense is available. The only variable is whether the deployment has implemented it.
Facio (the HITL-first agent runtime) implements the architectural controls across all four layers. Placet.io (the HITL inbox and messenger) delivers the human-in-the-loop approval workflows at decision boundaries. Together, they provide the runtime and approval infrastructure for defending the OWASP Agentic Top 10.
Further reading:
- OWASP AI Agent Security Cheat Sheet
- Auth0: Lessons from the OWASP Top 10 for Agentic Applications
- The LLM Red Teaming Framework: OWASP Top 10 for Agentic Applications
- Zero Trust for AI Agents: The Three-Tier Framework
- Tool Poisoning Is the New Prompt Injection: The MCP Attack Class Hiding in Plain Sight