Siam Thanat Hack Co., Ltd.

OWASP Top 10 for Agentic Applications:2026

A guide to the ten risk categories in the OWASP Top 10 for Agentic Applications:2026 framework, addressing autonomous AI decision-making, tool execution, identity boundaries, and multi-agent systems.

Edition 2026. Risk names follow the official OWASP publication.

ASI01:2026

Agent Goal Hijack

Agent Goal Hijack occurs when an attacker embeds prompt exploits in external data or RAG context to steer an autonomous agent away from its original user objective toward malicious tasks.

Risk at a glance
What can go wrongUntrusted prompt inputs or RAG context manipulate the agent's objective and decision logic, causing it to abandon original instructions and pursue malicious goals.
Business effectAn agent can be coerced into revealing secrets, approving unauthorized transactions, or corrupting critical system data.
First control to verifyEnforce goal-scoping and authorization bounds at the application layer.
ASI01:2026 Agent Goal Hijack: Attack entry, Trust boundary failure, Impact, Risk reduction
ASI01:2026 Agent Goal Hijack

Isolate external untrusted data from system prompt instructions. Require human approval for high-risk goal transitions.

  • Attack entry — A document or tool result hides instructions that redirect the task.
  • Trust boundary failure — Untrusted prompt inputs or RAG context manipulate the agent's objective and decision logic, causing it to abandon original instructions and pursue malicious goals.
  • Impact — An agent can be coerced into revealing secrets, approving unauthorized transactions, or corrupting critical system data.
  • Risk reduction — Enforce goal-scoping and authorization bounds at the application layer.

The diagram contrasts the unsafe route with the control that interrupts it. Select the image to inspect it at full size.

Why it matters

An agent can be coerced into revealing secrets, approving unauthorized transactions, or corrupting critical system data.

Risk-reduction focus

  • Enforce goal-scoping and authorization bounds at the application layer.
  • Isolate external untrusted data from system prompt instructions.
  • Require human approval for high-risk goal transitions.
Go code example for a web application using Fiber v3
// Vulnerable pattern: trust request-controlled target
app.Get("/records/:id", func(c fiber.Ctx) error {
  return c.JSON(repo.Find(c.Params("id")))
})

// Fixed pattern: authorize server-side
if !policy.CanRead(c.Locals("principal"), id) { return fiber.ErrForbidden }

ASI02:2026

Tool Misuse and Exploitation

Tool Misuse and Exploitation happens when an agent invokes connected tools or APIs with unvalidated parameters, enabling an attacker to trigger harmful actions like data deletion or internal API calls.

Risk at a glance
What can go wrongAn agent is tricked into calling integrated tools, database APIs, or external services with unvalidated parameters.
Business effectAttackers leverage the agent's tool access to manipulate internal databases or exfiltrate confidential records.
First control to verifyEnforce strict parameter schemas and reject unexpected inputs.
ASI02:2026 Tool Misuse and Exploitation: Attack entry, Trust boundary failure, Impact, Risk reduction
ASI02:2026 Tool Misuse and Exploitation

Apply least privilege access to tools used by agents. Audit and log all tool executions.

  • Attack entry — A request induces an agent to call a tool with unsafe parameters.
  • Trust boundary failure — An agent is tricked into calling integrated tools, database APIs, or external services with unvalidated parameters.
  • Impact — Attackers leverage the agent's tool access to manipulate internal databases or exfiltrate confidential records.
  • Risk reduction — Enforce strict parameter schemas and reject unexpected inputs.

The diagram contrasts the unsafe route with the control that interrupts it. Select the image to inspect it at full size.

Why it matters

Attackers leverage the agent's tool access to manipulate internal databases or exfiltrate confidential records.

Risk-reduction focus

  • Enforce strict parameter schemas and reject unexpected inputs.
  • Apply least privilege access to tools used by agents.
  • Audit and log all tool executions.
