Skip to content
MoorAI
// MoorAI · Frameworks · MITRE ATT&CK v20

MITRE ATT&CK v20 coverage, technique by technique

Every MoorAI rule mapped to MITRE ATT&CK Enterprise v20.0. For each technique an AI agent on an endpoint, server or AI runtime can perform or be aimed at: the rules that credit it, the coverage level each one claims, the reason, and the lane that can see it. The announcement and method are in What ATT&CK v20 means for AI agents →

Mapping from MoorAI agent v1.17.1, released 14 October 2026 MITRE ATT&CK Enterprise v20.0, released 13 October 2026 Use it in a SIEM Sources

The rule base against ATT&CK v20.0
47 / 80 rules with an ATT&CK credit 33 state why they have none
91 credits 3 full, 75 partial, 13 none
64 distinct techniques credited all inside the 71-technique scope
2 / 71 in-scope techniques covered 54 partial, 15 uncovered
The 71 in-scope techniques, by lane
58 in the agent lane
2 / 53 / 3 agent lane covered / partial / uncovered
13 outside the agent lane
0 / 1 / 12 outside covered / partial / uncovered
What these levels are, and are not

Coverage is a mechanism claim, not a detection rate. A credit says a shipped MoorAI mechanism addresses the technique as an AI agent MoorAI watches performs it. It does not say how often that mechanism fires, or misses.

The scope and the lanes are MoorAI’s judgement. MITRE publishes the techniques. Which 71 of them an AI agent can perform or be aimed at, and which surface can see each one, is MoorAI’s reading of them, kept in the agent repository as ATTACK_SCOPE in data/attack.js.

How a technique is scored

Each of the 80 rules in the agent’s data/threats.json carries an attack field: zero or more ATT&CK v20.0 technique ids, each with a level and a one-line reason.

  • full a shipped mechanism addresses the technique as an AI agent MoorAI watches performs it.
  • partial a shipped mechanism addresses part of it, and the reason states the bound.
  • none the technique corresponds to the threat, but MoorAI ships no runtime mechanism for it.

A technique is covered when any rule credits it full, partial when its best credit is partial, and uncovered when it has only none credits or no rule at all. A rule with no technique states why in an attackNote; 33 rules do.

Lanes: who can see each technique

Every in-scope technique sits in one lane. Only the agent lane passes through a surface MoorAI sees: a hook, a model proxy, the MCP proxy or gateway.

LaneWho can see itTechniquesCoveredPartialUncovered
Agentan action an AI agent takes that a MoorAI hook, proxy or gateway sees582533
EDRhost activity outside any agent's tool calls (endpoint detection territory)1001
Identitysign-ins, tokens and accounts at an identity provider or SaaS tenant3003
Emailmail, voice and messaging that reach a person, not an agent4013
Adversary infrastructurethe adversary's own infrastructure, before anything touches the victim5005
All in scope7125415

Technique by technique, per tactic

One table per ATT&CK tactic, in matrix order. 8 techniques belong to more than one tactic and are listed under each, as ATT&CK lists them; every count on this page counts a technique once. Technique names link to MITRE’s own page.

Reconnaissance · 1 technique: 0 covered, 0 partial, 1 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1682 Query Public AI Services Adversary infrastructure uncovered No MoorAI rule.

Resource Development · 4 techniques: 0 covered, 1 partial, 3 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1608.007 AI Result Poisoning Agent partial
  • #70 Content aimed only at the AI client partialthe AI-audience cloaking form of result poisoning, when an agent MoorAI watches fetches the page; plain fabricated content and AI search engines are out of reach
T1683.001 Written Content Adversary infrastructure uncovered
  • #10 AI-enhanced phishing nonethe adversary's own content generation happens off the victim's devices
  • #30 AI-Generated Invoices nonegenerated invoices are not inspected and bank details are not verified
T1683.002 Audio-Visual Content Adversary infrastructure uncovered
  • #12 Deepfake voice or video nonesynthetic voice and video are not analysed
  • #31 Synthetic Identity of suppliers or candidates nonesynthetic personas, photos and voices are not analysed
