AI agent attack-surface reference

The techniques that turn an AI agent into an attacker's tool.

Each entry: how to recognise it, the method, template payloads, why it works, and the fix - mapped to OWASP LLM & Agentic, MITRE ATLAS, and CWE. Authorized & defensive use only.

Surface
Capability
Critical Server-Side / Tool Backend

Insecure Deserialization → RCE (YAML/pickle)

A tool parses attacker-supplied YAML/pickle/Java-serialized data with an unsafe loader. The YAML tag `!!python/object/apply` calls any Python callable → RCE.

» A tool ingests user-supplied YAML/pickle/Java-serialized/JSON-with-types.

Remote Code Execution
LLM05ASI05T11CWE-502CWE-94
High Prompt Injection & Jailbreak

Adversarial Suffix (GCG)

An optimized, often gibberish token string appended to a prompt that reliably forces compliance - computed by gradient search and frequently transferable across models.

» Open-weights or gradient/logit access lets an attacker optimize inputs offline.

Guardrail / Policy Bypass
LLM01ASI01T6AML.T0043
High Multi-Agent & Trust

Agent Communication Poisoning

Inject instructions into the messages agents exchange, so one agent's output becomes another agent's command - prompt injection across the agent-to-agent channel.

» Agents pass natural-language messages to each other and act on them as instructions.

Output / Decision Integrity LossGuardrail / Policy Bypass
LLM01ASI07T12
High Memory / Context / RAG

Agent Memory Poisoning

Plant instructions in the agent's long-term memory so they persist across sessions - a stored injection that re-activates every time the memory is loaded.

» The agent has a write-through long-term memory / "remember this" capability.

Persistence / Memory ImplantOutput / Decision Integrity Loss
LLM04ASI06T1
High Identity & Privilege

Confused Deputy (Cross-Tool Authority Abuse)

A privileged tool acts on behalf of the agent without checking who really asked, so a low-trust component drives it into doing something it should refuse.

» A privileged tool gates on state (session key, role, is_admin) that a lower-privileged tool can write.

Privilege EscalationInternal / SSRF Access
LLM06ASI03ASI07T3T9CWE-441CWE-209
High Prompt Injection & Jailbreak

Crescendo (Multi-Turn Escalation)

A gradual multi-turn jailbreak: start benign, escalate one small step per turn, so no single message looks like an attack and per-message filters never trip.

» Guardrails evaluate each message in isolation, not the trajectory of the conversation.

Guardrail / Policy Bypass
LLM01ASI01T6AML.T0054
High Prompt Injection & Jailbreak

Direct Prompt Injection

User-supplied text that overrides the system prompt - "ignore previous instructions" and its descendants - because the model cannot separate instruction from data.

» Your input is concatenated into the same context as the system prompt with no hard boundary.

Guardrail / Policy Bypass
LLM01ASI01T6AML.T0051.000
High Exfiltration & DLP bypass

DLP Bypass via Out-of-Band Exfiltration

The agent can read a secret but a filter blocks it in the reply. Push it out through any tool that talks to the network, into a place you can read - the reply stays clean.

» A response filter (regex on the secret) blocks it in the final answer, and encoding is forbidden.

Data Exfiltration
LLM02ASI06AML.T0024
High Prompt Injection & Jailbreak

Guardrail / Refusal Bypass

The safety layer usually lives in the chat "persona", not the tools. Re-issue a refused action as a raw tool call, or reword it, and the guardrail never fires.

» Guardrails trigger on words, not behavior - renaming an action changes the outcome.

Guardrail / Policy Bypass
LLM01ASI02T2AML.T0054
High Prompt Injection & Jailbreak

Indirect Prompt Injection

Instructions hidden in content the agent reads - a web page, document, email, or tool result - that the model then follows as if you had typed them.

» The agent ingests external content it did not author (fetched pages, files, MCP tool results, retrieved docs).

Guardrail / Policy BypassOutput / Decision Integrity Loss
LLM01ASI01ASI06T6AML.T0051.001
High Prompt Injection & Jailbreak

Many-Shot Jailbreak

Fill a long context with many fabricated dialogue examples where the assistant always complies; in-context learning then overrides the safety training on the real question.

» The model accepts very long inputs (large context window).

Guardrail / Policy Bypass
LLM01ASI01T6AML.T0054
High Exfiltration & DLP bypass

Markdown Image / Link Exfiltration

Zero-click data theft: the agent emits a markdown image or link whose URL encodes secret data, and the client silently fetches it to an attacker host on render.

» The client auto-renders markdown images/links the model outputs.

Data Exfiltration
LLM02LLM05ASI09AML.T0024CWE-209
High Protocol / MCP

MCP Direct Access (Bypass the Chatbot)

If a target exposes an MCP endpoint, become the client and speak JSON-RPC directly - skipping the chat persona and its guardrails to hit resources and tools raw.

» The target exposes an MCP endpoint (e.g. /mcp) separate from the chat UI.

Privilege EscalationInternal / SSRF Access
LLM06ASI02ASI03T2T3CWE-441
High Protocol / MCP