Go code example for a web application using Fiber v3
// Vulnerable pattern: trust request-controlled target
app.Get("/records/:id", func(c fiber.Ctx) error {
  return c.JSON(repo.Find(c.Params("id")))
})

// Fixed pattern: authorize server-side
if !policy.CanRead(c.Locals("principal"), id) { return fiber.ErrForbidden }

ASI03:2026

Identity and Privilege Abuse

Identity and Privilege Abuse occurs when an agent operates with excessive privileges or shared accounts, enabling unprivileged users to execute admin actions or cross tenant boundaries via the agent's identity.

Risk at a glance
What can go wrongAn agent runs with overprivileged credentials or shared service accounts, letting normal users trigger elevated actions through the agent.
Business effectAttackers achieve privilege escalation or breach multi-tenant user boundaries through the agent's identity.
First control to verifyDelegate user context explicitly to the agent.
ASI03:2026 Identity and Privilege Abuse: Attack entry, Trust boundary failure, Impact, Risk reduction
ASI03:2026 Identity and Privilege Abuse

Prohibit shared admin or root service accounts. Revoke transient agent tokens upon task completion.

  • Attack entry — A low-privilege request is executed under a powerful agent identity.
  • Trust boundary failure — An agent runs with overprivileged credentials or shared service accounts, letting normal users trigger elevated actions through the agent.
  • Impact — Attackers achieve privilege escalation or breach multi-tenant user boundaries through the agent's identity.
  • Risk reduction — Delegate user context explicitly to the agent.

The diagram contrasts the unsafe route with the control that interrupts it. Select the image to inspect it at full size.

Why it matters

Attackers achieve privilege escalation or breach multi-tenant user boundaries through the agent's identity.

Risk-reduction focus

  • Delegate user context explicitly to the agent.
  • Prohibit shared admin or root service accounts.
  • Revoke transient agent tokens upon task completion.
Go code example for a web application using Fiber v3
// Vulnerable pattern: trust request-controlled target
app.Get("/records/:id", func(c fiber.Ctx) error {
  return c.JSON(repo.Find(c.Params("id")))
})

// Fixed pattern: authorize server-side
if !policy.CanRead(c.Locals("principal"), id) { return fiber.ErrForbidden }

ASI04:2026

Agentic Supply Chain Vulnerabilities

At runtime, the agent loads a tampered plugin, model, agent card, or MCP/A2A artifact. Dynamic third-party components activate without verified provenance, integrity, or attestation.

Risk at a glance
What can go wrongDynamic third-party components activate without verified provenance, integrity, or attestation.
Business effectUntrusted components can inject instructions, exfiltrate data, or spread compromise.
First control to verifyAllowlist and pin runtime dependencies to reviewed versions.
ASI04:2026 Agentic Supply Chain Vulnerabilities: Attack entry, Trust boundary failure, Impact, Risk reduction
ASI04:2026 Agentic Supply Chain Vulnerabilities

Allowlist and pin runtime dependencies; verify signatures and attestations before activation.

  • Attack entry — At runtime, the agent loads a tampered plugin, model, agent card, or MCP/A2A artifact.
  • Trust boundary failure — Dynamic third-party components activate without verified provenance, integrity, or attestation.
  • Impact — Untrusted components can inject instructions, exfiltrate data, or spread compromise.
  • Risk reduction — Allowlist and pin runtime dependencies; verify signatures and attestations before activation.

The diagram contrasts the unsafe route with the control that interrupts it. Select the image to inspect it at full size.

Why it matters

Untrusted components can inject instructions, exfiltrate data, or spread compromise.

Risk-reduction focus

  • Allowlist and pin runtime dependencies to reviewed versions.
  • Verify provenance, signatures, and attestations before activation.
  • Monitor runtime integrity and revoke compromised tools or agent connections.
Go code example for a web application using Fiber v3
// Vulnerable pattern: trust request-controlled target
app.Get("/records/:id", func(c fiber.Ctx) error {
  return c.JSON(repo.Find(c.Params("id")))
})