T1588.007 Artificial Intelligence Adversary infrastructure uncovered No MoorAI rule.

Initial Access · 4 techniques: 0 covered, 1 partial, 3 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1195.001 Compromise Software Dependencies and Development Tools Agent partial
  • #25 MCP / Connector Tool Poisoning partialserver allow-list, first-launch reputation and tool-drift quarantine bound which MCP servers an agent loads; a new malicious package with a clean name scores good
  • #60 AI rules/config file poisoning partialagent config and skill files (SKILL.md, rules, .mcp.json, hooks) and IDE auto-run surfaces (.vscode/tasks.json, .idea run configs, devcontainer) scanned for directives and drift
  • #62 Hallucinated or typosquatted dependency partialinstall-time offline check of the package name against known-bad and near-miss lists; a novel malicious name passes
  • #80 Repository cloned and run in one command partiala cloned repository's install or start scripts run in the same command (notify mode)
  • #4 Downloading malicious Skills, Plugins, or Extensions nonecoaching entry only; the runtime scan of auto-loaded skill files is credited on #60
T1078.004 Cloud Accounts Identity uncovered
  • #26 AI Account Takeover noneMoorAI does not see sign-ins to an AI provider; identity-provider territory
T1566 Phishing Email uncovered
  • #10 AI-enhanced phishing nonecoaching only; MoorAI does not inspect inbound mail
T1566.004 Spearphishing Voice Email uncovered
  • #13 AI-based Vishing and Smishing nonevoice and SMS lures reach the person, not an agent

Execution · 12 techniques: 2 covered, 10 partial, 0 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1698 Indirect Prompt Injection Agent covered
  • #3 Indirect Prompt Injection fulloverride directives in fetched pages, files, command output, MCP results and sub-agent reports are scanned after the tool runs
  • #40 Second-Order Prompt Injection fullinj-untrusted-directive fires at the file, index and tool-output stages: an imperative planted in a ticket, form or data source a later agent reads
  • #21 Knowledge-base poisoning / RAG Poisoning partialrag-poisoning scans content headed into an index before it is embedded; content already indexed, or embedded without a MoorAI call, is not seen
  • #60 AI rules/config file poisoning partialdirectives in MCP tool descriptions and schemas the model reads
  • #69 Agent capability enumeration partialingested content asking the agent to enumerate its tools, permissions or reachable paths
  • #70 Content aimed only at the AI client partialblocks addressed only to AI readers that contradict the visible page
  • #72 Instructions in file metadata partialdirectives in EXIF, XMP, ID3 and PDF metadata fields only
  • #74 Self-replicating prompt partialingested instructions telling the model to copy themselves into replies, files, commits or other agents
T1699 Direct Prompt Injection Agent covered
  • #2 Direct Prompt Injection fulleight prompt-stage detectors match override, jailbreak-template, prefix-forcing, persona and persuasion prompts typed to the model
  • #51 System-prompt extraction attempt partialsysprompt-extract matches system-prompt extraction probes only
T1059.001 PowerShell Agent partial
  • #54 Reverse shell / remote code execution partialPowerShell TCPClient reverse shells
T1059.004 Unix Shell Agent partial
  • #54 Reverse shell / remote code execution partialbash /dev/tcp, nc -e and socat exec reverse shells
T1059.006 Python Agent partial
  • #54 Reverse shell / remote code execution partialPython socket reverse shells
T1059.013 Container CLI/API Agent partial
  • #46 Changing security settings, IAM, or firewall partiala host-escape container the agent runs: --privileged, host-root bind mount, --pid=host, SYS_ADMIN/ALL cap, nsenter into PID 1, or a privileged kubectl pod
T1204.001 Malicious Link Agent partial
  • #17 Dangerous links, files, or scripts from AI output partialout-links warns on every link in a reply; it does not judge the destination (#75 does for deceptive ones)
  • #68 Crafted AI assistant link partiallinks that open an assistant with a prompt prefilled through ?q= and ask it to persist
  • #75 Deceptive link in AI output partiala link whose shown address differs from its real host, a userinfo-hidden host, or bidi or zero-width characters inside the URL