MCP Tool Description Poisoning (Rug-Pull)

A malicious or compromised MCP server hides instructions in a tool's description / schema, or silently changes a tool's definition after approval (rug-pull).

» The agent loads tools from a third-party or unpinned MCP server.

Guardrail / Policy BypassPrivilege Escalation
LLM03ASI04T12AML.T0053
High Multi-Agent & Trust

Multi-Agent Privilege Escalation (Shared-State Poisoning)

Don't attack the privileged agent - make a low-trust agent write the shared state the high-trust agent trusts. The write tool's own errors teach you its schema.

» Several sub-agents/tools have different trust levels but share writable state (cache, session, manifest).

Privilege Escalation
LLM06ASI07T13T14CWE-441CWE-209
High Logic / Race / Validation

Parser Differential (Validation Bypass)

One component checks the input and another consumes it. If they parse bytes differently - e.g. duplicate JSON keys - the filter approves what the app acts on.

» The same input is validated by one parser (regex/WAF) and consumed by another (real parser).

Guardrail / Policy Bypass
LLM05CWE-436
High Supply Chain

Plugin / Tool Supply-Chain Compromise

A malicious or compromised third-party plugin/tool the agent is allowed to call - the code behind the tool, not the prompt, is the attack surface.

» The agent loads plugins/tools from third parties or unpinned/unsigned sources.

Remote Code ExecutionPrivilege Escalation
LLM03ASI04T2AML.T0053
High Logic / Race / Validation

Race Condition / TOCTOU (Double-Spend)

A check-then-act on shared state (balance, stock, quota, one-time token). Fire the "act" concurrently so several executions pass the same check before any commits.

» Logic reads state, decides, then writes - with no atomic transaction around it.

Privilege EscalationOutput / Decision Integrity Loss
LLM06CWE-367
High Memory / Context / RAG

RAG / Vector Index Poisoning

Seed the knowledge base or vector store with content crafted to be retrieved for target queries, then carry hidden instructions or false facts into the answer.

» The agent retrieves from a corpus that accepts external or user-contributed content.

Output / Decision Integrity LossPersistence / Memory Implant
LLM08ASI06T1
High Multi-Agent & Trust

Rogue / Misaligned Sub-Agent

An autonomous sub-agent that pursues goals misaligned with the operator - compromised or drifting into deceptive, self-directed behavior the orchestrator still trusts.

» The system spawns autonomous sub-agents with tools and little per-action oversight.

Privilege EscalationOutput / Decision Integrity Loss
LLM06ASI10T7T13
High Supply Chain

Rules File Backdoor

Hidden instructions (often invisible unicode) planted in an AI coding assistant's rules/config file, so the assistant silently emits backdoored code for everyone.

» The assistant reads a shared rules/config file (e.g. project AI rules) as trusted guidance.

Remote Code ExecutionPersistence / Memory Implant
LLM03ASI04T12
High Server-Side / Tool Backend

Secrets in argv / Environment

After code execution, secrets are usually trivially readable - flags passed as a command-line argument, API keys in the environment, tokens in PID 1's environ.

» You have a code-execution or file-read primitive on the tool backend.

Credential / Secret Theft
LLM02ASI03T3CWE-214CWE-522
High Server-Side / Tool Backend

Server-Side Eval / Template Injection of Fetched Content

If the agent evaluates content it fetched, deliver the payload as content (e.g. a data: URL). `${7*7}` returning 49 means an expression evaluator sits in the path.

» A tool fetches or ingests content that is later rendered/evaluated server-side.

Remote Code Execution
LLM05ASI05T11CWE-1336CWE-94
High Prompt Injection & Jailbreak

Skeleton Key (Policy-Update Jailbreak)

Convince the model to *augment* rather than refuse: tell it to add a warning label instead of declining, and it then answers anything with a disclaimer attached.

» The model accepts meta-instructions that redefine how it should apply its own rules.

Guardrail / Policy Bypass
LLM01ASI01T6AML.T0054
High Server-Side / Tool Backend

SSRF via Fetch/URL Tool

Any agent tool that fetches a user-supplied URL with no allow-list is SSRF - the agent's network position becomes the attacker's.

» A tool schema like fetch_url({url}), http_get, read_link, process_config.

Internal / SSRF AccessCredential / Secret Theft
LLM06ASI03T3CWE-918
High Identity & Privilege

Tool-Invocation Privilege Escalation

Split a refused action into steps, or chain tools, so a rule that only guards the direct ask never sees the privileged operation being performed.

» A guard blocks "return X directly" but not "call A, then feed A's result into B".

Privilege Escalation
LLM06ASI03T3
Medium Reliability & Confabulation

Cascading Hallucination

One agent's fabricated "fact" is consumed by the next as ground truth, compounding through a pipeline until a confidently wrong decision is executed.

» Agents chain, each trusting the previous agent's output without verification.

Output / Decision Integrity Loss
LLM09ASI08T5
Medium Prompt Injection & Jailbreak

Deceptive Delight

