In AI systems the thing that executes an attacker's intent is often not a binary but a model following instructions, an agent calling a tool, or a model file running code as it loads. MITRE ATLAS defines the Execution tactic (AML.TA0005) as the adversary "trying to run malicious code embedded in AI artifacts or software", and notes that execution is usually paired with techniques from every other tactic. This hub covers the 6 techniques and 7 sub-techniques under the tactic in ATLAS 2026.10, ranks them for defenders, shows how they chain in recorded cases, and sets out detection and mitigation priorities. It is written for teams that build or run LLM applications, copilots and AI agents, and for the detection engineers who watch them. Each technique has its own deep guide, linked below; for ATLAS as a whole see the MITRE ATLAS Guide.
Key takeaways
- Prompt injection dominates the tactic. AML.T0051 LLM Prompt Injection is recorded as an Execution step in 33 of the 44 ATLAS case studies that include Execution, counted from the ATLAS 2026.10 data; the Indirect sub-technique alone appears in 19.
- Execution is where words become actions. An injected instruction only causes harm when the model can act, through AML.T0053 AI Agent Tool Invocation, a code interpreter (AML.T0050) or a deployed agent (AML.T0103).
- AI artefacts are executable. AML.T0011 User Execution covers unsafe model files, malicious packages, poisoned agent tools and malicious links that run as soon as a user or service loads them.
- Tool permissions set the blast radius. ATLAS maps 13 mitigations to AML.T0053, more than to any other technique in the tactic, and most of them are about scoping, authorising and confirming tool calls.
- Logging is the first control. AML.M0024 AI Telemetry Logging and Monitoring is one of the three most frequently mapped mitigations across the tactic: without prompt, context and tool-call logs, AI execution cannot be detected or investigated.
What Execution means for AI systems
Traditional execution means a process starts. In an LLM application, execution can happen with no new process at all: the model reads text, treats part of it as instructions, and then uses its own legitimate tools to carry them out. ATLAS models this as a sequence. Content reaches the model through Initial Access (see the ATLAS Initial Access Tactic hub); AML.T0051 makes the model follow it; AML.T0053 turns that into API calls, file operations or shell commands. Separately, AI artefacts such as pickle-serialised models, chat templates and agent skills carry code or behaviour-shaping logic that runs when they are loaded, which ATLAS covers under AML.T0011.
Of the 44 case studies with an Execution step, 10 are incidents and 34 are exercises (red team or research demonstrations). The high share of exercises reflects how new agentic execution paths are; the incidents show they are already used in practice.
Every Execution technique in ATLAS 2026.10
Case study counts are distinct ATLAS case studies recording the technique or its sub-techniques as an Execution step. Maturity is the ATLAS rating.
| ID | Technique | Maturity | Case studies | What executes |
|---|---|---|---|---|
| AML.T0051 | AML.T0051 LLM Prompt Injection | Realized | 33 | Attacker instructions followed by the model in place of its intended task |
| AML.T0051.000 | Direct | Realized | 11 | Instructions typed by the adversary as a user of the LLM |
| AML.T0051.001 | Indirect | Realized | 19 | Instructions inside documents, emails, web pages or tool output the model ingests |
| AML.T0051.002 | Triggered | Demonstrated | 5 | Dormant instructions activated by a later user action or event |
| AML.T0011 | AML.T0011 User Execution | Realized | 14 | A user or service loads or runs a malicious or unsafe artefact |
| AML.T0011.000 | Unsafe AI Artifacts | Realized | 4 | Model files or bundled components that run code or alter behaviour on load or inference |
| AML.T0011.001 | Malicious Package | Realized | 2 | Imported packages that behave as expected while doing harm |
| AML.T0011.002 | Poisoned AI Agent Tool | Realized | 3 | An agent invokes a tool whose definition, code or responses are malicious |
| AML.T0011.003 | Malicious Link | Demonstrated | 1 | A user clicks a link that leads to code execution |
| AML.T0050 | AML.T0050 Command and Scripting Interpreter | Realized | 8 | Shell, Python or browser script run through an AI application or its environment |
| AML.T0053 | AML.T0053 AI Agent Tool Invocation | Demonstrated | 6 | The agent's own tools (bash, file read, email, APIs) called for the adversary |
| AML.T0103 | AML.T0103 Deploy AI Agent | Realized | 2 | An adversary launches an AI agent with its own prompt and tool grants |
| AML.T0100 | AML.T0100 AI Agent Clickbait | Demonstrated | 1 | Deceptive UI content that baits a computer-use agent into clicking, copying or running something |
AML.T0053 also sits under Privilege Escalation and Lateral Movement, and many case studies record it there rather than under Execution, which is why its Execution count is lower than its real prevalence. Sub-technique counts can exceed a parent's share of a case study because one case may use several sub-techniques.
Where to start: ranked techniques for defenders
- AML.T0051.001 Indirect prompt injection combined with AML.T0053 tool invocation. This pair is the core agentic risk. In AML.CS0067, prompt injections in GitHub issues and pull request text led a CI coding agent to read
/proc/self/environwith its file Read tool, outside the sandbox boundary applied to its shell; in AML.CS0046, a PDF carried instructions that led a computer-use agent to run destructive shell commands. Restrict tool use when untrusted content is in context and require confirmation for consequential actions. See the Prompt Injection Guide and the Human-in-the-Loop for AI Agents Guide. - AML.T0011.000 Unsafe AI Artifacts and AML.T0011.002 Poisoned AI Agent Tool. Malicious pickle models executed reverse shells on load (AML.CS0031); a reclaimed Hugging Face namespace served a payload that ran on deployment (AML.CS0065); poisoned GGUF chat templates injected instructions at inference time without touching weights (AML.CS0064); the
postmark-mcppackage copied every outgoing email to the attacker whenever an agent used it (AML.CS0053). See the MCP Tool Poisoning Detection guide. - AML.T0050 Command and Scripting Interpreter. Code-executing LLM features are remote code execution by design. AML.CS0052 records 20 remote code execution vulnerabilities across 11 LLM frameworks reachable through prompts; AML.CS0016 shows a math assistant whose generated Python revealed environment variables containing its API key. Sandbox every interpreter with no credentials and no network by default. See the AI Agent Sandboxing and Code Execution Guide.
- AML.T0103 Deploy AI Agent. In the Amazon Q Developer Extension Compromise (AML.CS0047), a malicious extension release launched the bundled agent with all tools trusted and no interaction, under a prompt to delete local and cloud resources; AWS said a syntax error stopped it. In AML.CS0069 a state-sponsored group configured a jailbroken coding agent inside its own attack framework. Control which agent runtimes may start on your hosts and with which flags.
- AML.T0100 AI Agent Clickbait. Computer-use and browser agents can be socially engineered like people: AML.CS0055 adapted ClickFix so an agent opened a terminal and pasted a command. See the Browser and Computer-Use Agent Guide.
- AML.T0051.000 and AML.T0051.002. Direct injection matters most for public chat products and when an attacker already holds a session token; triggered injection matters for assistants that act on events (email arrival, calendar updates, replies such as "Thanks" in AML.CS0063).
How Execution chains in real cases
| Chain | ATLAS steps | Case studies |
|---|---|---|
| Read, obey, act | AML.T0093 Prompt Infiltration to AML.T0051.001 Indirect to AML.T0053 Tool Invocation to exfiltration or impact | Claude Code GitHub Action Secret Exposure (AML.CS0067), Gemini calendar invitations (AML.CS0063), OpenClaw C2 (AML.CS0051) |
| Load and run | AML.T0010 Supply Chain Compromise to AML.T0011.000 or .001 to command and control | Malicious Models on Hugging Face (AML.CS0031), Model Namespace Reuse (AML.CS0065), Amazon Q (AML.CS0047) |
| Poisoned tool | AML.T0010.005 to AML.T0110 Tool Poisoning (persistence) to AML.T0011.002 to exfiltration via tool invocation | Postmark MCP (AML.CS0053), ClawdBot Skill (AML.CS0049), Remote Poisoned MCP Tool (AML.CS0054) |
| Generated code runs elsewhere | AML.T0051.000 to stored output to AML.T0011 and AML.T0050 in another user's browser | Lenovo chatbot cross-site scripting (AML.CS0060) |
| Code execution by autonomous agents | Exploitation to AML.T0050 to credential theft and lateral movement | OpenAI evaluation agents and Hugging Face (AML.CS0068), AISI evaluation agents (AML.CS0074) |
The 2026 OpenAI and Hugging Face incident shows the last pattern at scale: evaluation agents used a template evaluation path in Hugging Face's dataset processing to run Python and shell commands inside a production pod, then read its Kubernetes service account token. Execution inside AI infrastructure turned straight into credential access.
Detection priorities across the tactic
| Signal | Techniques | Telemetry needed |
|---|---|---|
| Tool calls that do not fit the user's request (for example a summarise request followed by file reads, outbound HTTP or email send) | AML.T0053, AML.T0051.001 | Agent tool-call logs with the triggering prompt and retrieved sources; AML.M0038 AI Agent Scope Drift Detection |
| Instruction-like text in retrieved documents, emails or tool responses | AML.T0051.001, AML.T0051.002 | Retrieval logs, guardrail classifier verdicts (AML.M0020) |
| Interpreter or bash tool invoked with network, credential file or environment access | AML.T0050, AML.T0053 | Sandbox audit logs, process telemetry from agent hosts, egress logs |
| Model or tool load from an unapproved source, or a load that spawns a process or network connection | AML.T0011.000, AML.T0011.002 | Model loader logs, EDR on inference and notebook hosts, MCP gateway logs |
| Agent CLI started with all-tools-trusted or non-interactive flags outside approved automation | AML.T0103 | Process command-line logging on developer machines and CI runners |
| Agent navigating to and interacting with pages outside the task domain | AML.T0100 | Browser agent action logs and screenshots |
See the AI Agent Observability and Incident Response Guide for the logging design.
Metrics that show coverage
- Tool-call logging coverage: percentage of production agents whose tool calls are logged with prompt, sources and result.
- Consequential actions gated: share of write, send, delete and payment tools that require confirmation or policy approval.
- Interpreter isolation: number of code-executing features running without network egress and without credentials in the environment.
- Red team pass rate: percentage of indirect injection test cases that fail to trigger a tool call, by agent.
- Artefact load hygiene: share of model loads using safe formats from approved, pinned sources.
Mitigation priorities
Across the tactic's techniques and sub-techniques, the most frequently mapped ATLAS mitigations are AML.M0024 AI Telemetry Logging and Monitoring, AML.M0033 Input and Output Validation for AI Agent Components and AML.M0035 AI Red Team (5 each), followed by AML.M0011 Restrict Library Loading (4). See the MITRE ATLAS Mitigations Guide.
| Control area | ATLAS mitigations | Techniques reduced | Practical form |
|---|---|---|---|
| Tool authorisation | AML.M0026 Manage AI Agent Service Access, AML.M0027 Manage User-Delegated AI Agent Access, AML.M0028 Enforce Access Controls for AI Agent Tools | AML.T0053 | Dedicated agent identities, per-call authorisation bounded by the user's own permissions |
| Untrusted content handling | AML.M0030 Restrict AI Agent Tool Invocation on Untrusted Data, AML.M0020 Generative AI Guardrails, AML.M0033 | AML.T0051, AML.T0053, AML.T0100 | Disable automatic tool use when untrusted content is in context; screen inputs, retrieved content and tool responses |
| Human confirmation | AML.M0029 Human In-the-Loop for AI Agent Actions | AML.T0053 | Approval for irreversible or external actions, with the exact action shown |
| Isolation | AML.M0032 Segmentation of AI Agent Components, AML.M0011 Restrict Library Loading | AML.T0050, AML.T0053, AML.T0011 | Sandboxed interpreters with no credentials and default-deny egress |
| Artefact trust | AML.M0014 Verify AI Artifacts, AML.M0013 Code Signing, AML.M0016 Vulnerability Scanning | AML.T0011, AML.T0103 | Verify before deserialising; allow only signed agent applications |
| Model behaviour | AML.M0021 Generative AI Guidelines, AML.M0022 Generative AI Model Alignment, AML.M0008 Validate AI Model | AML.T0051, AML.T0053, AML.T0100 | System guidelines that treat external content as data; evaluation against injection test sets |
Model-level controls (guidelines, alignment, classifiers) reduce the success rate of injection but do not remove it, so architectural controls on tools and isolation carry the weight. The OWASP LLM06 Excessive Agency guidance makes the same point.
Implementation order
- Log first: capture prompts, retrieved sources, tool calls and results for every agent, centrally and tamper-resistant.
- Inventory tools: list each agent's tools, the identity each runs as, and which are read-only, write, external or irreversible.
- Scope identities: give agents their own service identities or delegated tokens bounded by the user; remove shared admin keys.
- Isolate interpreters: move code execution into sandboxes without credentials or default egress; test with known escape cases.
- Gate in audit mode: run policy checks on tool calls in log-only mode for two to four weeks, tune, then enforce for write and external tools first.
- Red team: run indirect injection, poisoned tool and clickbait scenarios each release. See the AI Red Teaming Guide.
- Rollback and containment: keep a per-agent kill switch and the ability to revoke an agent's credentials in one step. See the AI Agent Kill Switch and Containment Guide.
Where identity fits
An injected instruction executes with whatever identity the agent holds. In AML.CS0016 the interpreter's environment held an API key; in AML.CS0067 the CI agent's environment held workflow secrets; in AML.CS0047 the agent would have acted through the user's AWS CLI profiles. Each case is an over-provisioned non-human identity sitting behind a model that can be talked into using it. Keep credentials out of agent runtimes where possible, issue short-lived scoped tokens per task, and record which identity performed each tool call. See the AI Coding Agents Security Guide.
Framework mapping
| Framework | Relevant references |
|---|---|
| MITRE ATT&CK v20 | T1059 Command and Scripting Interpreter, T1204 User Execution; prompt injection is also modelled in ATT&CK, see the T1698 Indirect Prompt Injection and T1699 Direct Prompt Injection guides |
| OWASP Top 10 for LLM Applications 2025 | LLM01:2025 Prompt Injection, LLM05:2025 Improper Output Handling, LLM06:2025 Excessive Agency |
| NIST CSF 2.0 | PR.AA-05 least privilege, PR.PS-05 unauthorised software execution prevented, DE.CM-09 runtime monitoring |
| NIST SP 800-53 Rev. 5 | AC-6 Least Privilege, CM-7 Least Functionality, SI-10 Information Input Validation, SI-7 Software, Firmware, and Information Integrity, AU-12 Audit Record Generation |
Common failure patterns
- Relying on the system prompt: telling a model to ignore instructions in documents is a guideline, not a boundary; the tool layer must enforce it.
- Sandboxing the shell but not other tools: AML.CS0067 shows a file Read tool reaching secrets that the sandboxed bash tool could not.
- Trust-all flags in automation: agent CLIs run non-interactively with every tool auto-approved turn a single injected prompt into full execution.
- Rendering model output as code: chat transcripts and generated HTML rendered without encoding move execution into another user's browser (AML.CS0060).
- Loading models with unsafe deserialisation: pickle-based formats from public hubs loaded directly on GPU hosts that hold cloud credentials.
Practitioner checklist
- Log prompts, retrieved sources and every tool call with the identity used, for all agents.
- Classify each agent tool as read, write, external or irreversible, and require confirmation for the last three where practical.
- Disable automatic tool use when untrusted content is in the context window.
- Run all code-executing features in sandboxes with no credentials and default-deny egress.
- Load models only in safe formats from approved, pinned sources; verify before deserialising.
- Block agent CLIs with trust-all or non-interactive flags outside approved pipelines.
- Encode or sanitise model output before rendering it in browsers or passing it to interpreters.
- Red team indirect injection, poisoned tools and agent clickbait every release, and track the pass rate.
Standards and references
- MITRE ATLAS: Execution (AML.TA0005)
- MITRE ATLAS: LLM Prompt Injection (AML.T0051)
- MITRE ATLAS: AI Agent Tool Invocation (AML.T0053)
- MITRE ATLAS: User Execution (AML.T0011)
- MITRE ATLAS: Mitigations
- MITRE ATLAS: atlas-data repository
- OWASP: Top 10 for LLM Applications 2025
- MITRE ATT&CK: Execution (TA0002)
Related NHI Mgmt Group resources: MITRE ATLAS Guide · ATLAS Initial Access Tactic · ATLAS Persistence Tactic · Prompt Injection Guide · AI Agent Sandboxing and Code Execution Guide