T1204.002 Malicious File Agent partial
  • #76 Unsafe AI model loading partialmodel-load calls that execute code from the file (pickle loads, weights_only=False, trust_remote_code)
T1204.004 Malicious Copy and Paste Agent partial
  • #32 AI-Assisted Malware - dangerous code, macros, and scripts partialout-code-exec flags runnable code and risky commands in a reply (code fences, PowerShell, curl to a shell) before a person pastes them; the terminal is not watched
T1204.005 Malicious Library Agent partial
  • #57 Unsanctioned or malicious package install partialpip, npm, cargo and go installs from a URL, git or an alternate index, and auto-yes npx
  • #62 Hallucinated or typosquatted dependency partialthe agent's install command is the user-execution step; judged by name only
T1677 Poisoned Pipeline Execution Agent partial
  • #32 AI-Assisted Malware - dangerous code, macros, and scripts partiala Write/Edit into a CI/CD config adding a fetch-to-shell step, a pipeline-secret exfiltration, or a pull_request_target trigger; report-only
T1053.003 Cron Agent partial
  • #46 Changing security settings, IAM, or firewall partiala crontab install or edit, or a write to a system cron location, run through the agent's shell; listing a crontab is allowed

Persistence · 11 techniques: 0 covered, 9 partial, 2 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1176.002 IDE Extensions Agent partial
  • #57 Unsanctioned or malicious package install partialan editor extension side-loaded from a local .vsix or URL (code/cursor/windsurf --install-extension), or written into the extensions directory; marketplace installs by id pass
T1053.003 Cron Agent partial
  • #46 Changing security settings, IAM, or firewall partiala crontab install or edit, or a write to a system cron location, run through the agent's shell; listing a crontab is allowed
T1543.001 Launch Agent Agent partial
  • #46 Changing security settings, IAM, or firewall partiala plist written into a LaunchAgents or LaunchDaemons folder, or loaded with launchctl, through the agent's shell
T1546.004 Unix Shell Configuration Modification Agent partial
  • #46 Changing security settings, IAM, or firewall partiala shell rc file written by a command that also fetches or executes; an ordinary alias or PATH edit is not flagged
T1098.001 Additional Cloud Credentials Agent partial
  • #48 Creating users, tokens, or API keys partialaws iam create-access-key and gcloud service-account key creation
T1098.003 Additional Cloud Roles Agent partial
  • #46 Changing security settings, IAM, or firewall partialIAM AdministratorAccess or attach-policy, az role assignment and gcloud add-iam-policy-binding
T1098.004 SSH Authorized Keys Agent partial
  • #48 Creating users, tokens, or API keys partiala public key appended to an authorized_keys file through the agent's shell or a Write/Edit tool call, and ssh-copy-id to the local host
T1136.001 Local Account Agent partial
  • #48 Creating users, tokens, or API keys partialuseradd, adduser and New-LocalUser; net user with a password before /add is not matched
T1136.003 Cloud Account Agent partial
  • #48 Creating users, tokens, or API keys partialaws iam create-user and service-account creation
T1176.001 Browser Extensions EDR uncovered
  • #4 Downloading malicious Skills, Plugins, or Extensions noneMoorAI does not inventory or judge browser extensions it did not ship
  • #28 AI browser extensions with browser access noneMoorAI does not judge third-party browser extensions
T1078.004 Cloud Accounts Identity uncovered
  • #26 AI Account Takeover noneMoorAI does not see sign-ins to an AI provider; identity-provider territory

Privilege Escalation · 8 techniques: 0 covered, 7 partial, 1 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1053.003 Cron Agent partial
  • #46 Changing security settings, IAM, or firewall partiala crontab install or edit, or a write to a system cron location, run through the agent's shell; listing a crontab is allowed
T1543.001 Launch Agent Agent partial
  • #46 Changing security settings, IAM, or firewall partiala plist written into a LaunchAgents or LaunchDaemons folder, or loaded with launchctl, through the agent's shell