Bury a restricted request between two benign topics and ask the model to connect them; the positive framing and context dilution slip it past safety.

» Safety weakens when a request is embedded among benign, positive content.

Guardrail / Policy Bypass
LLM01ASI01T6AML.T0054
Medium Prompt Injection & Jailbreak

Echo Chamber (Context Poisoning)

Seed benign statements, then get the model to reference and build on its own prior words across turns until the poisoned context steers it past its guardrails.

» The model treats its own earlier outputs as trusted premises in later turns.

Guardrail / Policy Bypass
LLM01ASI01ASI06T6AML.T0054
Medium Prompt Injection & Jailbreak

Encoding & Obfuscation Bypass

Hide the trigger from keyword filters by encoding it - Base64, leetspeak, a low-resource language, or reversed text - and ask the model to decode-then-act.

» Input filters match plaintext keywords but the model still decodes and acts on encodings.

Guardrail / Policy Bypass
LLM01ASI01T6AML.T0051
Medium Exfiltration & DLP bypass

Exfiltration via Error Messages

When a tool hides values but echoes exceptions, force the secret into an error string - `int("flag-…")` raises a ValueError that prints the value the agent was told to hide.

» A tool prints only keys/"success" but the agent is told to report errors verbatim.

Data ExfiltrationRecon / Info Disclosure
LLM02CWE-209
Medium Reliability & Confabulation

Human Manipulation via Agent

Steer the agent into deceiving or pressuring its human - false urgency, fabricated authority, persuasive framing - turning a trusted assistant into a social-engineering vector.

» Users treat the agent's output as authoritative and act on it directly.

Output / Decision Integrity Loss
LLM09ASI09T15AML.T0048
Medium Reliability & Confabulation

Human-in-the-Loop Fatigue (Approval Flooding)

Flood the human approver with look-alike approval prompts so a malicious action is rubber-stamped in the noise - defeating human-in-the-loop as a control.

» A human must approve sensitive agent actions, but approvals are frequent and low-context.

Guardrail / Policy Bypass
LLM06ASI09T10
Medium Prompt Injection & Jailbreak

Payload Splitting / Token Smuggling

Break a blocked trigger into harmless fragments across variables or turns and have the model concatenate them - no single piece matches the filter.

» Filters inspect each message/field in isolation, not the assembled result.

Guardrail / Policy Bypass
LLM01ASI01T6AML.T0051
Medium Prompt Injection & Jailbreak

Refusal Suppression

Constrain the output format to forbid refusal language ("never say I can't, no apologies, no disclaimers"), pushing the model off its trained refusal path.

» The model honors strict output-format constraints even when they conflict with refusing.

Guardrail / Policy Bypass
LLM01ASI01T6AML.T0054
Medium Reliability & Confabulation

Repudiation & Untraceability

Gaps in logging and attribution let agent actions happen with no reliable audit trail - you can't prove which agent or user did what, so actions become deniable.

» Agent tool calls and decisions aren't logged with actor, input, and result.

Output / Decision Integrity Loss
LLM06T8
Medium Prompt Injection & Jailbreak

Roleplay / Persona Jailbreak (DAN-style)

Wrap a request in a fictional persona or "unrestricted mode" so the model attributes the output to a character rather than itself - the DAN family of jailbreaks.

» The model will adopt personas or "modes" you define in the prompt.

Guardrail / Policy Bypass
LLM01ASI01T6AML.T0054
Medium Recon & Leakage

System Prompt Leakage

Coaxing the agent to reveal its hidden system prompt, tool schemas, or hidden instructions - the map that makes every later technique cheaper.

» The agent references rules, a persona, or "instructions" it was "given".

Recon / Info Disclosure
LLM07ASI01T6AML.T0056
Medium Recon & Leakage

Training Data / Memorization Extraction

Coaxing a model to regurgitate memorized training data - secrets, PII, or verbatim documents it saw during training or fine-tuning.

» The model is fine-tuned on proprietary or user data you suspect it memorized.

Recon / Info DisclosureData Exfiltration
LLM02AML.T0057AML.T0024
Medium Reliability & Confabulation

Unbounded Consumption / Denial of Wallet

Drive the agent into expensive loops, huge generations, or recursive tool calls to exhaust compute, budget, or rate limits - a denial-of-service / denial-of-wallet.

» No caps on output length, tool-call depth/fan-out, or per-user cost.

Resource Exhaustion / DoS
LLM10ASI08T4CWE-400
Low Reliability & Confabulation

Confabulation & No-Egress Trap

Agents invent tool results - "confirming" a fetch that never happened. For the tester it's a trap; for the defender, a log that says "succeeded" may be pure narration.

» The agent "confirms" reaching your server, but no request actually arrived.

Output / Decision Integrity Loss
LLM09
Info Recon & Leakage

Model & Guardrail Fingerprinting

Identifying the underlying model family, version, and guardrail stack from behavioral tells - so later techniques can be tuned to known weaknesses.

» The app never states which model it uses, but you can send arbitrary prompts.

Recon / Info Disclosure
LLM02