Skip to main content

OWASP Top 10 for Agentic Applications 2026 — mapping

OWASP published the Top 10 for Agentic Applications 2026 on 9 December 2025. Each ASI control below maps to Ujex primitives and to the MAESTRO threat model layer.

ASIControlUjex mitigationsMAESTRO layer
ASI-01Goal HijackApprovals default-deny on destructive verbs; Rule of Two taggingL7
ASI-02Tool MisuseServer-side tool policy, server-injected credentials, Budgets inline caps; signed-manifest verifier existsL4, L5
ASI-03Identity & Privilege AbusePer-agent device keys; inbox-scoped keys; Cross App AccessL3
ASI-04Supply ChainPackage provenance; OSS audit; signed-manifest enforcement planned after compatibility migrationL1, L4
ASI-05Unexpected Code ExecutionServer-side dispatch, Budgets kill switch, recursion guard; sandboxed MCP dispatch is not default yetL2
ASI-06Memory / Context PoisoningMemory-write provenance tags; PI score on memory.write; hash-chained auditL5, L7
ASI-07Insecure Inter-Agent CommsAudit row on every delegation; signed delegation tokens (delegate callable)L3, L6
ASI-08Cascading FailuresRecursion guard (maxSteps); Budgets kill switch; double-text dedupL2, L6
ASI-09Human-Agent Trust ExploitationPI scoring on inbound mail; lethal-trifecta tag → mandatory ApprovalL7
ASI-10Rogue Agentsdisabled flag + immediate token revoke; chain-recorded disablementL3

Per-control details

ASI-01 Goal Hijack

Approvals subsystem ships a default-deny policy DSL. Verbs declared destructive (drop_*, delete_*, transfer_funds, publish, send_to_new_recipient, escape_to_host) pause the call until a human decides. Session tagging implements Willison's "Agents Rule of Two": if untrusted_input AND sensitive_access AND external_egress are all true, every tool call requires approval regardless of verb.

ASI-02 Tool Misuse

Tool invocation is server-side: signed-manifest registration, policy, Budgets preflight, credential injection, and audit run before dispatch. Legacy broker-token callables fail closed for launch; governed MCP and HTTP calls go through invokeTool.

ASI-06 Memory / Context Poisoning

Every memory.write row carries a trust_level set by the writer. PI scoring runs on inbound mail before the body reaches an agent; mail with pi_score > 0.5 flips the session untrusted_input tag. Read paths can filter by trust_level.

ASI-09 Human-Agent Trust Exploitation

EchoLeak (CVE-2025-32711) is the canonical example. Ujex's inbound-mail pipeline scores the body for prompt injection before any agent reads it. Outbound to a new recipient AND any external-source content read in the same turn flips the lethal-trifecta tag → mandatory Approval.

ASI-10 Rogue Agents

agent.disabled = true instantly fails every callable; the SDK refreshes the auth claim within 60s. The disablement itself is an audit row, providing chain-of-custody evidence.