T1546.004 Unix Shell Configuration Modification Agent partial
  • #46 Changing security settings, IAM, or firewall partiala shell rc file written by a command that also fetches or executes; an ordinary alias or PATH edit is not flagged
T1098.001 Additional Cloud Credentials Agent partial
  • #48 Creating users, tokens, or API keys partialaws iam create-access-key and gcloud service-account key creation
T1098.003 Additional Cloud Roles Agent partial
  • #46 Changing security settings, IAM, or firewall partialIAM AdministratorAccess or attach-policy, az role assignment and gcloud add-iam-policy-binding
T1098.004 SSH Authorized Keys Agent partial
  • #48 Creating users, tokens, or API keys partiala public key appended to an authorized_keys file through the agent's shell or a Write/Edit tool call, and ssh-copy-id to the local host
T1548.003 Sudo and Sudo Caching Agent partial
  • #46 Changing security settings, IAM, or firewall partiala write to /etc/sudoers or /etc/sudoers.d/, visudo -f, or a NOPASSWD rule written through the agent's shell; sudo-token reuse is not observed
T1078.004 Cloud Accounts Identity uncovered
  • #26 AI Account Takeover noneMoorAI does not see sign-ins to an AI provider; identity-provider territory

Stealth · 7 techniques: 0 covered, 4 partial, 3 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1027.018 Invisible Unicode Agent partial
  • #50 Invisible or obfuscated text in content partialzero-width, bidi, Unicode tag-block and variation-selector runs in text an agent reads, receives or writes; files the agent never touches are not scanned
T1027.010 Command Obfuscation Agent partial
  • #50 Invisible or obfuscated text in content partiala base64/hex payload decoded straight into a shell, or a PowerShell -EncodedCommand; the hook decodes it and re-scans the real payload
T1070 Indicator Removal Agent partial
  • #73 Agent chat-history tampering partialdelete, truncate or rewrite of the agent's own transcript and prompt-history stores; shell history (T1070.003) is not covered
T1070.003 Clear Command History Agent partial
  • #73 Agent chat-history tampering partialhistory -c, Clear-History, and deletion or truncation of ~/.bash_history, ~/.zsh_history, fish_history or the PSReadLine file through the agent's shell
T1078.004 Cloud Accounts Identity uncovered
  • #26 AI Account Takeover noneMoorAI does not see sign-ins to an AI provider; identity-provider territory
T1684.001 Impersonation Email uncovered
  • #11 BEC, Business Email Compromise nonethe impersonation itself is not detected
  • #12 Deepfake voice or video noneimpersonation by call or video reaches the person, not an agent
T1696 Anti-Automation Evasion Adversary infrastructure uncovered No MoorAI rule.

Defense Impairment · 6 techniques: 0 covered, 6 partial, 0 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1685.007 Impair Autonomous Defenses Agent partial
  • #40 Second-Order Prompt Injection partialingested content telling the agent to stop analysing or to mark a sample safe is flagged; only for an analysing agent that runs under MoorAI
T1690 Prevent Command History Logging Agent partial
  • #73 Agent chat-history tampering partialsession logging turned off: set +o history, unset HISTFILE, HISTFILE=/dev/null, a zero HISTSIZE/SAVEHIST, or PSReadLine HistorySaveStyle SaveNothing
T1685 Disable or Modify Tools Agent partial
  • #46 Changing security settings, IAM, or firewall partialDefender off (Set-MpPreference -Disable, Add-MpPreference -Exclusion) and stopping an EDR or audit daemon (launchctl bootout, systemctl stop auditd/falcon-sensor, sc stop)
T1686 Disable or Modify System Firewall Agent partial
  • #46 Changing security settings, IAM, or firewall partialufw, firewalld and netsh advfirewall off, security-group 0.0.0.0/0 openings, and iptables -F / nft flush ruleset / pfctl -d
T1553.001 Gatekeeper Bypass Agent partial
  • #46 Changing security settings, IAM, or firewall partialspctl --master-disable and quarantine-attribute removal (xattr -d com.apple.quarantine, xattr -cr)
