Prompt Injection Now Has ATT&CK IDs: T1698, T1699, T1700
What the three new MITRE IDs mean, which of them has a published detection, and what an app builder can log and test today.
Published Last updated
MITRE ATT&CK v20, released October 13, 2026, gave prompt injection its own technique IDs: T1698 for indirect injection, T1699 for direct injection and T1700 for AI-enabled exfiltration. Of those three, only T1700 has a MITRE detection strategy so far. If your app has an AI feature, use the IDs as labels for what you log and test, and mark each one detected, unknown or confirmed by owner evidence.
What did MITRE add in ATT&CK v20?
ATT&CK is MITRE's catalog of how attackers behave, used by security teams to name what they see. The v20 release notes list the new AI entries below. SecurityWeek reported on October 19 that the release also adds 15 detection strategies (6 Enterprise, 9 ICS) backed by 38 analytics.
| ID | Name | Tactic | Last modified |
|---|---|---|---|
| T1698 | Indirect Prompt Injection | Execution (TA0002) | October 12, 2026 |
| T1699 | Direct Prompt Injection | Execution (TA0002) | September 22, 2026 |
| T1700 | AI-Enabled Exfiltration | Exfiltration (TA0010) | October 9, 2026 |
| T1608.007 | AI Result Poisoning | Resource Development (TA0042) | October 7, 2026 |
Checked on MITRE's pages on October 24, 2026. The first three are version 1.0 and list SaaS and Windows as platforms.
What does each ID mean for an app with an AI feature?
MITRE writes for organizations defending their own AI agents. If you ship an app with a chat or assistant feature, you are the one running that agent, so the same three steps apply to your request path.
T1699: the person using the app is the source
MITRE describes input typed straight into the model's interface to bypass safeguards or force behavior you did not intend. Its mitigation text says to prevent user-supplied prompts from directly authorizing consequential actions, and to tie interactions to authenticated identities. In your app, that means the model should never be the thing that decides whether a user may do something.
T1698: the content the model reads is the source
Here the instructions sit in web pages, documents, emails, tickets or code that the model retrieves later. The user never typed them. MITRE lists independent authorization for requests that come from content, dedicated agent identities with minimal permissions, and limited network access for agents that read untrusted content. The inbox assistant page and the web form to CRM case show what this looks like in practice.
T1700: the way out is the source
T1700 covers an injected agent using its tool connections to move data out. MITRE notes that other exfiltration techniques then apply to the transfer itself. A chat window that renders images from model output is a small example; the advisory for CVE-2026-22551 describes it in an AI chat product, fixed in version 1.71.0. Our page on the content security policy fix covers the setting.
Which of these IDs come with a MITRE detection?
At our check on October 24, 2026, MITRE's detection strategies list has none for T1698 or T1699. It has DET0927 for T1700 and DET0922 for AI Result Poisoning.
| ID | MITRE detection at Oct 24, 2026 | What you can log in your own app |
|---|---|---|
| T1698 | None listed | A source label on every piece of text sent to the model: user, upload, fetched page, email, database row |
| T1699 | None listed | The signed-in user ID, a per-user message count and any refused or blocked request |
| T1700 | DET0927, with a SaaS analytic (AN2078) that looks for an agent reading protected data, calling a tool with it and a destination recording a transfer outside authorized flows | Tool name, user, destination host and size of each tool call, with secrets and message bodies left out |
| T1608.007 | DET0922, which says there is no target-side behavioral analytic | If the feature searches the web, the list of domains it read from |
The IDs are most useful as shared words. When you write an incident note, a ticket or a message to a client or an agency partner, "a T1698 path reached the support-ticket tool" says where the injected text came from and which step to fix. It also lets you search other people's reports for the same label. Use them for naming, and keep the evidence next to the label: the log line, the tool call and the date.
T1608.007 is different. It happens on the public web, before any of your code runs, and MITRE says a defender cannot reliably tell it from ordinary publishing. If your AI feature browses or searches, the practical control is the same as for T1698: treat what it reads as untrusted and keep its permissions small.
What a missing detection means
No published detection for T1698 and T1699 does not mean the behavior cannot be seen. It means nobody has written a shared rule yet, so your own logs are the evidence. The right column is our suggestion, not MITRE's.
What should you check in your own app this week?
OWASP's LLM01:2026 Prompt Injection covers direct and indirect injection in one entry and lists controls such as holding credentials in application code and requiring human confirmation before privileged or irreversible actions. OpenAI's agent safety guide adds structured outputs between steps, so there is no free-text channel to abuse. CISA's May 2026 agentic AI guide says to avoid broad or unrestricted access to sensitive data. Turned into five checks:
- List the inputs. Search your server code for every call to the model and write down where its text comes from. Anything that is not the signed-in user's own message is T1698 territory.
- List the tools. For each one, find which credential it uses. A service key that can read every user's rows lets one injected request reach all of them. Call each tool as a second test account.
- Find the exits. Any tool that fetches a URL, sends an email or message, writes to a repository or renders a remote image is a T1700 route. Restrict it to hosts you name.
- Search your env files for
EXPO_PUBLIC_. Expo's docs state that these values are visible in plain text in the compiled app. A provider key there lets anyone call the model without your prompt, your limits or your logs, and AI inside a Newly app uses credits. - Add the log fields from the table above and read one day of them. Look for tool calls to hosts you did not expect.
The wider list, including a hands-on chat test, is in the 15-minute chatbot self-test, and the pre-launch review puts it next to the other checks. If your tools are MCP servers, use the MCP authorization checklist. The overview is Is my AI-built app secure?
Where do you stand?
Every item starts as unknown. Move one to confirmed only when you hold the evidence listed under it. A scan from outside cannot move any of these for you, because the model's behavior and your server logs are not visible from a public request.
Your prompt injection check, by ATT&CK ID
- Detected: You found the problem.
- Unknown: Not checked yet, or the check could not tell.
- Confirmed by owner evidence: You checked and kept the proof.
Your answers stay in this browser tab. Nothing is saved or sent.
Frequently asked questions
Which ATT&CK ID is direct prompt injection and which is indirect?
T1699 is Direct Prompt Injection: text a person types into the model's interface. T1698 is Indirect Prompt Injection: instructions placed in content the model later reads, such as a web page, document, email or ticket. The order is easy to swap, so check the ID before you write it into a report.
Does ATT&CK v20 tell me how to detect prompt injection?
Not directly. At our check on October 24, 2026, the pages for T1698 and T1699 list mitigations but no detection strategy. T1700, AI-Enabled Exfiltration, has DET0927 with three analytics. For the other two, detection comes from the logs your own app keeps.
Is my mobile app in scope for these techniques?
The techniques list SaaS and Windows as platforms and describe enterprise AI agents. An app you built with an AI feature still has the same pattern: a model that reads text and can call tools. The IDs give you shared labels. MITRE does not list mobile as a platform, and this page does not claim a mapping to Expo or React Native apps.
Can a good system prompt stop prompt injection?
It lowers the odds and does not close the problem. OWASP's 2026 entry says language models make no architectural distinction between instructions and data, and lists holding credentials and state-changing power in application code, not in the model, as a control. Limit what a successful injection can reach.
What is T1608.007 AI Result Poisoning and does it affect me?
It describes publishing web content to steer how AI search and assistants answer. MITRE notes it happens outside enterprise defenses and that a defender cannot reliably tell it from ordinary publishing. It matters to your app only if the AI feature searches the web and acts on what it finds.
Does a red.run.cloud scan find prompt injection?
No. The free scan reads the stack your site serves and matches versions to known vulnerabilities, and the full scan looks for reachable paths from outside. Neither one reads your model's behavior or your server-side logs, so prompt injection stays unknown until you have your own evidence.
Sources
All sources were opened on October 24, 2026. Back to the security hub.
- ATT&CK v20 release notes, October 13, 2026, MITRE ATT&CK
- T1698 Indirect Prompt Injection, MITRE ATT&CK
- T1699 Direct Prompt Injection, MITRE ATT&CK
- T1700 AI-Enabled Exfiltration, MITRE ATT&CK
- T1608.007 Stage Capabilities: AI Result Poisoning, MITRE ATT&CK
- DET0927 Detect AI-Enabled Exfiltration, MITRE ATT&CK
- DET0922 Detection of AI Result Poisoning, MITRE ATT&CK
- ATT&CK detection strategies list, MITRE ATT&CK
- MITRE ATT&CK v20 catalogs AI abuse, October 19, 2026, SecurityWeek
- OWASP Top 10 for LLM Applications 2026, OWASP GenAI Security Project
- LLM01:2026 Prompt Injection, OWASP GenAI Security Project
- Safety in building agents, OpenAI developer docs
- Careful Adoption of Agentic AI Services, May 1, 2026, CISA
- GHSA-qwjm-9c66-w4q4 (CVE-2026-22551), markdown image exfiltration, GitHub Advisory Database
- Environment variables in Expo, Expo docs
