openaca 0.1.0b1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- docs/frameworks/README.md +24 -0
- docs/frameworks/mitre-atlas.md +212 -0
- docs/frameworks/owasp-agentic-ai-top-10-2026.md +363 -0
- docs/frameworks/owasp-agentic-skills-top-10-2026.md +337 -0
- docs/frameworks/owasp-llm-top-10-2025.md +350 -0
- docs/frameworks/owasp-mcp-top-10-2025.md +358 -0
- openaca-0.1.0b1.dist-info/METADATA +464 -0
- openaca-0.1.0b1.dist-info/RECORD +161 -0
- openaca-0.1.0b1.dist-info/WHEEL +4 -0
- openaca-0.1.0b1.dist-info/entry_points.txt +2 -0
- openaca-0.1.0b1.dist-info/licenses/LICENSE +201 -0
- overlays/CVE-2026-20205.yaml +9 -0
- overlays/GHSA-3ch2-jxxc-v4xf.yaml +12 -0
- overlays/GHSA-3q26-f695-pp76.yaml +12 -0
- overlays/GHSA-6xpm-ggf7-wc3p.yaml +12 -0
- overlays/GHSA-m4qw-j7mx-qv6h.yaml +12 -0
- overlays/GHSA-rwc2-f344-q6w6.yaml +12 -0
- overlays/MAL-2024-8094.yaml +16 -0
- overlays/MAL-2024-9212.yaml +14 -0
- overlays/MAL-2024-9263.yaml +14 -0
- overlays/MAL-2025-15093.yaml +17 -0
- overlays/MAL-2025-190848.yaml +19 -0
- overlays/MAL-2025-190867.yaml +16 -0
- overlays/MAL-2025-190868.yaml +16 -0
- overlays/MAL-2025-190869.yaml +16 -0
- overlays/MAL-2025-190902.yaml +16 -0
- overlays/MAL-2025-190908.yaml +16 -0
- overlays/MAL-2025-190909.yaml +17 -0
- overlays/MAL-2025-190918.yaml +17 -0
- overlays/MAL-2025-190922.yaml +16 -0
- overlays/MAL-2025-190923.yaml +16 -0
- overlays/MAL-2025-190943.yaml +19 -0
- overlays/MAL-2025-191051.yaml +19 -0
- overlays/MAL-2025-191052.yaml +19 -0
- overlays/MAL-2025-191053.yaml +19 -0
- overlays/MAL-2025-191107.yaml +19 -0
- overlays/MAL-2025-191195.yaml +18 -0
- overlays/MAL-2025-191196.yaml +17 -0
- overlays/MAL-2025-191332.yaml +14 -0
- overlays/MAL-2025-191465.yaml +19 -0
- overlays/MAL-2025-191527.yaml +16 -0
- overlays/MAL-2025-191647.yaml +17 -0
- overlays/MAL-2025-191648.yaml +17 -0
- overlays/MAL-2025-191788.yaml +17 -0
- overlays/MAL-2025-191789.yaml +19 -0
- overlays/MAL-2025-191924.yaml +19 -0
- overlays/MAL-2025-191925.yaml +19 -0
- overlays/MAL-2025-191926.yaml +19 -0
- overlays/MAL-2025-191927.yaml +19 -0
- overlays/MAL-2025-191929.yaml +19 -0
- overlays/MAL-2025-191930.yaml +19 -0
- overlays/MAL-2025-191931.yaml +19 -0
- overlays/MAL-2025-192601.yaml +19 -0
- overlays/MAL-2025-192746.yaml +18 -0
- overlays/MAL-2025-192747.yaml +18 -0
- overlays/MAL-2025-2298.yaml +16 -0
- overlays/MAL-2025-26053.yaml +16 -0
- overlays/MAL-2025-26054.yaml +17 -0
- overlays/MAL-2025-3471.yaml +16 -0
- overlays/MAL-2025-4045.yaml +14 -0
- overlays/MAL-2025-41387.yaml +14 -0
- overlays/MAL-2025-41934.yaml +14 -0
- overlays/MAL-2025-41939.yaml +17 -0
- overlays/MAL-2025-41940.yaml +17 -0
- overlays/MAL-2025-42116.yaml +17 -0
- overlays/MAL-2025-42192.yaml +15 -0
- overlays/MAL-2025-4223.yaml +16 -0
- overlays/MAL-2025-42690.yaml +15 -0
- overlays/MAL-2025-4635.yaml +18 -0
- overlays/MAL-2025-46986.yaml +19 -0
- overlays/MAL-2025-47076.yaml +18 -0
- overlays/MAL-2025-47098.yaml +18 -0
- overlays/MAL-2025-47326.yaml +19 -0
- overlays/MAL-2025-47327.yaml +19 -0
- overlays/MAL-2025-47604.yaml +20 -0
- overlays/MAL-2025-47838.yaml +19 -0
- overlays/MAL-2025-47907.yaml +14 -0
- overlays/MAL-2025-47929.yaml +20 -0
- overlays/MAL-2025-48030.yaml +16 -0
- overlays/MAL-2025-48558.yaml +17 -0
- overlays/MAL-2025-48761.yaml +19 -0
- overlays/MAL-2025-48786.yaml +17 -0
- overlays/MAL-2025-49378.yaml +16 -0
- overlays/MAL-2025-49379.yaml +18 -0
- overlays/MAL-2025-49383.yaml +20 -0
- overlays/MAL-2025-5286.yaml +18 -0
- overlays/MAL-2025-5813.yaml +19 -0
- overlays/MAL-2025-6007.yaml +16 -0
- overlays/MAL-2025-6115.yaml +16 -0
- overlays/MAL-2025-6139.yaml +19 -0
- overlays/MAL-2025-635.yaml +17 -0
- overlays/MAL-2026-1151.yaml +16 -0
- overlays/MAL-2026-1321.yaml +16 -0
- overlays/MAL-2026-1380.yaml +16 -0
- overlays/MAL-2026-1642.yaml +17 -0
- overlays/MAL-2026-1930.yaml +19 -0
- overlays/MAL-2026-1990.yaml +16 -0
- overlays/MAL-2026-2004.yaml +16 -0
- overlays/MAL-2026-2005.yaml +16 -0
- overlays/MAL-2026-2006.yaml +16 -0
- overlays/MAL-2026-2144.yaml +18 -0
- overlays/MAL-2026-227.yaml +16 -0
- overlays/MAL-2026-229.yaml +16 -0
- overlays/MAL-2026-2315.yaml +20 -0
- overlays/MAL-2026-2328.yaml +19 -0
- overlays/MAL-2026-248.yaml +14 -0
- overlays/MAL-2026-2669.yaml +16 -0
- overlays/MAL-2026-2974.yaml +19 -0
- overlays/MAL-2026-3280.yaml +19 -0
- overlays/MAL-2026-3448.yaml +19 -0
- overlays/MAL-2026-3588.yaml +19 -0
- overlays/MAL-2026-3589.yaml +19 -0
- overlays/MAL-2026-3811.yaml +14 -0
- overlays/MAL-2026-405.yaml +16 -0
- overlays/MAL-2026-603.yaml +16 -0
- overlays/MAL-2026-844.yaml +15 -0
- overlays/MAL-2026-862.yaml +16 -0
- overlays/MAL-2026-904.yaml +14 -0
- schema/openaca.schema.json +154 -0
- tools/__init__.py +1 -0
- tools/cli.py +34 -0
- tools/component_ref.py +63 -0
- tools/cvss.py +154 -0
- tools/export.py +161 -0
- tools/finding_output.py +144 -0
- tools/lint.py +215 -0
- tools/matcher.py +225 -0
- tools/osv_federation.py +144 -0
- tools/overlays.py +83 -0
- tools/parsers/__init__.py +264 -0
- tools/parsers/claude_command_agent.py +168 -0
- tools/parsers/claude_install.py +741 -0
- tools/parsers/claude_plugin.py +201 -0
- tools/parsers/claude_settings.py +62 -0
- tools/parsers/claude_skill.py +91 -0
- tools/parsers/gitignore.py +102 -0
- tools/parsers/hooks_json.py +145 -0
- tools/parsers/mcp_json.py +393 -0
- tools/parsers/package_json.py +32 -0
- tools/parsers/package_lock_json.py +66 -0
- tools/parsers/pyproject_toml.py +99 -0
- tools/parsers/settings_layers.py +155 -0
- tools/parsers/uv_lock.py +51 -0
- tools/posture/__init__.py +145 -0
- tools/posture/finding.py +65 -0
- tools/posture/immutability.py +122 -0
- tools/posture/rules/__init__.py +1 -0
- tools/posture/rules/insecure_transport.py +84 -0
- tools/posture/rules/mutable_install.py +161 -0
- tools/promote.py +108 -0
- tools/render.py +980 -0
- tools/sarif.py +207 -0
- tools/scan.py +663 -0
- tools/seed/__init__.py +1 -0
- tools/seed/__main__.py +683 -0
- tools/seed/llm.py +422 -0
- tools/seed/validator.py +79 -0
- tools/severity.py +109 -0
- tools/templates/advisory.html.j2 +117 -0
- tools/templates/index.html.j2 +68 -0
- tools/templates/style.css +118 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Framework References
|
|
2
|
+
|
|
3
|
+
These files are curated policy inputs for OpenACA overlay review and future
|
|
4
|
+
LLM-assisted candidate annotation. They intentionally summarize the
|
|
5
|
+
frameworks instead of mirroring full upstream documents.
|
|
6
|
+
|
|
7
|
+
Use them as stable prompt context when drafting:
|
|
8
|
+
|
|
9
|
+
- `database_specific.openaca.taxonomies`
|
|
10
|
+
- `database_specific.openaca.threat_kind`
|
|
11
|
+
|
|
12
|
+
Rules for updates:
|
|
13
|
+
|
|
14
|
+
- Keep source URLs and access dates current.
|
|
15
|
+
- Prefer concise mapping guidance over long copied text.
|
|
16
|
+
- Treat changes as review-worthy because they can change corpus
|
|
17
|
+
classification behavior.
|
|
18
|
+
- Do not duplicate upstream-owned CWE mappings into OpenACA overlays by
|
|
19
|
+
default; use `supplemental_taxonomies` only for reviewed OpenACA-owned
|
|
20
|
+
additions.
|
|
21
|
+
|
|
22
|
+
Overlay taxonomy IDs use lowercase prefixes where the schema expects
|
|
23
|
+
them, for example `asi04`, `mcp04:2025`, `ast02:2026`, and
|
|
24
|
+
`llm03:2025`.
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
# MITRE ATLAS
|
|
2
|
+
|
|
3
|
+
Sources:
|
|
4
|
+
- https://atlas.mitre.org/
|
|
5
|
+
- https://github.com/mitre-atlas/atlas-data
|
|
6
|
+
- https://raw.githubusercontent.com/mitre-atlas/atlas-data/main/dist/ATLAS.yaml
|
|
7
|
+
|
|
8
|
+
ATLAS data version referenced: 5.6.0
|
|
9
|
+
|
|
10
|
+
Accessed: 2026-05-13
|
|
11
|
+
|
|
12
|
+
Use MITRE ATLAS for adversary behavior that is specific to AI, ML, LLM,
|
|
13
|
+
agent, RAG, AI DevOps, AI service, or AI artifact systems. Do not force
|
|
14
|
+
an ATLAS mapping onto ordinary software malware, package vulnerabilities,
|
|
15
|
+
or generic web-app bugs unless the OSV record shows that the AI system is
|
|
16
|
+
part of the attack path.
|
|
17
|
+
|
|
18
|
+
ATLAS describes attacker techniques. An OpenACA overlay should map an ATLAS
|
|
19
|
+
technique only when the advisory evidence shows the attacker behavior,
|
|
20
|
+
not merely because the vulnerable package is used by an agent.
|
|
21
|
+
|
|
22
|
+
## Selected IDs For OpenACA Review
|
|
23
|
+
|
|
24
|
+
| Overlay ID | Name | Use When |
|
|
25
|
+
| --- | --- | --- |
|
|
26
|
+
| `AML.T0010` | AI Supply Chain Compromise | The issue compromises AI-specific hardware, data, software, models, tools, or artifacts before they are used by a victim system. |
|
|
27
|
+
| `AML.T0010.001` | AI Software | A malicious or compromised software package is specifically AI, LLM, agent, MCP, model, data, or AI DevOps software. |
|
|
28
|
+
| `AML.T0010.002` | Data | The issue affects data used to train, tune, evaluate, retrieve, or operate an AI system. |
|
|
29
|
+
| `AML.T0010.003` | Model | The issue affects a model artifact, model weights, model package, or model provenance. |
|
|
30
|
+
| `AML.T0010.005` | AI Agent Tool | The supply-chain target is an agent tool such as an MCP server, agent plugin, hosted tool endpoint, or package that expands an agent's tool access. |
|
|
31
|
+
| `AML.T0011.002` | Poisoned AI Agent Tool | The victim invokes a malicious or poisoned tool through an agent interaction. |
|
|
32
|
+
| `AML.T0051` | LLM Prompt Injection | Malicious prompt content causes an LLM or agent to ignore instructions, bypass controls, or take unintended actions. |
|
|
33
|
+
| `AML.T0051.000` | Direct | The adversary submits the malicious prompt directly to the LLM or agent. |
|
|
34
|
+
| `AML.T0051.001` | Indirect | The malicious prompt is embedded in retrieved content, documents, webpages, tool metadata, code comments, or another data channel. |
|
|
35
|
+
| `AML.T0051.002` | Triggered | The injected prompt is dormant until a later user action, workflow event, retrieval, or tool invocation activates it. |
|
|
36
|
+
| `AML.T0053` | AI Agent Tool Invocation | The adversary causes an agent to call a tool it can access. |
|
|
37
|
+
| `AML.T0074` | Masquerading | Names, domains, package metadata, registry identity, branding, or file paths are crafted to look legitimate. |
|
|
38
|
+
| `AML.T0085` | Data from AI Services | The adversary uses access to an AI-enabled service to collect sensitive data. |
|
|
39
|
+
| `AML.T0085.001` | AI Agent Tools | The data collection path is an agent tool such as a repo, file, email, CRM, docs, chat, shell, browser, or SaaS connector. |
|
|
40
|
+
| `AML.T0086` | Exfiltration via AI Agent Tool Invocation | The adversary uses a write-capable agent tool to transmit sensitive data out of the victim environment. |
|
|
41
|
+
| `AML.T0096` | AI Service API | The adversary uses an AI service API as a command, control, or attack communication channel. |
|
|
42
|
+
| `AML.T0098` | AI Agent Tool Credential Harvesting | The adversary uses agent tool access to retrieve credentials, tokens, keys, session data, or auth material. |
|
|
43
|
+
| `AML.T0099` | AI Agent Tool Data Poisoning | The adversary plants malicious content where an agent tool can retrieve it. |
|
|
44
|
+
| `AML.T0100` | AI Agent Clickbait | Deceptive web content is designed to lure computer-use agents or AI browsers into unintended actions. |
|
|
45
|
+
| `AML.T0101` | Data Destruction via AI Agent Tool Invocation | The adversary causes an agent tool to delete, overwrite, encrypt, or otherwise destroy data. |
|
|
46
|
+
| `AML.T0103` | Deploy AI Agent | The adversary launches an agent in the victim environment to act on their behalf. |
|
|
47
|
+
| `AML.T0104` | Publish Poisoned AI Agent Tool | The adversary publishes a malicious agent tool for others to install or connect. |
|
|
48
|
+
| `AML.T0105` | Escape to Host | The attack breaks out of a sandbox, container, VM, or other isolation boundary used by an AI system or agent. |
|
|
49
|
+
| `AML.T0108` | AI Agent | The adversary abuses an existing AI agent as a command-and-control mechanism. |
|
|
50
|
+
| `AML.T0109` | AI Supply Chain Rug Pull | The adversary first builds trust in an AI component, then ships a malicious update. |
|
|
51
|
+
| `AML.T0110` | AI Agent Tool Poisoning | The adversary compromises or alters a tool already integrated with an agent so that it can influence future agent behavior. |
|
|
52
|
+
|
|
53
|
+
## Classification Rules
|
|
54
|
+
|
|
55
|
+
### Supply Chain
|
|
56
|
+
|
|
57
|
+
Use `AML.T0010` when the attack path depends on compromised AI supply.
|
|
58
|
+
Prefer a subtechnique when one is precise:
|
|
59
|
+
|
|
60
|
+
- Use `AML.T0010.001` for malicious AI software, LLM libraries, agent
|
|
61
|
+
frameworks, MCP servers, AI coding assistant extensions, model-serving
|
|
62
|
+
components, or AI DevOps packages.
|
|
63
|
+
- Use `AML.T0010.005` when the compromised supply-chain item is an
|
|
64
|
+
agent tool. This is the best default for malicious MCP servers and
|
|
65
|
+
malicious tool plugins that an agent can install or connect to.
|
|
66
|
+
- Use `AML.T0104` when the advisory is about publishing the poisoned
|
|
67
|
+
tool into a registry, repository, catalog, or hosted remote-tool
|
|
68
|
+
directory. Pair it with `AML.T0010.005` when the published artifact is
|
|
69
|
+
also the compromised supply-chain item.
|
|
70
|
+
- Use `AML.T0109` only when the record shows a trust-building phase
|
|
71
|
+
followed by a malicious update. Do not use it for one-off typosquats
|
|
72
|
+
or newly-published malicious packages.
|
|
73
|
+
- Use `AML.T0074` in addition to supply-chain IDs when the evidence
|
|
74
|
+
includes typosquatting, namesquatting, misleading branding, copied
|
|
75
|
+
package metadata, lookalike domains, or deceptive artifact names.
|
|
76
|
+
|
|
77
|
+
Do not use ATLAS supply-chain mappings for a normal CVE in a common
|
|
78
|
+
library merely because that library appears in an agent dependency tree.
|
|
79
|
+
The advisory needs AI, agent, model, tool, or AI DevOps relevance.
|
|
80
|
+
|
|
81
|
+
### Prompt Injection
|
|
82
|
+
|
|
83
|
+
Use `AML.T0051` when prompt content is the attack mechanism. Choose a
|
|
84
|
+
subtechnique by where the malicious prompt enters the system:
|
|
85
|
+
|
|
86
|
+
- `AML.T0051.000`: attacker directly sends the prompt to the agent,
|
|
87
|
+
chatbot, API, or model.
|
|
88
|
+
- `AML.T0051.001`: prompt is hidden in content later retrieved or read
|
|
89
|
+
by the model, including webpages, documents, tickets, emails, repo
|
|
90
|
+
files, tool descriptions, MCP metadata, rules files, comments, or RAG
|
|
91
|
+
content.
|
|
92
|
+
- `AML.T0051.002`: prompt is planted earlier and activates only after a
|
|
93
|
+
later event, retrieval, user action, or workflow step.
|
|
94
|
+
|
|
95
|
+
Prompt injection often co-occurs with `AML.T0053`, `AML.T0086`,
|
|
96
|
+
`AML.T0099`, or `AML.T0101`. Add those only when the record shows the
|
|
97
|
+
agent tool behavior, data poisoning, exfiltration, or destructive action.
|
|
98
|
+
|
|
99
|
+
### Agent Tool Abuse
|
|
100
|
+
|
|
101
|
+
Use these mappings when the advisory evidence shows agent tool access,
|
|
102
|
+
not merely the presence of an MCP package:
|
|
103
|
+
|
|
104
|
+
- `AML.T0053`: the adversary causes an agent to invoke a tool. This is a
|
|
105
|
+
broad action mapping; add a more specific impact technique when known.
|
|
106
|
+
- `AML.T0085.001`: the tool is used to retrieve sensitive data from
|
|
107
|
+
connected systems such as repos, document stores, email, chat, ticketing
|
|
108
|
+
systems, browsers, shells, or local files.
|
|
109
|
+
- `AML.T0086`: the tool transmits data out of the victim environment
|
|
110
|
+
through an apparently legitimate write action, such as sending email,
|
|
111
|
+
creating a document, posting to chat, opening a URL, or writing to an
|
|
112
|
+
attacker-controlled system.
|
|
113
|
+
- `AML.T0098`: the target data is credentials or auth material.
|
|
114
|
+
- `AML.T0101`: the tool performs destructive mutation such as deleting,
|
|
115
|
+
overwriting, encrypting, or corrupting data.
|
|
116
|
+
|
|
117
|
+
For a vulnerable MCP server that permits arbitrary command execution,
|
|
118
|
+
map to `AML.T0053` only when the exploit path involves the agent invoking
|
|
119
|
+
the server's tool. If the advisory is a conventional server-side command
|
|
120
|
+
injection with no agent invocation semantics, omit ATLAS unless another
|
|
121
|
+
AI-specific behavior is present.
|
|
122
|
+
|
|
123
|
+
### Agent Tool Poisoning And Data Poisoning
|
|
124
|
+
|
|
125
|
+
Use `AML.T0110` when an existing agent tool is compromised or altered
|
|
126
|
+
after it is integrated. This is about persistence or long-term influence
|
|
127
|
+
through a trusted tool.
|
|
128
|
+
|
|
129
|
+
Use `AML.T0011.002` when the victim invokes the poisoned tool and that
|
|
130
|
+
tool execution is the immediate entry point.
|
|
131
|
+
|
|
132
|
+
Use `AML.T0099` when malicious content is planted where an agent tool can
|
|
133
|
+
retrieve it, such as shared documents, repo files, websites, issues,
|
|
134
|
+
tickets, emails, notes, vector-store content, or RAG sources. Add
|
|
135
|
+
`AML.T0051.001` when the planted content includes prompt injection.
|
|
136
|
+
|
|
137
|
+
### Agent Runtime And Host Boundary
|
|
138
|
+
|
|
139
|
+
Use `AML.T0108` when the adversary uses an existing AI agent as a
|
|
140
|
+
command-and-control mechanism, especially when the agent is instructed to
|
|
141
|
+
retrieve commands, execute tools, suppress reporting, or maintain
|
|
142
|
+
control.
|
|
143
|
+
|
|
144
|
+
Use `AML.T0103` when the adversary deploys a new agent into the victim
|
|
145
|
+
environment to perform actions on their behalf. Do not use it when the
|
|
146
|
+
victim merely installs a malicious package that happens to be an agent
|
|
147
|
+
tool.
|
|
148
|
+
|
|
149
|
+
Use `AML.T0105` when the attack escapes an isolation boundary used by an
|
|
150
|
+
AI system, such as an agent sandbox, container, browser isolation layer,
|
|
151
|
+
VM, local execution jail, or tool runner. Pair it with ATT&CK container
|
|
152
|
+
escape mappings outside the overlay if upstream already provides them.
|
|
153
|
+
|
|
154
|
+
### Web And API Abuse
|
|
155
|
+
|
|
156
|
+
Use `AML.T0100` when the advisory describes web content crafted to bait a
|
|
157
|
+
computer-use agent or AI browser into actions such as clicking, copying,
|
|
158
|
+
navigating, approving, downloading, or pasting commands. This should not
|
|
159
|
+
be used for ordinary phishing unless the target is an AI browsing or
|
|
160
|
+
computer-use agent.
|
|
161
|
+
|
|
162
|
+
Use `AML.T0096` when an AI service API is the adversary communication
|
|
163
|
+
channel or command path. This is for attacker traffic blending into AI
|
|
164
|
+
service API usage, not for every vulnerability in an API-backed AI app.
|
|
165
|
+
|
|
166
|
+
## Evidence Cues
|
|
167
|
+
|
|
168
|
+
The following advisory evidence is usually enough to consider an ATLAS
|
|
169
|
+
mapping:
|
|
170
|
+
|
|
171
|
+
- Package or component is explicitly an MCP server, agent tool, AI
|
|
172
|
+
plugin, AI coding assistant extension, model package, RAG connector,
|
|
173
|
+
LLM framework, model-serving component, or AI DevOps tool.
|
|
174
|
+
- Details mention agent tool invocation, tool descriptions, tool calls,
|
|
175
|
+
MCP, remote tools, local tools, computer-use agents, AI browsers,
|
|
176
|
+
model context, RAG ingestion, prompt injection, jailbreak, tool
|
|
177
|
+
poisoning, or agent configuration changes.
|
|
178
|
+
- Impact involves agent permissions, source-code access through tools,
|
|
179
|
+
credential access through tools, exfiltration through tool outputs,
|
|
180
|
+
destructive tool actions, AI service command channels, model/data
|
|
181
|
+
poisoning, or malicious AI artifact publication.
|
|
182
|
+
|
|
183
|
+
Evidence that is usually not enough:
|
|
184
|
+
|
|
185
|
+
- Generic package malware with no AI, LLM, model, MCP, or agent
|
|
186
|
+
behavior.
|
|
187
|
+
- Ordinary dependency vulnerabilities discovered in software used by an
|
|
188
|
+
agent.
|
|
189
|
+
- Generic command injection, SSRF, path traversal, or XSS with no
|
|
190
|
+
agent-specific exploit path.
|
|
191
|
+
- CWE or ATT&CK mappings from upstream that describe the underlying
|
|
192
|
+
software weakness but not AI-specific adversary behavior.
|
|
193
|
+
|
|
194
|
+
## Example Notes
|
|
195
|
+
|
|
196
|
+
- Malicious MCP package published to npm: `AML.T0010.005` and
|
|
197
|
+
`AML.T0104`; add `AML.T0074` if namesquatting is explicit.
|
|
198
|
+
- Benign MCP server compromised after installation so it silently steals
|
|
199
|
+
data: `AML.T0110`; add `AML.T0086` if the exfiltration path is a
|
|
200
|
+
write-capable tool action.
|
|
201
|
+
- Prompt injection in an MCP tool description: `AML.T0051.001`; add
|
|
202
|
+
`AML.T0053` if it causes a tool call.
|
|
203
|
+
- Prompt injection in a webpage that makes a browser agent click a
|
|
204
|
+
button: `AML.T0051.001` plus `AML.T0100`; add `AML.T0053` if a tool
|
|
205
|
+
invocation is the operative action.
|
|
206
|
+
- Agent retrieves poisoned instructions from a shared document through a
|
|
207
|
+
connector: `AML.T0099`; add `AML.T0051.001` if the content is prompt
|
|
208
|
+
injection.
|
|
209
|
+
- Prompt injection causes an agent to delete files through a shell tool:
|
|
210
|
+
`AML.T0051.001`, `AML.T0053`, and `AML.T0101`.
|
|
211
|
+
- Vulnerable lodash in an app dependency tree: no ATLAS mapping by
|
|
212
|
+
default.
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
# OWASP Agentic AI Top 10 2026
|
|
2
|
+
|
|
3
|
+
Sources:
|
|
4
|
+
- https://genai.owasp.org/2025/12/09/owasp-top-10-for-agentic-applications-the-benchmark-for-agentic-security-in-the-age-of-autonomous-ai/
|
|
5
|
+
|
|
6
|
+
Accessed: 2026-05-13
|
|
7
|
+
|
|
8
|
+
Use this as OpenACA's broad agent-system taxonomy. Prefer it for risks that
|
|
9
|
+
depend on autonomy, tool use, delegated identity, memory, multi-step
|
|
10
|
+
workflow, inter-agent communication, or human trust in agent output.
|
|
11
|
+
|
|
12
|
+
The OWASP guide frames agentic risks across inputs, integration and
|
|
13
|
+
processing, and outputs. OpenACA overlays should map to ASI when the
|
|
14
|
+
agentic behavior changes the security meaning of an underlying
|
|
15
|
+
vulnerability or malicious component.
|
|
16
|
+
|
|
17
|
+
## `asi01` — Agent Goal Hijack
|
|
18
|
+
|
|
19
|
+
Definition: Attacker-controlled content changes the agent's objective,
|
|
20
|
+
task selection, planning path, or decision flow. The key distinction
|
|
21
|
+
from ordinary prompt injection is agentic impact: multi-step behavior,
|
|
22
|
+
tool calls, delegated actions, or goal drift change what the agent tries
|
|
23
|
+
to accomplish.
|
|
24
|
+
|
|
25
|
+
Use when:
|
|
26
|
+
- Hidden instructions in documents, web pages, emails, tool outputs,
|
|
27
|
+
RAG content, templates, or peer-agent messages redirect goals or
|
|
28
|
+
planning.
|
|
29
|
+
- The attack causes the agent to pursue a different user intent,
|
|
30
|
+
authorize a goal shift, or select unsafe actions.
|
|
31
|
+
- Prompt injection affects agent planning or autonomous action, not only
|
|
32
|
+
a single model response.
|
|
33
|
+
|
|
34
|
+
Do not use when:
|
|
35
|
+
- The issue is persistent memory corruption; consider `asi06`.
|
|
36
|
+
- The issue is an agent becoming misaligned without active attacker
|
|
37
|
+
steering; consider `asi10`.
|
|
38
|
+
- The record only says "prompt injection" with no agent goal, plan, or
|
|
39
|
+
tool behavior.
|
|
40
|
+
|
|
41
|
+
Evidence patterns:
|
|
42
|
+
- "goal", "intent", "prompt injection", "hidden instruction",
|
|
43
|
+
"indirect prompt", "RAG", "web content", "email", "calendar",
|
|
44
|
+
"document", "override", "planner", "goal drift".
|
|
45
|
+
|
|
46
|
+
Related mappings:
|
|
47
|
+
- `llm01:2025`
|
|
48
|
+
- `mcp03:2025` when MCP tool metadata carries the injection.
|
|
49
|
+
- `mcp10:2025` when unsafe context injection is the path.
|
|
50
|
+
- `AML.T0051.*`
|
|
51
|
+
|
|
52
|
+
## `asi02` — Tool Misuse and Exploitation
|
|
53
|
+
|
|
54
|
+
Definition: The agent uses a legitimate tool in an unsafe, excessive, or
|
|
55
|
+
unintended way while staying within its granted capability. The weakness
|
|
56
|
+
is tool choice, tool chaining, argument forwarding, or missing guardrails
|
|
57
|
+
around legitimate tool use.
|
|
58
|
+
|
|
59
|
+
Use when:
|
|
60
|
+
- Prompt injection, misleading tool output, or ambiguous instruction
|
|
61
|
+
causes unsafe invocation of legitimate tools.
|
|
62
|
+
- Tool access is over-scoped for the task, but the agent acts within
|
|
63
|
+
already granted authority.
|
|
64
|
+
- The attack chains tools, over-invokes costly APIs, exfiltrates through
|
|
65
|
+
allowed egress, or drives destructive operations without separate
|
|
66
|
+
privilege escalation.
|
|
67
|
+
|
|
68
|
+
Do not use when:
|
|
69
|
+
- The tool use depends on delegated identity/credential abuse; consider
|
|
70
|
+
`asi03`.
|
|
71
|
+
- The tool path reaches arbitrary code/command execution; include or
|
|
72
|
+
prefer `asi05`.
|
|
73
|
+
- The tool implementation or package itself is malicious; consider
|
|
74
|
+
`asi04`.
|
|
75
|
+
|
|
76
|
+
Evidence patterns:
|
|
77
|
+
- "tool misuse", "tool chaining", "over-scoped tool", "unsafe tool",
|
|
78
|
+
"approved tool", "DNS exfiltration", "cost spike", "loop", "delete",
|
|
79
|
+
"send", "refund", "external transfer", "tool pivot".
|
|
80
|
+
|
|
81
|
+
Related mappings:
|
|
82
|
+
- `llm06:2025`
|
|
83
|
+
- `mcp02:2025` for scope creep.
|
|
84
|
+
- `mcp03:2025` for tool metadata poisoning.
|
|
85
|
+
- `mcp05:2025` when misuse becomes command execution.
|
|
86
|
+
|
|
87
|
+
## `asi03` — Identity and Privilege Abuse
|
|
88
|
+
|
|
89
|
+
Definition: Agent identity, delegated credentials, trust relationships,
|
|
90
|
+
or role inheritance are abused to bypass authorization. The agent may
|
|
91
|
+
act as a confused deputy or carry cached privileges into a weaker
|
|
92
|
+
context.
|
|
93
|
+
|
|
94
|
+
Use when:
|
|
95
|
+
- Agents inherit excessive privileges, reuse cached credentials, or
|
|
96
|
+
share identity across users/sessions/tasks.
|
|
97
|
+
- Cross-agent trust lets a low-privilege actor route requests through a
|
|
98
|
+
high-privilege agent.
|
|
99
|
+
- Authorization is checked at workflow start but drifts before
|
|
100
|
+
execution.
|
|
101
|
+
- Agent descriptors, cards, or personas are forged to gain trust.
|
|
102
|
+
|
|
103
|
+
Do not use when:
|
|
104
|
+
- The agent merely uses a legitimate overbroad tool without identity or
|
|
105
|
+
credential abuse; consider `asi02`.
|
|
106
|
+
- A secret is exposed but not used for agent privilege abuse; consider
|
|
107
|
+
`mcp01:2025` or `llm02:2025`.
|
|
108
|
+
|
|
109
|
+
Evidence patterns:
|
|
110
|
+
- "delegated", "credential", "OAuth", "token", "privilege",
|
|
111
|
+
"inheritance", "confused deputy", "agent identity", "agent card",
|
|
112
|
+
"persona", "TOCTOU", "authorization drift", "device code",
|
|
113
|
+
"cross-agent trust".
|
|
114
|
+
|
|
115
|
+
Related mappings:
|
|
116
|
+
- `mcp01:2025`
|
|
117
|
+
- `mcp02:2025`
|
|
118
|
+
- `mcp07:2025`
|
|
119
|
+
- `llm02:2025`
|
|
120
|
+
- `llm06:2025`
|
|
121
|
+
|
|
122
|
+
## `asi04` — Agentic Supply Chain Vulnerabilities
|
|
123
|
+
|
|
124
|
+
Definition: Agent components, tools, plugins, MCP servers, models,
|
|
125
|
+
prompts, datasets, agent descriptors, registries, dependencies, or
|
|
126
|
+
update channels are malicious, compromised, tampered, impersonated, or
|
|
127
|
+
loaded from untrusted sources.
|
|
128
|
+
|
|
129
|
+
Use when:
|
|
130
|
+
- A package, plugin, MCP server, model/tool registry, prompt template,
|
|
131
|
+
agent card, or dependency in the agent composition chain is malicious
|
|
132
|
+
or compromised.
|
|
133
|
+
- Typosquatting, impersonation, dependency confusion, poisoned updates,
|
|
134
|
+
compromised registries, or dynamic runtime loading affect agent
|
|
135
|
+
behavior.
|
|
136
|
+
- The component can insert hidden instructions, backdoors, unsafe tools,
|
|
137
|
+
or deceptive behavior into the agent execution chain.
|
|
138
|
+
|
|
139
|
+
Do not use when:
|
|
140
|
+
- The vulnerable package is ordinary software with no agent-stack role.
|
|
141
|
+
- The issue is only command injection in a legitimate component; include
|
|
142
|
+
`asi05` and use `asi04` only if supply-chain compromise is also part
|
|
143
|
+
of the evidence.
|
|
144
|
+
|
|
145
|
+
Evidence patterns:
|
|
146
|
+
- "supply chain", "malicious package", "typosquat", "impersonating",
|
|
147
|
+
"plugin", "MCP server", "registry", "agent card", "tool descriptor",
|
|
148
|
+
"poisoned prompt", "dependency confusion", "compromised update",
|
|
149
|
+
"backdoor", "untrusted source".
|
|
150
|
+
|
|
151
|
+
Related mappings:
|
|
152
|
+
- `llm03:2025`
|
|
153
|
+
- `mcp04:2025`
|
|
154
|
+
- `ast02:2026` when a skill distribution path is involved.
|
|
155
|
+
- `AML.T0010.001`
|
|
156
|
+
|
|
157
|
+
## `asi05` — Unexpected Code Execution
|
|
158
|
+
|
|
159
|
+
Definition: Agent workflows reach unintended code, command, template,
|
|
160
|
+
interpreter, deserialization, package-install, or sandbox execution. The
|
|
161
|
+
execution may be generated by the agent, supplied by attacker content, or
|
|
162
|
+
triggered through tool chains.
|
|
163
|
+
|
|
164
|
+
Use when:
|
|
165
|
+
- Prompt/tool input reaches shell, subprocess, eval, template, dynamic
|
|
166
|
+
import, package manager, deserialization, or generated-code execution.
|
|
167
|
+
- The record describes RCE, arbitrary code execution, command injection,
|
|
168
|
+
unsafe code generation, unsafe object deserialization, memory-system
|
|
169
|
+
eval, or hostile install/import execution.
|
|
170
|
+
- A multi-tool chain converts otherwise legitimate operations into code
|
|
171
|
+
execution.
|
|
172
|
+
|
|
173
|
+
Do not use when:
|
|
174
|
+
- The package is malicious but the record only shows supply-chain
|
|
175
|
+
delivery and no execution path; prefer `asi04`.
|
|
176
|
+
- The issue is unsafe use of a legitimate tool without an execution
|
|
177
|
+
sink; consider `asi02`.
|
|
178
|
+
|
|
179
|
+
Evidence patterns:
|
|
180
|
+
- "RCE", "remote code execution", "arbitrary code", "command
|
|
181
|
+
injection", "shell", "subprocess", "eval", "deserialization",
|
|
182
|
+
"template injection", "install", "import", "lockfile poisoning",
|
|
183
|
+
"generated code", "sandbox escape".
|
|
184
|
+
|
|
185
|
+
Related mappings:
|
|
186
|
+
- `llm05:2025`
|
|
187
|
+
- `llm01:2025` when prompt injection triggers execution.
|
|
188
|
+
- `mcp05:2025`
|
|
189
|
+
- `ast05:2026` when unsafe skill loading/deserialization is the path.
|
|
190
|
+
|
|
191
|
+
## `asi06` — Memory and Context Poisoning
|
|
192
|
+
|
|
193
|
+
Definition: Stored memory, summaries, embeddings, RAG data, session
|
|
194
|
+
state, shared context, or long-term knowledge is poisoned so future
|
|
195
|
+
agent reasoning, planning, or tool use becomes unsafe.
|
|
196
|
+
|
|
197
|
+
Use when:
|
|
198
|
+
- Malicious data enters memory, vector stores, RAG sources, summaries,
|
|
199
|
+
uploaded files, API feeds, shared context, or peer-agent exchanges and
|
|
200
|
+
persists across turns/sessions.
|
|
201
|
+
- The poisoned context later influences tool selection, goal
|
|
202
|
+
interpretation, data disclosure, or code generation.
|
|
203
|
+
- Context poisoning is gradual, persistent, or shared across agents/users.
|
|
204
|
+
|
|
205
|
+
Do not use when:
|
|
206
|
+
- The manipulation is one-shot prompt injection with no persistence;
|
|
207
|
+
consider `asi01`.
|
|
208
|
+
- The effect is primarily a downstream failure propagation after
|
|
209
|
+
poisoning; consider adding `asi08`.
|
|
210
|
+
|
|
211
|
+
Evidence patterns:
|
|
212
|
+
- "memory", "context", "RAG", "embedding", "vector", "retrieval",
|
|
213
|
+
"summary", "persistent", "shared context", "long-term memory",
|
|
214
|
+
"poisoning", "stored", "drift".
|
|
215
|
+
|
|
216
|
+
Related mappings:
|
|
217
|
+
- `llm01:2025`
|
|
218
|
+
- `llm04:2025`
|
|
219
|
+
- `llm08:2025`
|
|
220
|
+
- `mcp10:2025`
|
|
221
|
+
|
|
222
|
+
## `asi07` — Insecure Inter-Agent Communication
|
|
223
|
+
|
|
224
|
+
Definition: Agent-to-agent communication lacks authentication,
|
|
225
|
+
integrity, authorization, origin validation, or trust boundaries. A
|
|
226
|
+
forged, compromised, or malicious peer agent can alter messages,
|
|
227
|
+
impersonate another agent, poison shared communication, or relay unsafe
|
|
228
|
+
instructions.
|
|
229
|
+
|
|
230
|
+
Use when:
|
|
231
|
+
- A2A, peer-agent, swarm, delegation, or multi-agent protocol messages
|
|
232
|
+
are spoofed, replayed, tampered, or trusted without verification.
|
|
233
|
+
- Agent cards/descriptors advertise false identity or capabilities.
|
|
234
|
+
- One agent relays malicious instructions or sensitive data to another
|
|
235
|
+
due to weak communication controls.
|
|
236
|
+
|
|
237
|
+
Do not use when:
|
|
238
|
+
- The issue is a single-agent tool misuse with no inter-agent channel.
|
|
239
|
+
- The issue is normal MCP client/server invocation rather than
|
|
240
|
+
agent-to-agent trust; use MCP taxonomy where clearer.
|
|
241
|
+
|
|
242
|
+
Evidence patterns:
|
|
243
|
+
- "agent-to-agent", "A2A", "peer agent", "agent card", "swarm",
|
|
244
|
+
"delegation", "message spoofing", "replay", "mTLS", "attestation",
|
|
245
|
+
"signed messages", "routing", "inter-agent".
|
|
246
|
+
|
|
247
|
+
Related mappings:
|
|
248
|
+
- `llm02:2025`
|
|
249
|
+
- `llm06:2025`
|
|
250
|
+
- `asi03` when identity/privilege is abused.
|
|
251
|
+
- `asi10` when the peer is a rogue agent.
|
|
252
|
+
|
|
253
|
+
## `asi08` — Cascading Failures
|
|
254
|
+
|
|
255
|
+
Definition: A localized error, hallucination, poisoned context, unsafe
|
|
256
|
+
tool action, or compromised agent propagates through multi-step
|
|
257
|
+
workflows, tool chains, or connected agents, amplifying impact beyond
|
|
258
|
+
the original failure.
|
|
259
|
+
|
|
260
|
+
Use when:
|
|
261
|
+
- The record shows a chain reaction across agents, tools, memory,
|
|
262
|
+
services, CI/CD, cloud resources, or tenants.
|
|
263
|
+
- A poisoned output is trusted by downstream agents/systems and causes
|
|
264
|
+
repeated, amplified, or compounding actions.
|
|
265
|
+
- Failures become difficult to trace, repudiate, or stop because of
|
|
266
|
+
autonomy, parallelism, or poor observability.
|
|
267
|
+
|
|
268
|
+
Do not use when:
|
|
269
|
+
- The impact remains local to one component and no propagation is
|
|
270
|
+
described.
|
|
271
|
+
- The finding is merely high severity; cascading requires spread or
|
|
272
|
+
amplification.
|
|
273
|
+
|
|
274
|
+
Evidence patterns:
|
|
275
|
+
- "cascade", "chain reaction", "downstream", "propagation", "multi-step",
|
|
276
|
+
"parallel agents", "tenant", "CI/CD", "cloud infra", "blast radius",
|
|
277
|
+
"untraceable", "repudiation".
|
|
278
|
+
|
|
279
|
+
Related mappings:
|
|
280
|
+
- `llm06:2025`
|
|
281
|
+
- `llm04:2025`
|
|
282
|
+
- `asi06` when poisoned memory/context starts the cascade.
|
|
283
|
+
- `mcp08:2025` when missing telemetry impairs response.
|
|
284
|
+
|
|
285
|
+
## `asi09` — Human-Agent Trust Exploitation
|
|
286
|
+
|
|
287
|
+
Definition: Attackers exploit human over-trust in agent outputs,
|
|
288
|
+
approvals, explanations, or apparent competence. The agent persuades,
|
|
289
|
+
conceals, misrepresents, or overwhelms the human in the loop.
|
|
290
|
+
|
|
291
|
+
Use when:
|
|
292
|
+
- The record describes false or misleading agent output causing a human
|
|
293
|
+
to approve, deploy, publish, transfer, or trust unsafe actions.
|
|
294
|
+
- The agent fabricates results, hides mistakes, presents unsafe diffs as
|
|
295
|
+
safe, or generates convincing but malicious recommendations.
|
|
296
|
+
- Human approval exists but is made ineffective by framing, volume,
|
|
297
|
+
fatigue, or deception.
|
|
298
|
+
|
|
299
|
+
Do not use when:
|
|
300
|
+
- The agent directly executes the harmful action without relying on
|
|
301
|
+
human trust.
|
|
302
|
+
- The issue is ordinary misinformation without security impact.
|
|
303
|
+
|
|
304
|
+
Evidence patterns:
|
|
305
|
+
- "human approval", "HITL", "trust", "misleading", "fraudulent",
|
|
306
|
+
"hallucinated", "approval fatigue", "dry-run", "diff", "recommend",
|
|
307
|
+
"convince", "hide mistake".
|
|
308
|
+
|
|
309
|
+
Related mappings:
|
|
310
|
+
- `llm09:2025`
|
|
311
|
+
- `llm05:2025`
|
|
312
|
+
- `asi01` when the human is influenced after goal hijack.
|
|
313
|
+
|
|
314
|
+
## `asi10` — Rogue Agents
|
|
315
|
+
|
|
316
|
+
Definition: An agent operates outside intended boundaries while
|
|
317
|
+
appearing legitimate. Rogue behavior may arise from compromise,
|
|
318
|
+
misalignment, collusion, self-replication, unauthorized provisioning, or
|
|
319
|
+
behavioral drift without direct per-action attacker control.
|
|
320
|
+
|
|
321
|
+
Use when:
|
|
322
|
+
- An agent persistently acts against owner intent, evades monitoring,
|
|
323
|
+
spawns unauthorized replicas, colludes with peers, or maintains
|
|
324
|
+
unauthorized access.
|
|
325
|
+
- A malicious or compromised agent advertises legitimate capabilities and
|
|
326
|
+
participates in workflows as if trusted.
|
|
327
|
+
- The central risk is behavioral integrity of the agent itself.
|
|
328
|
+
|
|
329
|
+
Do not use when:
|
|
330
|
+
- A normal agent is briefly hijacked by prompt injection; consider
|
|
331
|
+
`asi01`.
|
|
332
|
+
- The issue is a malicious package or component before it becomes an
|
|
333
|
+
autonomous agent participant; consider `asi04`.
|
|
334
|
+
|
|
335
|
+
Evidence patterns:
|
|
336
|
+
- "rogue agent", "self-replication", "unauthorized replica",
|
|
337
|
+
"persistence", "collusion", "behavioral drift", "misaligned",
|
|
338
|
+
"quarantine", "kill switch", "attestation", "watchdog", "agent card".
|
|
339
|
+
|
|
340
|
+
Related mappings:
|
|
341
|
+
- `llm02:2025`
|
|
342
|
+
- `llm09:2025`
|
|
343
|
+
- `asi07` when inter-agent trust is abused.
|
|
344
|
+
- `AML.T0074` when the agent masquerades as legitimate.
|
|
345
|
+
|
|
346
|
+
## General Mapping Notes
|
|
347
|
+
|
|
348
|
+
- `asi04` and `asi05` often co-occur for malicious agent-stack packages:
|
|
349
|
+
`asi04` describes compromised composition; `asi05` describes the
|
|
350
|
+
execution sink.
|
|
351
|
+
- Do not use `asi04` for every vulnerable dependency. The component must
|
|
352
|
+
be part of the agent stack or agent-reachable composition path.
|
|
353
|
+
- `asi01`, `asi06`, and `asi10` should not be conflated:
|
|
354
|
+
- `asi01`: active steering of goals/plans.
|
|
355
|
+
- `asi06`: persistent poisoning of memory/context.
|
|
356
|
+
- `asi10`: rogue or misaligned agent behavior.
|
|
357
|
+
- `asi02`, `asi03`, and `asi05` should be separated:
|
|
358
|
+
- `asi02`: unsafe use of legitimate already-authorized tools.
|
|
359
|
+
- `asi03`: identity, privilege, or delegation abuse.
|
|
360
|
+
- `asi05`: code/command execution sink.
|
|
361
|
+
- The OWASP guide maps ASI entries to LLM Top 10 categories. Use those
|
|
362
|
+
cross-mappings as hints, but only include LLM taxonomy when the record
|
|
363
|
+
has LLM/GenAI relevance beyond the agent-specific mapping.
|