T1553.004 Install Root Certificate Agent partial
  • #46 Changing security settings, IAM, or firewall partialsecurity add-trusted-cert, certutil -addstore Root, Import-Certificate into a Root store, copies into a Linux CA anchor directory and keytool imports into cacerts
  • #67 Transit interception (proxy / CA environment injection) partiala CA override set by environment variable on the agent or in its commands is reported; a CA added to a system trust store is #46's

Credential Access · 11 techniques: 0 covered, 10 partial, 1 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1552.001 Credentials In Files Agent partial
  • #55 Credential / secret-file access partial.env, cloud credential files, .npmrc, .git-credentials, .netrc, .pgpass, kube, docker and gcloud config, and gh CLI hosts.yml
T1552.003 Shell History Agent partial
  • #55 Credential / secret-file access partiala secret-mining read of ~/.bash_history, ~/.zsh_history or ~/.sh_history (grep for password/token/secret/key)
T1552.004 Private Keys Agent partial
  • #55 Credential / secret-file access partialSSH private keys read through a tool
T1552.005 Cloud Instance Metadata API Agent partial
  • #55 Credential / secret-file access partiala command reaching a cloud or container metadata endpoint (169.254.169.254, metadata.google.internal, 169.254.170.2, and obfuscated spellings); the shared host set is data/metadata-hosts.js
T1552.008 Chat Messages Agent partial
  • #39 Secret / credential exposure partialsecret detectors keep a credential out of the AI conversation, where T1552.008 would collect it; the provider's chat store is not watched
T1555.001 Keychain Agent partial
  • #55 Credential / secret-file access partialsecurity find-generic-password and security dump-keychain through the agent's shell
T1555.003 Credentials from Web Browsers Agent partial
  • #55 Credential / secret-file access partiala Chrome, Edge, Brave or Firefox Login Data, Cookies, Local State, key4.db or logins.json store read or copied from its profile directory
T1003.008 /etc/passwd and /etc/shadow Agent partial
  • #55 Credential / secret-file access partialreads of /etc/shadow
T1528 Steal Application Access Token Agent partial
  • #55 Credential / secret-file access partialOAuth/access-token stores read: gh hosts.yml, docker config.json, Azure msal_token_cache, gcloud access_tokens.db
T1557 Adversary-in-the-Middle Agent partial
  • #67 Transit interception (proxy / CA environment injection) partiala proxy plus CA override in the agent's environment or in a command it runs is reported, and denied when off policy.transitAllow; system proxy settings are not read
T1697 Steal Application Specific Passwords Identity uncovered No MoorAI rule.

Discovery · 1 technique: 0 covered, 1 partial, 0 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1016.001 Internet Connection Discovery Agent partial
  • #79 Out-of-band collection host contacted partiala bare GET, DNS lookup or ping to a known request-capture host

Collection · 3 techniques: 0 covered, 3 partial, 0 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1074.001 Local Data Staging Agent partial
  • #59 Lethal trifecta exposure partiala credential read staged (copied, written or encoded) and then sent out in the same session
T1560.001 Archive via Utility Agent partial
  • #59 Lethal trifecta exposure partialan archive created and then sent out in the same session
  • #77 AI model or dataset collection partialmodel weights or datasets archived into a temp directory
T1557 Adversary-in-the-Middle Agent partial
  • #67 Transit interception (proxy / CA environment injection) partiala proxy plus CA override in the agent's environment or in a command it runs is reported, and denied when off policy.transitAllow; system proxy settings are not read

Command and Control · 1 technique: 0 covered, 1 partial, 0 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1105 Ingress Tool Transfer Agent partial
  • #57 Unsanctioned or malicious package install partialcurl or wget piped to a shell, Invoke-WebRequest into iex, and download-then-run in one command