// Fixed pattern: authorize server-side
if !policy.CanRead(c.Locals("principal"), id) { return fiber.ErrForbidden }

ASI05:2026

Unexpected Code Execution

Unexpected Code Execution occurs when an agent generates and executes dynamic code directly on host systems without sandbox isolation, allowing attackers to achieve remote code execution.

Risk at a glance
What can go wrongAn agent generates and executes Python scripts, shell commands, or queries directly on the host server without isolation.
Business effectAn attacker achieves remote code execution (RCE) and gains full control over the underlying infrastructure.
First control to verifyExecute agent-generated code inside network-isolated sandboxes.
ASI05:2026 Unexpected Code Execution (RCE): Attack entry, Trust boundary failure, Impact, Risk reduction
ASI05:2026 Unexpected Code Execution (RCE)

Enforce strict resource and runtime limits. Validate and inspect system commands prior to execution.

  • Attack entry — External content induces generation and execution of untrusted code.
  • Trust boundary failure — An agent generates and executes Python scripts, shell commands, or queries directly on the host server without isolation.
  • Impact — Untrusted code runs with process privileges and can compromise data or systems.
  • Risk reduction — Execute agent-generated code inside network-isolated sandboxes.

The diagram contrasts the unsafe route with the control that interrupts it. Select the image to inspect it at full size.

Why it matters

An attacker achieves remote code execution (RCE) and gains full control over the underlying infrastructure.

Risk-reduction focus

  • Execute agent-generated code inside network-isolated sandboxes.
  • Enforce strict resource and runtime limits.
  • Validate and inspect system commands prior to execution.
Go code example for a web application using Fiber v3
// Vulnerable pattern: trust request-controlled target
app.Get("/records/:id", func(c fiber.Ctx) error {
  return c.JSON(repo.Find(c.Params("id")))
})

// Fixed pattern: authorize server-side
if !policy.CanRead(c.Locals("principal"), id) { return fiber.ErrForbidden }

ASI06:2026

Memory & Context Poisoning

Memory and Context Poisoning happens when malicious data is written into an agent's long-term memory or vector store, corrupting its future reasoning and decision-making capabilities.

Risk at a glance
What can go wrongFalse data or embedded exploits corrupt an agent's short-term memory, vector stores, or long-term knowledge base.
Business effectThe agent produces biased decisions, outputs false guidance, or executes latent malicious instructions.
First control to verifyValidate data integrity and permissions before storing in memory.
ASI06:2026 Memory & Context Poisoning: Attack entry, Trust boundary failure, Impact, Risk reduction
ASI06:2026 Memory & Context Poisoning

Isolate memory stores between different tenants. Periodically audit memory quality and purge stale context.

  • Attack entry — False information is persisted in memory or a knowledge store.
  • Trust boundary failure — False data or embedded exploits corrupt an agent's short-term memory, vector stores, or long-term knowledge base.
  • Impact — The agent produces biased decisions, outputs false guidance, or executes latent malicious instructions.
  • Risk reduction — Validate data integrity and permissions before storing in memory.

The diagram contrasts the unsafe route with the control that interrupts it. Select the image to inspect it at full size.

Why it matters

The agent produces biased decisions, outputs false guidance, or executes latent malicious instructions.

Risk-reduction focus

  • Validate data integrity and permissions before storing in memory.
  • Isolate memory stores between different tenants.
  • Periodically audit memory quality and purge stale context.
Go code example for a web application using Fiber v3
// Vulnerable pattern: trust request-controlled target
app.Get("/records/:id", func(c fiber.Ctx) error {
  return c.JSON(repo.Find(c.Params("id")))
})

// Fixed pattern: authorize server-side
if !policy.CanRead(c.Locals("principal"), id) { return fiber.ErrForbidden }

ASI07:2026

Insecure Inter-Agent Communication