Exfiltration · 8 techniques: 0 covered, 5 partial, 3 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1700 AI-Enabled Exfiltration Agent partial
  • #47 Sending external email or notifications partialsend-message tools, SMTP, SendGrid, Twilio and chat-webhook calls are held for human approval: the sanctioned-tool channel T1700 names
  • #59 Lethal trifecta exposure partialan injection-class finding on ingested content, then an outbound action within 30 minutes; report-only by default
  • #65 Local secret value egress partiala local secret value appearing verbatim in an outbound command, MCP argument or prompt; non-secret data is not fingerprinted
  • #71 Exfiltration through rendered output partialmarkdown images and link previews whose URL carries conversation data, fetched by the client while rendering
T1030 Data Transfer Size Limits Agent partial
  • #59 Lethal trifecta exposure partialfive or more transfers of up to 8 KB to one destination summing 16 KB within 30 minutes
T1567 Exfiltration Over Web Service Agent partial
  • #63 Unapproved model endpoint (rogue LLM egress) partiala model base-URL override or a direct call to a non-approved model provider, judged by host
  • #77 AI model or dataset collection partialmodel weights or datasets piped into an upload or pushed to a model hub
T1567.001 Exfiltration to Code Repository Agent uncovered No MoorAI rule.
T1567.002 Exfiltration to Cloud Storage Agent uncovered No MoorAI rule.
T1567.003 Exfiltration to Text Storage Sites Agent uncovered No MoorAI rule.
T1567.004 Exfiltration Over Webhook Agent partial
  • #47 Sending external email or notifications partialSlack and Discord webhook posts
  • #78 Data sent to an out-of-band collection host partialdata sent to webhook.site, Pipedream and other public request-capture hosts
T1048.003 Exfiltration Over Unencrypted Non-C2 Protocol Agent partial
  • #78 Data sent to an out-of-band collection host partialdata carried in a DNS lookup to interactsh-style OAST hosts

Impact · 5 techniques: 0 covered, 4 partial, 1 uncovered

TechniqueNameLaneStatusMoorAI rules, level and reason
T1485 Data Destruction Agent partial
  • #43 Destructive command execution partialdestructive-command matches rm -rf, DROP DATABASE/TABLE, force-push and mass delete issued through the agent's shell
  • #56 Destructive tool / MCP call partialdropDatabase or deleteMany, aws s3 rb, terminate-instances, kubectl delete --all and gh repo delete issued through a tool
T1561 Disk Wipe Agent partial
  • #43 Destructive command execution partialdisk format and raw-device overwrite (mkfs, dd to a device)
T1490 Inhibit System Recovery Agent partial
  • #43 Destructive command execution partialshadow-copy, boot-recovery, Windows Server Backup, Time Machine, APFS, zfs, ESXi and cloud snapshot or recovery-point deletion via the agent's shell; stopping a backup service is not matched
T1496.004 Cloud Service Hijacking Identity uncovered
  • #38 AI Cost Abuse noneLLMjacking runs stolen keys from the adversary's own infrastructure, which no hook sees; the circuit breaker stops a looping agent, not a hijacker
T1657 Financial Theft Email partial
  • #11 BEC, Business Email Compromise partialbec-payment coaches when payment or bank-detail change wording reaches an AI tool; no sender or identity check

The 15 uncovered techniques

3 are in the agent lane and 12 outside it. An uncovered technique has no MoorAI mechanism: either a rule names it and credits it none, or no rule names it.

TechniqueNameLaneRules that name it
T1567.001 Exfiltration to Code Repository Agent No MoorAI rule.
T1567.002 Exfiltration to Cloud Storage Agent No MoorAI rule.
T1567.003 Exfiltration to Text Storage Sites Agent No MoorAI rule.
T1176.001 Browser Extensions EDR
  • #4 noneMoorAI does not inventory or judge browser extensions it did not ship
  • #28 noneMoorAI does not judge third-party browser extensions
T1078.004 Cloud Accounts Identity
  • #26 noneMoorAI does not see sign-ins to an AI provider; identity-provider territory
T1697 Steal Application Specific Passwords Identity No MoorAI rule.
T1496.004 Cloud Service Hijacking Identity
  • #38 noneLLMjacking runs stolen keys from the adversary's own infrastructure, which no hook sees; the circuit breaker stops a looping agent, not a hijacker
T1566 Phishing Email
  • #10 nonecoaching only; MoorAI does not inspect inbound mail
T1566.004 Spearphishing Voice Email
  • #13 nonevoice and SMS lures reach the person, not an agent
T1684.001 Impersonation Email
  • #11 nonethe impersonation itself is not detected
  • #12 noneimpersonation by call or video reaches the person, not an agent
T1682 Query Public AI Services Adversary infrastructure No MoorAI rule.
T1683.001 Written Content Adversary infrastructure
  • #10 nonethe adversary's own content generation happens off the victim's devices
  • #30 nonegenerated invoices are not inspected and bank details are not verified
T1683.002 Audio-Visual Content Adversary infrastructure
  • #12 nonesynthetic voice and video are not analysed
  • #31 nonesynthetic personas, photos and voices are not analysed
T1588.007 Artificial Intelligence Adversary infrastructure No MoorAI rule.
T1696 Anti-Automation Evasion Adversary infrastructure No MoorAI rule.

The 13 techniques outside the agent lane

These techniques are real risks for an organisation that runs AI agents, and they do not pass through any surface MoorAI sees. They belong to identity, email and endpoint tooling, or happen on the adversary’s own infrastructure. 1 of them is partial, 0 covered.

EDR · 1

This lane covers host activity outside any agent's tool calls (endpoint detection territory), which no MoorAI hook, proxy or gateway sees.

  • T1176.001 Browser Extensions uncovered #4: MoorAI does not inventory or judge browser extensions it did not ship. #28: MoorAI does not judge third-party browser extensions.

Identity · 3

This lane covers sign-ins, tokens and accounts at an identity provider or SaaS tenant, which no MoorAI hook, proxy or gateway sees.

Email · 4

This lane covers mail, voice and messaging that reach a person, not an agent, which no MoorAI hook, proxy or gateway sees.

  • T1566 Phishing uncovered #10: coaching only; MoorAI does not inspect inbound mail.
  • T1566.004 Spearphishing Voice uncovered #13: voice and SMS lures reach the person, not an agent.
  • T1684.001 Impersonation uncovered #11: the impersonation itself is not detected. #12: impersonation by call or video reaches the person, not an agent.
  • T1657 Financial Theft partial #11: bec-payment coaches when payment or bank-detail change wording reaches an AI tool; no sender or identity check.

Adversary infrastructure · 5

This lane covers the adversary's own infrastructure, before anything touches the victim, which no MoorAI hook, proxy or gateway sees.

The 33 rules with no ATT&CK technique

ATT&CK describes adversary behaviour. Rules for data classes, governance and model error, such as a person pasting customer data into an AI tool, have no technique to map to, and each says so in its own words.