Insecure Inter-Agent Communication occurs when messages exchanged across a multi-agent network lack mutual authentication or encryption, allowing adversaries to spoof agents or tamper with commands.

Risk at a glance
What can go wrongExchanges between agents in a multi-agent network lack mutual authentication, encryption, or message integrity checks.
Business effectAn attacker impersonates peer agents, tampers with inter-agent messages, or injects malicious requests into the network.
First control to verifyEncrypt transport with mTLS or TLS and verify signed messages and sender identity.
ASI07:2026 Insecure Inter-Agent Communication: Attack entry, Trust boundary failure, Impact, Risk reduction
ASI07:2026 Insecure Inter-Agent Communication

Enforce message schemas between agents. Verify agent identity before processing commands.

  • Attack entry — A peer-agent message is forged or altered in transit.
  • Trust boundary failure — Exchanges between agents in a multi-agent network lack mutual authentication, encryption, or message integrity checks.
  • Impact — An attacker impersonates peer agents, tampers with inter-agent messages, or injects malicious requests into the network.
  • Risk reduction — Encrypt transport with mTLS or TLS and verify signed messages and sender identity.

The diagram contrasts the unsafe route with the control that interrupts it. Select the image to inspect it at full size.

Why it matters

An attacker impersonates peer agents, tampers with inter-agent messages, or injects malicious requests into the network.

Risk-reduction focus

  • Encrypt transport with mTLS or TLS and verify signed messages and sender identity.
  • Enforce message schemas between agents.
  • Verify agent identity before processing commands.
Go code example for a web application using Fiber v3
// Vulnerable pattern: trust request-controlled target
app.Get("/records/:id", func(c fiber.Ctx) error {
  return c.JSON(repo.Find(c.Params("id")))
})

// Fixed pattern: authorize server-side
if !policy.CanRead(c.Locals("principal"), id) { return fiber.ErrForbidden }

ASI08:2026

Cascading Failures

A planner, tool, memory store, or peer agent emits a faulty or poisoned signal. Delegation, retries, and feedback loops propagate it without effective failure isolation.

Risk at a glance
What can go wrongDelegation, retries, and feedback loops propagate it without effective failure isolation.
Business effectThe fault spreads across agents or workflows, causing outages, data corruption, resource exhaustion, or unsafe privileged actions.
First control to verifyIsolate failure domains with scoped access and least privilege.
ASI08:2026 Cascading Failures: Attack entry, Trust boundary failure, Impact, Risk reduction
ASI08:2026 Cascading Failures

Isolate failure domains; enforce downstream validation, circuit breakers, and fan-out limits.

  • Attack entry — A planner, tool, memory store, or peer agent emits a faulty or poisoned signal.
  • Trust boundary failure — Delegation, retries, and feedback loops propagate it without effective failure isolation.
  • Impact — The fault spreads across agents or workflows, causing outages, data corruption, resource exhaustion, or unsafe privileged actions.
  • Risk reduction — Isolate failure domains; enforce downstream validation, circuit breakers, and fan-out limits.

The diagram contrasts the unsafe route with the control that interrupts it. Select the image to inspect it at full size.

Why it matters

The fault spreads across agents or workflows, causing outages, data corruption, resource exhaustion, or unsafe privileged actions.

Risk-reduction focus

  • Isolate failure domains with scoped access and least privilege.
  • Validate outputs and high-impact actions before propagating them downstream.
  • Use circuit breakers, quotas, and fan-out limits to contain amplification.
Go code example for a web application using Fiber v3
// Vulnerable pattern: trust request-controlled target
app.Get("/records/:id", func(c fiber.Ctx) error {
  return c.JSON(repo.Find(c.Params("id")))
})

// Fixed pattern: authorize server-side
if !policy.CanRead(c.Locals("principal"), id) { return fiber.ErrForbidden }

ASI09:2026

Human-Agent Trust Exploitation