33 rules and the reason each has no ATT&CK credit
RuleThreatWhy no ATT&CK technique
#1Sensitive data leakA person sharing data with an AI tool is not an adversary technique; the agent-driven exfiltration routes are credited on #59, #65, #71 and #78.
#5Plugins with excessive permissionsOver-broad plugin scopes are a configuration weakness, not an adversary technique.
#6Information exposure due to excessive permissionsAn AI product surfacing documents a user may technically open is an authorisation gap, not an adversary technique.
#7Shadow AIUnsanctioned AI use by an employee is not an adversary technique; an unknown process calling an AI API is reported by the posture heartbeat, outside this rule.
#8Reliance on incorrect answers or hallucinationsModel error, not adversary behaviour.
#9Intellectual-property exposureA person sharing intellectual property with an AI tool is not an adversary technique.
#14Automatic action taken on the employee's behalfAn agent acting for its user is the product working; the risky action classes are credited on #43, #47, #48 and #56.
#15Employee or customer privacy violationA privacy obligation, not an adversary technique.
#16Bias and discrimination in outputsOutput bias is not adversary behaviour.
#18Sensitive data retained in an AI conversationData retention in a conversation is a governance risk, not an adversary technique.
#19AI Meeting Assistants and transcription of sensitive meetingsMeeting transcription by an approved assistant is a governance risk, not an adversary technique.
#20Leakage via email and Teams/Slack thread summariesOver-inclusive summaries are a governance risk, not an adversary technique.
#22Memory PoisoningATT&CK v20 has no technique for persistence through an agent's memory; ATLAS AML.T0080 covers it.
#23Excessive AgencyOver-permissioned agent design is a configuration weakness, not an adversary technique.
#24Tool MisuseA tool misused through misinterpretation is not adversary behaviour; injected misuse is credited on #3, #40 and #59.
#27Leakage via conversation history and uploaded filesData left in history or workspace is a governance risk, not an adversary technique.
#29Fake links and sources generated by AIFabricated sources are model error; adversary-planted answers are T1608.007, credited on #70.
#33Data Residency - processing in an unapproved countryData residency is a governance obligation, not an adversary technique.
#34Misleading TranslationModel error, not adversary behaviour.
#35Overconfidence in an AI answerHuman over-reliance, not adversary behaviour.
#36Cross-Context LeakageContext mixing inside one conversation is model behaviour, not an adversary technique.
#37Unauthorized AI Sharing - sharing output with excess informationOver-sharing an AI answer is a governance risk, not an adversary technique.
#41Legal / contract languageLegal drafting guidance, not an adversary technique.
#42Employee relations / PIPHR drafting guidance, not an adversary technique.
#44Protected health information (HIPAA / PHI)A health-data obligation, not an adversary technique.
#45Copyright / license contaminationLicence contamination is a legal risk, not an adversary technique.
#49Deploying to a production environmentAn authorised production deploy is not an adversary technique; MoorAI gates it for approval.
#52System-prompt or instruction leakage in outputInstruction leakage maps to ATLAS AML.T0056; ATT&CK v20 has no equivalent.
#53Oversized or runaway inputAn oversized prompt is a cost and availability risk; ATT&CK v20 has no technique for model input size.
#58Model-escalated risk (on-device second opinion)A second-opinion verdict; the technique is the one on the rule it escalates.
#61Insecure code generationVulnerable code the agent writes is a defect, not an adversary technique.
#64Agent entitlement drift (out-of-scope action)An out-of-envelope action is a policy signal, not one ATT&CK technique; each action class carries its own credit.
#66Sub-agent / A2A delegationATT&CK v20 has no agent-delegation technique; ATLAS AML.T0118 covers it.

How to use it in a SIEM

Every MoorAI finding names the rule that fired by its threat id: the #39 in a coaching message, threatId in MoorAI’s alerts. Findings stay content-free: a category, a risk level and a keyed hash, never the prompt or the matched text. That makes the threat id the join key.

  1. Build a lookup table from data/threats.json: each rule’s id to its attack credits (id, coverage, reason). Rules with no credit carry an attackNote instead.
  2. Enrich alerts at ingest by joining on the threat id. In MoorAI alerts the rule is threatId; in the console’s SIEM export (schema 6) the same value is the CEF header Signature ID and the ECS field rule.id; OpenTelemetry carries it as moorai.threat_id. The SIEM event carries owasp, atlas (CEF cs2, the rule’s primary ATLAS technique) and atlasAll (CEF cs6, every ATLAS id the rule credits), but not ATT&CK, so the join to attack happens on your side. A rule with several credits names several techniques; treat them as candidates, not one verdict.
  3. Weight by coverage. A partial credit means the alert fired on the bounded part of the technique that the reason describes. A none credit never fires, so it marks a gap to cover elsewhere.
  4. Put the gaps on the detection backlog of the tools that can see them: EDR for the uncovered endpoint actions in the agent lane, identity and mail tooling for the techniques outside it.

The lane split matters more than the totals. ATT&CK v20.0 names what agents do. Whether you can see it depends on whether something sits where the agent acts.

Release, sources and related frameworks

Last updated 14 October 2026, for MoorAI agent v1.17.1. The page is built from that release’s data/threats.json, data/attack.js and data/attack-v20-techniques.json; each new agent release that changes the mapping updates it. The same per-technique table is generated in the agent repository as docs/BENCHMARK.md.