Human-Agent Trust Exploitation leverages the anthropomorphic and persuasive nature of AI agents to deceive human operators into approving harmful actions or revealing credentials.

Risk at a glance
What can go wrongAn adversary uses an agent's persuasive, human-like interaction to trick users into executing harmful actions.
Business effectUsers unsuspectingly disclose credentials, authorize wire transfers, or execute untrusted files.
First control to verifyDisplay clear indicators when interacting with AI agents.
ASI09:2026 Human-Agent Trust Exploitation: Attack entry, Trust boundary failure, Impact, Risk reduction
ASI09:2026 Human-Agent Trust Exploitation

Require out-of-band verification for critical transactions. Train users on social engineering risks involving agents.

  • Attack entry — A persuasive recommendation induces a person to approve a risky action.
  • Trust boundary failure — An adversary uses an agent's persuasive, human-like interaction to trick users into executing harmful actions.
  • Impact — Users unsuspectingly disclose credentials, authorize wire transfers, or execute untrusted files.
  • Risk reduction — Display clear indicators when interacting with AI agents.

The diagram contrasts the unsafe route with the control that interrupts it. Select the image to inspect it at full size.

Why it matters

Users unsuspectingly disclose credentials, authorize wire transfers, or execute untrusted files.

Risk-reduction focus

  • Display clear indicators when interacting with AI agents.
  • Require out-of-band verification for critical transactions.
  • Train users on social engineering risks involving agents.
Go code example for a web application using Fiber v3
// Vulnerable pattern: trust request-controlled target
app.Get("/records/:id", func(c fiber.Ctx) error {
  return c.JSON(repo.Find(c.Params("id")))
})

// Fixed pattern: authorize server-side
if !policy.CanRead(c.Locals("principal"), id) { return fiber.ErrForbidden }

ASI10:2026

Rogue Agents

A compromised or misaligned agent pursues an undeclared goal while individual actions appear legitimate. Behavioral-integrity and governance controls fail to detect or contain sustained deviation from declared function and scope.

Risk at a glance
What can go wrongBehavioral-integrity and governance controls fail to detect or contain sustained deviation from declared function and scope.
Business effectThe agent can disclose data, spread misinformation, hijack workflows, sabotage operations, collude, or self-replicate.
First control to verifyAttest each agent identity and its declared tools, goals, and behavior.
ASI10:2026 Rogue Agents: Attack entry, Trust boundary failure, Impact, Risk reduction
ASI10:2026 Rogue Agents

Attest identity and declared behavior; monitor deviations and enable rapid quarantine, credential revocation, and kill switches.

  • Attack entry — A compromised or misaligned agent pursues an undeclared goal while individual actions appear legitimate.
  • Trust boundary failure — Behavioral-integrity and governance controls fail to detect or contain sustained deviation from declared function and scope.
  • Impact — The agent can disclose data, spread misinformation, hijack workflows, sabotage operations, collude, or self-replicate.
  • Risk reduction — Attest identity and declared behavior; monitor deviations and enable rapid quarantine, credential revocation, and kill switches.

The diagram contrasts the unsafe route with the control that interrupts it. Select the image to inspect it at full size.

Why it matters

The agent can disclose data, spread misinformation, hijack workflows, sabotage operations, collude, or self-replicate.

Risk-reduction focus

  • Attest each agent identity and its declared tools, goals, and behavior.
  • Continuously monitor deviations from behavioral and governance baselines.
  • Provide rapid quarantine, credential revocation, and kill switches.
Go code example for a web application using Fiber v3
// Vulnerable pattern: trust request-controlled target
app.Get("/records/:id", func(c fiber.Ctx) error {
  return c.JSON(repo.Find(c.Params("id")))
})

// Fixed pattern: authorize server-side
if !policy.CanRead(c.Locals("principal"), id) { return fiber.ErrForbidden }

Compliance Readiness Self-Assessment

Select items your organization has completed to evaluate your readiness score.

0%

Official OWASP reference

Open the official OWASP edition