@blamejs/exceptd-skills 0.12.24 → 0.12.26
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.
- package/AGENTS.md +12 -4
- package/CHANGELOG.md +127 -0
- package/data/_indexes/_meta.json +44 -43
- package/data/_indexes/activity-feed.json +54 -47
- package/data/_indexes/catalog-summaries.json +20 -20
- package/data/_indexes/chains.json +561 -6
- package/data/_indexes/currency.json +19 -10
- package/data/_indexes/frequency.json +207 -55
- package/data/_indexes/handoff-dag.json +4 -0
- package/data/_indexes/jurisdiction-clocks.json +2 -2
- package/data/_indexes/jurisdiction-map.json +25 -12
- package/data/_indexes/section-offsets.json +490 -396
- package/data/_indexes/stale-content.json +14 -2
- package/data/_indexes/summary-cards.json +57 -3
- package/data/_indexes/token-budget.json +129 -74
- package/data/_indexes/trigger-table.json +66 -0
- package/data/_indexes/xref.json +58 -8
- package/data/atlas-ttps.json +528 -19
- package/data/attack-techniques.json +198 -84
- package/data/cve-catalog.json +1309 -9
- package/data/exploit-availability.json +300 -10
- package/data/framework-control-gaps.json +557 -1
- package/data/global-frameworks.json +44 -19
- package/data/rfc-references.json +94 -1
- package/data/zeroday-lessons.json +475 -13
- package/lib/schemas/cve-catalog.schema.json +24 -3
- package/manifest-snapshot.json +68 -2
- package/manifest-snapshot.sha256 +1 -1
- package/manifest.json +145 -59
- package/package.json +1 -1
- package/sbom.cdx.json +7 -7
- package/skills/ai-attack-surface/skill.md +11 -2
- package/skills/ai-c2-detection/skill.md +3 -1
- package/skills/ai-risk-management/skill.md +3 -1
- package/skills/api-security/skill.md +4 -0
- package/skills/attack-surface-pentest/skill.md +1 -0
- package/skills/container-runtime-security/skill.md +3 -1
- package/skills/dlp-gap-analysis/skill.md +1 -1
- package/skills/exploit-scoring/skill.md +2 -2
- package/skills/incident-response-playbook/skill.md +1 -1
- package/skills/kernel-lpe-triage/skill.md +6 -1
- package/skills/mcp-agent-trust/skill.md +7 -2
- package/skills/mlops-security/skill.md +1 -1
- package/skills/rag-pipeline-security/skill.md +4 -2
- package/skills/sector-financial/skill.md +1 -1
- package/skills/sector-telecom/skill.md +259 -0
- package/skills/skill-update-loop/skill.md +1 -1
- package/skills/supply-chain-integrity/skill.md +3 -1
- package/skills/threat-model-currency/skill.md +1 -1
- package/skills/webapp-security/skill.md +2 -0
- package/skills/zeroday-gap-learn/skill.md +2 -2
package/data/atlas-ttps.json
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_meta": {
|
|
3
3
|
"schema_version": "1.0.0",
|
|
4
|
-
"atlas_version": "5.
|
|
5
|
-
"atlas_release_date": "
|
|
6
|
-
"
|
|
4
|
+
"atlas_version": "5.4.0",
|
|
5
|
+
"atlas_release_date": "2026-02-06",
|
|
6
|
+
"secure_ai_v2_release_date": "2026-05-06",
|
|
7
|
+
"secure_ai_v2_source": "https://ctid.mitre.org/blog/2026/05/06/secure-ai-v2-release",
|
|
8
|
+
"last_updated": "2026-05-15",
|
|
9
|
+
"last_threat_review": "2026-05-15",
|
|
7
10
|
"source": "https://atlas.mitre.org",
|
|
8
|
-
"note": "AI-relevant ATLAS v5.
|
|
11
|
+
"note": "AI-relevant ATLAS v5.4.0 TTPs with framework_gap field. framework_gap: no framework has a control that addresses this TTP. secure_ai_v2_layer flags entries included in the CTID Secure AI v2 layered set (May 2026); maturity reflects CTID's technique-maturity classification (low / moderate / high).",
|
|
9
12
|
"tlp": "CLEAR",
|
|
10
13
|
"source_confidence": {
|
|
11
14
|
"scheme": "Admiralty (A-F + 1-6)",
|
|
@@ -19,6 +22,74 @@
|
|
|
19
22
|
"note": "Per-entry last_verified governs decay. Skills depending on this catalog must check entry freshness before high-stakes use."
|
|
20
23
|
}
|
|
21
24
|
},
|
|
25
|
+
"AML.T0001": {
|
|
26
|
+
"id": "AML.T0001",
|
|
27
|
+
"name": "Victim Research",
|
|
28
|
+
"tactic": "Reconnaissance",
|
|
29
|
+
"description": "Adversary gathers information about the victim's ML systems before active engagement — public-facing model endpoints, published research papers describing the system's architecture, model cards on HuggingFace, leaked system prompts, vendor disclosure of which foundation models power user-facing AI products. For AI-augmented developer environments: enumeration of installed MCP servers, AI-coding-assistant configuration files, and IDE-side extension manifests visible through error messages or public Git history.",
|
|
30
|
+
"subtechniques": [
|
|
31
|
+
"AML.T0001.000 — Search Application Repositories (HuggingFace, model cards, GitHub model commits)",
|
|
32
|
+
"AML.T0001.001 — Search Research Papers (academic publications detailing model architecture)",
|
|
33
|
+
"AML.T0001.002 — Vendor / Provider Disclosures (which AI foundation models power named products)",
|
|
34
|
+
"AML.T0001.003 — Public AI System Probing (enumerating exposed AI APIs without active payload)"
|
|
35
|
+
],
|
|
36
|
+
"real_world_instances": [
|
|
37
|
+
"PROMPTSTEAL preparatory phase — adversary mapped victim's RAG corpus structure via public research papers before launching extraction",
|
|
38
|
+
"CVE-2026-30615 reconnaissance — public Windsurf marketplace pages enabled identification of vulnerable MCP server versions across deployments"
|
|
39
|
+
],
|
|
40
|
+
"framework_gap": true,
|
|
41
|
+
"framework_gap_detail": "No framework requires AI-asset visibility hygiene as a control. NIST 800-53 PM-15 (information sharing) and AC-22 (publicly accessible content) do not contemplate AI-system-specific reconnaissance signal. No framework requires monitoring of model-card / HuggingFace / public-AI-API surface for adversary reconnaissance indicators (anomalous model-card view patterns, public-endpoint enumeration sweeps).",
|
|
42
|
+
"controls_that_partially_help": [
|
|
43
|
+
"NIST-800-53-AC-22",
|
|
44
|
+
"NIST-800-53-PM-15"
|
|
45
|
+
],
|
|
46
|
+
"controls_that_dont_help": [
|
|
47
|
+
"ISO-27001-2022-A.8.28"
|
|
48
|
+
],
|
|
49
|
+
"detection": "Public-facing AI endpoint scan-pattern monitoring; HuggingFace / model-repository view-pattern anomaly detection where attribution is possible; public-research-paper citation tracking for victim-named systems; honeytoken model cards seeded in public registries for victim attribution.",
|
|
50
|
+
"exceptd_skills": [
|
|
51
|
+
"ai-attack-surface",
|
|
52
|
+
"ai-c2-detection"
|
|
53
|
+
],
|
|
54
|
+
"last_verified": "2026-05-15"
|
|
55
|
+
},
|
|
56
|
+
"AML.T0040": {
|
|
57
|
+
"id": "AML.T0040",
|
|
58
|
+
"name": "Tool / Plugin Compromise",
|
|
59
|
+
"tactic": "Execution",
|
|
60
|
+
"description": "Adversary compromises an LLM tool-call surface or agent plugin layer — for example an MCP server, a tool registered with an OpenAI Codex / Anthropic Claude Code session, or a Copilot / Cursor agent plugin — to gain code execution within the agent runtime. The compromised tool exposes operator-controlled inputs (filesystem paths, shell commands, API endpoints) that the LLM invokes on behalf of the operator, bypassing the operator-side trust boundary.",
|
|
61
|
+
"subtechniques": [
|
|
62
|
+
"AML.T0040.000 — MCP server typosquat / registry compromise",
|
|
63
|
+
"AML.T0040.001 — Agent plugin authorization bypass via prompt-injection-induced consent",
|
|
64
|
+
"AML.T0040.002 — Stdio-transport command injection (Anthropic MCP SDK class)"
|
|
65
|
+
],
|
|
66
|
+
"real_world_instances": [
|
|
67
|
+
"CVE-2026-30623 (Anthropic MCP SDK stdio command-injection class — 30+ MCP servers affected)",
|
|
68
|
+
"Pwn2Own Berlin 2026 — Viettel Cyber Security Claude Code collision (MCP-class bug)",
|
|
69
|
+
"Pwn2Own Berlin 2026 — STARLabs SG five-bug LM Studio chain",
|
|
70
|
+
"Pwn2Own Berlin 2026 — Compass Security OpenAI Codex CWE-150 chain"
|
|
71
|
+
],
|
|
72
|
+
"framework_gap": true,
|
|
73
|
+
"framework_gap_detail": "No framework currently models the agent-runtime tool-call trust boundary. NIST 800-53 CM-7 (Least Functionality) was designed for OS-level execution allowlisting, not for AI-agent tool registries. ISO 27001:2022 A.5.20 (Information security in supplier relationships) does not reach plugin-level supplier identity in the agent runtime. The MCP-server-registry surface is closest analogue to a package registry; supply-chain controls (SLSA, sigstore) are not yet applied to MCP registries operationally.",
|
|
74
|
+
"controls_that_partially_help": [
|
|
75
|
+
"NIST-800-53-CM-7",
|
|
76
|
+
"NIST-800-53-AC-3",
|
|
77
|
+
"ISO-27001-2022-A.8.30"
|
|
78
|
+
],
|
|
79
|
+
"controls_that_dont_help": [
|
|
80
|
+
"Traditional WAF / API gateway controls — agent-side calls bypass these by design",
|
|
81
|
+
"OS-level antimalware — the agent runtime invokes the tool inside its own process trust boundary"
|
|
82
|
+
],
|
|
83
|
+
"detection": "MCP-server inventory + signature attestation; tool-call audit logs reviewed for typosquat patterns; agent-side outbound API call monitoring for credential exfiltration patterns; plugin-installation event correlation with prompt-injection IOCs.",
|
|
84
|
+
"exceptd_skills": [
|
|
85
|
+
"mcp-agent-trust",
|
|
86
|
+
"ai-attack-surface",
|
|
87
|
+
"mcp-supply-chain"
|
|
88
|
+
],
|
|
89
|
+
"secure_ai_v2_layer": true,
|
|
90
|
+
"maturity": "high",
|
|
91
|
+
"last_verified": "2026-05-15"
|
|
92
|
+
},
|
|
22
93
|
"AML.T0010": {
|
|
23
94
|
"id": "AML.T0010",
|
|
24
95
|
"name": "ML Supply Chain Compromise",
|
|
@@ -48,7 +119,9 @@
|
|
|
48
119
|
"mcp-agent-trust",
|
|
49
120
|
"ai-attack-surface"
|
|
50
121
|
],
|
|
51
|
-
"
|
|
122
|
+
"secure_ai_v2_layer": true,
|
|
123
|
+
"maturity": "high",
|
|
124
|
+
"last_verified": "2026-05-15"
|
|
52
125
|
},
|
|
53
126
|
"AML.T0016": {
|
|
54
127
|
"id": "AML.T0016",
|
|
@@ -75,7 +148,9 @@
|
|
|
75
148
|
"ai-c2-detection",
|
|
76
149
|
"mcp-agent-trust"
|
|
77
150
|
],
|
|
78
|
-
"
|
|
151
|
+
"secure_ai_v2_layer": true,
|
|
152
|
+
"maturity": "moderate",
|
|
153
|
+
"last_verified": "2026-05-15"
|
|
79
154
|
},
|
|
80
155
|
"AML.T0017": {
|
|
81
156
|
"id": "AML.T0017",
|
|
@@ -104,7 +179,9 @@
|
|
|
104
179
|
"ai-c2-detection",
|
|
105
180
|
"ai-attack-surface"
|
|
106
181
|
],
|
|
107
|
-
"
|
|
182
|
+
"secure_ai_v2_layer": true,
|
|
183
|
+
"maturity": "high",
|
|
184
|
+
"last_verified": "2026-05-15"
|
|
108
185
|
},
|
|
109
186
|
"AML.T0018": {
|
|
110
187
|
"id": "AML.T0018",
|
|
@@ -134,7 +211,9 @@
|
|
|
134
211
|
"rag-pipeline-security",
|
|
135
212
|
"skill-update-loop"
|
|
136
213
|
],
|
|
137
|
-
"
|
|
214
|
+
"secure_ai_v2_layer": true,
|
|
215
|
+
"maturity": "moderate",
|
|
216
|
+
"last_verified": "2026-05-15"
|
|
138
217
|
},
|
|
139
218
|
"AML.T0020": {
|
|
140
219
|
"id": "AML.T0020",
|
|
@@ -163,7 +242,9 @@
|
|
|
163
242
|
"rag-pipeline-security",
|
|
164
243
|
"ai-attack-surface"
|
|
165
244
|
],
|
|
166
|
-
"
|
|
245
|
+
"secure_ai_v2_layer": true,
|
|
246
|
+
"maturity": "high",
|
|
247
|
+
"last_verified": "2026-05-15"
|
|
167
248
|
},
|
|
168
249
|
"AML.T0024": {
|
|
169
250
|
"id": "AML.T0024",
|
|
@@ -196,7 +277,9 @@
|
|
|
196
277
|
"rag-pipeline-security",
|
|
197
278
|
"ai-attack-surface"
|
|
198
279
|
],
|
|
199
|
-
"
|
|
280
|
+
"secure_ai_v2_layer": true,
|
|
281
|
+
"maturity": "high",
|
|
282
|
+
"last_verified": "2026-05-15"
|
|
200
283
|
},
|
|
201
284
|
"AML.T0043": {
|
|
202
285
|
"id": "AML.T0043",
|
|
@@ -227,7 +310,9 @@
|
|
|
227
310
|
"ai-attack-surface",
|
|
228
311
|
"rag-pipeline-security"
|
|
229
312
|
],
|
|
230
|
-
"
|
|
313
|
+
"secure_ai_v2_layer": true,
|
|
314
|
+
"maturity": "moderate",
|
|
315
|
+
"last_verified": "2026-05-15"
|
|
231
316
|
},
|
|
232
317
|
"AML.T0044": {
|
|
233
318
|
"id": "AML.T0044",
|
|
@@ -259,7 +344,9 @@
|
|
|
259
344
|
"ai-attack-surface",
|
|
260
345
|
"ai-risk-management"
|
|
261
346
|
],
|
|
262
|
-
"
|
|
347
|
+
"secure_ai_v2_layer": true,
|
|
348
|
+
"maturity": "moderate",
|
|
349
|
+
"last_verified": "2026-05-15"
|
|
263
350
|
},
|
|
264
351
|
"AML.T0048": {
|
|
265
352
|
"id": "AML.T0048",
|
|
@@ -291,7 +378,9 @@
|
|
|
291
378
|
"rag-pipeline-security",
|
|
292
379
|
"ai-risk-management"
|
|
293
380
|
],
|
|
294
|
-
"
|
|
381
|
+
"secure_ai_v2_layer": true,
|
|
382
|
+
"maturity": "moderate",
|
|
383
|
+
"last_verified": "2026-05-15"
|
|
295
384
|
},
|
|
296
385
|
"AML.T0051": {
|
|
297
386
|
"id": "AML.T0051",
|
|
@@ -323,7 +412,9 @@
|
|
|
323
412
|
"mcp-agent-trust",
|
|
324
413
|
"rag-pipeline-security"
|
|
325
414
|
],
|
|
326
|
-
"
|
|
415
|
+
"secure_ai_v2_layer": true,
|
|
416
|
+
"maturity": "high",
|
|
417
|
+
"last_verified": "2026-05-15"
|
|
327
418
|
},
|
|
328
419
|
"AML.T0053": {
|
|
329
420
|
"id": "AML.T0053",
|
|
@@ -354,7 +445,9 @@
|
|
|
354
445
|
"mcp-agent-trust",
|
|
355
446
|
"ai-attack-surface"
|
|
356
447
|
],
|
|
357
|
-
"
|
|
448
|
+
"secure_ai_v2_layer": true,
|
|
449
|
+
"maturity": "high",
|
|
450
|
+
"last_verified": "2026-05-15"
|
|
358
451
|
},
|
|
359
452
|
"AML.T0054": {
|
|
360
453
|
"id": "AML.T0054",
|
|
@@ -383,7 +476,9 @@
|
|
|
383
476
|
"ai-attack-surface",
|
|
384
477
|
"mcp-agent-trust"
|
|
385
478
|
],
|
|
386
|
-
"
|
|
479
|
+
"secure_ai_v2_layer": true,
|
|
480
|
+
"maturity": "high",
|
|
481
|
+
"last_verified": "2026-05-15"
|
|
387
482
|
},
|
|
388
483
|
"AML.T0055": {
|
|
389
484
|
"id": "AML.T0055",
|
|
@@ -415,7 +510,9 @@
|
|
|
415
510
|
"mcp-agent-trust",
|
|
416
511
|
"rag-pipeline-security"
|
|
417
512
|
],
|
|
418
|
-
"
|
|
513
|
+
"secure_ai_v2_layer": true,
|
|
514
|
+
"maturity": "moderate",
|
|
515
|
+
"last_verified": "2026-05-15"
|
|
419
516
|
},
|
|
420
517
|
"AML.T0057": {
|
|
421
518
|
"id": "AML.T0057",
|
|
@@ -449,7 +546,9 @@
|
|
|
449
546
|
"ai-attack-surface",
|
|
450
547
|
"dlp-gap-analysis"
|
|
451
548
|
],
|
|
452
|
-
"
|
|
549
|
+
"secure_ai_v2_layer": true,
|
|
550
|
+
"maturity": "high",
|
|
551
|
+
"last_verified": "2026-05-15"
|
|
453
552
|
},
|
|
454
553
|
"AML.T0096": {
|
|
455
554
|
"id": "AML.T0096",
|
|
@@ -480,6 +579,416 @@
|
|
|
480
579
|
"ai-c2-detection",
|
|
481
580
|
"ai-attack-surface"
|
|
482
581
|
],
|
|
483
|
-
"
|
|
582
|
+
"secure_ai_v2_layer": true,
|
|
583
|
+
"maturity": "high",
|
|
584
|
+
"last_verified": "2026-05-15"
|
|
585
|
+
},
|
|
586
|
+
"AML.T0097": {
|
|
587
|
+
"id": "AML.T0097",
|
|
588
|
+
"name": "Virtualization/Sandbox Evasion",
|
|
589
|
+
"tactic": "Defense Evasion",
|
|
590
|
+
"description": "Adversary uses LLM-driven reasoning to detect that a generated payload is being executed inside an analysis sandbox or virtualization layer and alters behavior to evade dynamic analysis. The LLM is queried for environment-fingerprint signals (process tree, hypervisor markers, timing artifacts) at runtime; if a sandbox is suspected, the payload diverges from the path observed during sandbox detonation.",
|
|
591
|
+
"subtechniques": [
|
|
592
|
+
"AML.T0097.000 — Sandbox fingerprinting via LLM reasoning",
|
|
593
|
+
"AML.T0097.001 — Conditional payload bifurcation based on LLM verdict"
|
|
594
|
+
],
|
|
595
|
+
"real_world_instances": [
|
|
596
|
+
"Adversary research samples 2026 — malware queries hosted LLM to classify the runtime environment before deciding which branch to execute"
|
|
597
|
+
],
|
|
598
|
+
"framework_gap": true,
|
|
599
|
+
"framework_gap_detail": "No framework requires sandbox-detection-resistance testing on payloads that consult an external LLM at runtime. SI-3 antimalware detonation pipelines assume payload behavior is deterministic across the sandbox / production split.",
|
|
600
|
+
"controls_that_partially_help": [
|
|
601
|
+
"NIST-800-53-SI-3",
|
|
602
|
+
"NIST-800-53-SI-4"
|
|
603
|
+
],
|
|
604
|
+
"controls_that_dont_help": [
|
|
605
|
+
"NIST-800-53-SC-7"
|
|
606
|
+
],
|
|
607
|
+
"detection": "Egress monitoring for AI API calls from analysis-sandbox networks; behavioral divergence comparison between sandbox detonation and production execution traces",
|
|
608
|
+
"exceptd_skills": [
|
|
609
|
+
"ai-c2-detection",
|
|
610
|
+
"ai-attack-surface"
|
|
611
|
+
],
|
|
612
|
+
"secure_ai_v2_layer": true,
|
|
613
|
+
"maturity": "moderate",
|
|
614
|
+
"last_verified": "2026-05-15"
|
|
615
|
+
},
|
|
616
|
+
"AML.T0098": {
|
|
617
|
+
"id": "AML.T0098",
|
|
618
|
+
"name": "AI Agent Tool Credential Harvesting",
|
|
619
|
+
"tactic": "Credential Access",
|
|
620
|
+
"description": "Adversary instructs a compromised or attacker-controlled AI agent to enumerate and exfiltrate credentials held by the agent runtime — environment variables, mounted secret files, credential stores accessible via registered tools, and API keys passed via tool arguments. The agent has legitimate read access; the abuse is in the redirection of what the agent reads for.",
|
|
621
|
+
"subtechniques": [
|
|
622
|
+
"AML.T0098.000 — Env-var harvesting via agent shell tool",
|
|
623
|
+
"AML.T0098.001 — Cloud-metadata harvesting via agent HTTP tool",
|
|
624
|
+
"AML.T0098.002 — Vault / secret-manager harvesting via authorized agent identity"
|
|
625
|
+
],
|
|
626
|
+
"real_world_instances": [
|
|
627
|
+
"Indirect-prompt-injection campaigns 2026 — attacker-controlled web content instructs the agent to dump $env and POST to attacker endpoint"
|
|
628
|
+
],
|
|
629
|
+
"framework_gap": true,
|
|
630
|
+
"framework_gap_detail": "IA-5 authenticator management does not contemplate agent runtime credential scope. No framework requires per-tool credential masking on agent prompts or response captures. AC-6 least privilege has no AI-agent-specific guidance for what an agent identity should be permitted to read.",
|
|
631
|
+
"controls_that_partially_help": [
|
|
632
|
+
"NIST-800-53-IA-5",
|
|
633
|
+
"NIST-800-53-AC-6"
|
|
634
|
+
],
|
|
635
|
+
"controls_that_dont_help": [
|
|
636
|
+
"NIST-800-53-SI-3"
|
|
637
|
+
],
|
|
638
|
+
"detection": "Agent prompt + tool-call audit trail with secret-pattern scan; per-tool credential allowlist; egress block on agent identities making outbound requests to non-allowlisted destinations",
|
|
639
|
+
"exceptd_skills": [
|
|
640
|
+
"mcp-agent-trust",
|
|
641
|
+
"dlp-gap-analysis",
|
|
642
|
+
"ai-attack-surface"
|
|
643
|
+
],
|
|
644
|
+
"secure_ai_v2_layer": true,
|
|
645
|
+
"maturity": "high",
|
|
646
|
+
"last_verified": "2026-05-15"
|
|
647
|
+
},
|
|
648
|
+
"AML.T0099": {
|
|
649
|
+
"id": "AML.T0099",
|
|
650
|
+
"name": "AI Agent Tool Data Poisoning",
|
|
651
|
+
"tactic": "Impact",
|
|
652
|
+
"description": "Adversary uses an AI agent's authorized tool access to corrupt downstream data the agent is responsible for maintaining — knowledge base entries, vector embeddings, CRM records, ticketing fields, configuration objects — by inducing the agent (via prompt injection or task manipulation) to issue write operations that degrade data integrity at scale.",
|
|
653
|
+
"subtechniques": [
|
|
654
|
+
"AML.T0099.000 — RAG corpus poisoning via agent write-tool",
|
|
655
|
+
"AML.T0099.001 — Structured datastore poisoning via agent CRUD tool"
|
|
656
|
+
],
|
|
657
|
+
"real_world_instances": [
|
|
658
|
+
"Production RAG-agent incidents 2026 — agent instructed via injected document to overwrite knowledge base entries"
|
|
659
|
+
],
|
|
660
|
+
"framework_gap": true,
|
|
661
|
+
"framework_gap_detail": "SI-7 software/firmware integrity does not contemplate agent-issued writes to data stores. CM-3 change management does not address AI-agent-mediated data writes. No framework requires write-scope review on agent tool registrations.",
|
|
662
|
+
"controls_that_partially_help": [
|
|
663
|
+
"NIST-800-53-SI-7",
|
|
664
|
+
"NIST-800-53-CM-3"
|
|
665
|
+
],
|
|
666
|
+
"controls_that_dont_help": [
|
|
667
|
+
"ISO-27001-2022-A.8.28"
|
|
668
|
+
],
|
|
669
|
+
"detection": "Agent write-operation audit with content diff; rate-of-change anomaly on datastores accessed by agent identities; canary records in agent-writable corpora",
|
|
670
|
+
"exceptd_skills": [
|
|
671
|
+
"rag-pipeline-security",
|
|
672
|
+
"mcp-agent-trust",
|
|
673
|
+
"ai-attack-surface"
|
|
674
|
+
],
|
|
675
|
+
"secure_ai_v2_layer": true,
|
|
676
|
+
"maturity": "moderate",
|
|
677
|
+
"last_verified": "2026-05-15"
|
|
678
|
+
},
|
|
679
|
+
"AML.T0100": {
|
|
680
|
+
"id": "AML.T0100",
|
|
681
|
+
"name": "AI Agent Clickbait",
|
|
682
|
+
"tactic": "Initial Access",
|
|
683
|
+
"description": "Adversary publishes content (web pages, marketplace listings, GitHub repos, package descriptions) crafted to be highly attractive to AI agents performing web search or supply-chain discovery — engineered to rank well in agent retrieval and to embed indirect prompt-injection payloads that fire when the agent ingests the content.",
|
|
684
|
+
"subtechniques": [
|
|
685
|
+
"AML.T0100.000 — Search-ranked indirect prompt injection page",
|
|
686
|
+
"AML.T0100.001 — Marketplace / registry typosquat with injected description"
|
|
687
|
+
],
|
|
688
|
+
"real_world_instances": [
|
|
689
|
+
"MCP and npm registry typosquat campaigns 2026 — package descriptions tuned for agent-driven discovery"
|
|
690
|
+
],
|
|
691
|
+
"framework_gap": true,
|
|
692
|
+
"framework_gap_detail": "No framework has a control for adversarial content optimization against AI retrieval. SA-12 supply chain does not contemplate agent-driven content discovery. No framework requires retrieval-side content provenance evaluation.",
|
|
693
|
+
"controls_that_partially_help": [
|
|
694
|
+
"NIST-800-53-SA-12"
|
|
695
|
+
],
|
|
696
|
+
"controls_that_dont_help": [
|
|
697
|
+
"NIST-800-53-SI-3"
|
|
698
|
+
],
|
|
699
|
+
"detection": "Retrieval-side content reputation scoring; injection-classifier on retrieved web pages prior to model ingestion; allowlist enforcement on agent retrieval domains for high-trust workflows",
|
|
700
|
+
"exceptd_skills": [
|
|
701
|
+
"mcp-agent-trust",
|
|
702
|
+
"ai-attack-surface",
|
|
703
|
+
"rag-pipeline-security"
|
|
704
|
+
],
|
|
705
|
+
"secure_ai_v2_layer": true,
|
|
706
|
+
"maturity": "moderate",
|
|
707
|
+
"last_verified": "2026-05-15"
|
|
708
|
+
},
|
|
709
|
+
"AML.T0101": {
|
|
710
|
+
"id": "AML.T0101",
|
|
711
|
+
"name": "Data Destruction via AI Agent Tool Invocation",
|
|
712
|
+
"tactic": "Impact",
|
|
713
|
+
"description": "Adversary causes an AI agent to invoke destructive tools — file deletion, repository purge, database drop, cloud-resource teardown — within its authorized scope. Distinguished from T0099 (poisoning) by goal: irreversible loss rather than corruption.",
|
|
714
|
+
"subtechniques": [
|
|
715
|
+
"AML.T0101.000 — Repository purge via agent git-tool",
|
|
716
|
+
"AML.T0101.001 — Cloud-resource teardown via agent IaC tool"
|
|
717
|
+
],
|
|
718
|
+
"real_world_instances": [
|
|
719
|
+
"Production agent incidents 2026 — injected instructions caused agent to drop staging tables believing it was a sanctioned cleanup task"
|
|
720
|
+
],
|
|
721
|
+
"framework_gap": true,
|
|
722
|
+
"framework_gap_detail": "No framework requires destructive-action confirmation gates on AI agent tool invocations. AC-3 access enforcement treats the agent identity as a single principal and does not contemplate per-tool destructive-scope review.",
|
|
723
|
+
"controls_that_partially_help": [
|
|
724
|
+
"NIST-800-53-AC-3",
|
|
725
|
+
"NIST-800-53-CP-9"
|
|
726
|
+
],
|
|
727
|
+
"controls_that_dont_help": [
|
|
728
|
+
"NIST-800-53-SI-3"
|
|
729
|
+
],
|
|
730
|
+
"detection": "Two-step confirmation on destructive agent tools; immutable backups outside agent write scope; alert on agent-issued DELETE/DROP/PURGE patterns",
|
|
731
|
+
"exceptd_skills": [
|
|
732
|
+
"mcp-agent-trust",
|
|
733
|
+
"ai-attack-surface",
|
|
734
|
+
"incident-response-playbook"
|
|
735
|
+
],
|
|
736
|
+
"secure_ai_v2_layer": true,
|
|
737
|
+
"maturity": "high",
|
|
738
|
+
"last_verified": "2026-05-15"
|
|
739
|
+
},
|
|
740
|
+
"AML.T0102": {
|
|
741
|
+
"id": "AML.T0102",
|
|
742
|
+
"name": "Generate Malicious Commands",
|
|
743
|
+
"tactic": "Execution",
|
|
744
|
+
"description": "Adversary uses an LLM (hosted or self-hosted) to generate malicious commands, shell snippets, or program code that the adversary then executes against a target — distinguished from T0050-style LLM-as-interpreter by the adversary, not the model, doing the execution. Covers AI-accelerated exploit development and on-demand evasion code synthesis.",
|
|
745
|
+
"subtechniques": [
|
|
746
|
+
"AML.T0102.000 — On-demand evasion code generation (PROMPTFLUX pattern)",
|
|
747
|
+
"AML.T0102.001 — AI-assisted exploit primitive synthesis"
|
|
748
|
+
],
|
|
749
|
+
"real_world_instances": [
|
|
750
|
+
"PROMPTFLUX — malware queries public LLM API for novel AV evasion code at each execution",
|
|
751
|
+
"Adversary-tooling marketplaces 2026 — LLM-as-a-service tuned for offensive code generation"
|
|
752
|
+
],
|
|
753
|
+
"framework_gap": true,
|
|
754
|
+
"framework_gap_detail": "No framework has a control for monitoring LLM API usage by attacker identity / process. Vendor abuse-detection on hosted LLM APIs is provider-side and not visible to defenders. SI-3 antimalware does not contemplate code that is freshly generated per execution.",
|
|
755
|
+
"controls_that_partially_help": [
|
|
756
|
+
"NIST-800-53-SI-3",
|
|
757
|
+
"NIST-800-53-SI-4"
|
|
758
|
+
],
|
|
759
|
+
"controls_that_dont_help": [
|
|
760
|
+
"NIST-800-53-SC-7"
|
|
761
|
+
],
|
|
762
|
+
"detection": "Behavioral execution analytics (uniqueness-per-instance suggests freshly-generated code); endpoint AI-API egress monitoring from non-developer processes",
|
|
763
|
+
"exceptd_skills": [
|
|
764
|
+
"ai-c2-detection",
|
|
765
|
+
"ai-attack-surface",
|
|
766
|
+
"exploit-scoring"
|
|
767
|
+
],
|
|
768
|
+
"secure_ai_v2_layer": true,
|
|
769
|
+
"maturity": "high",
|
|
770
|
+
"last_verified": "2026-05-15"
|
|
771
|
+
},
|
|
772
|
+
"AML.T0103": {
|
|
773
|
+
"id": "AML.T0103",
|
|
774
|
+
"name": "Deploy AI Agent",
|
|
775
|
+
"tactic": "Persistence",
|
|
776
|
+
"description": "Adversary deploys an attacker-controlled AI agent into a target environment for sustained, autonomous attack operations — long-horizon credential harvesting, lateral discovery, data staging, opportunistic exploitation. The agent persists across operator sessions and reacts to its own observations without continuous adversary direction.",
|
|
777
|
+
"subtechniques": [
|
|
778
|
+
"AML.T0103.000 — Adversary-deployed autonomous agent in compromised cloud tenant",
|
|
779
|
+
"AML.T0103.001 — Agent persistence via scheduled-task or service-account registration"
|
|
780
|
+
],
|
|
781
|
+
"real_world_instances": [
|
|
782
|
+
"Threat-research demonstrations 2025-2026 of long-running agentic C2 inside compromised cloud accounts"
|
|
783
|
+
],
|
|
784
|
+
"framework_gap": true,
|
|
785
|
+
"framework_gap_detail": "No framework treats a long-running AI agent identity as a separately-controlled asset. SI-4 information system monitoring has no AI-agent-baseline guidance. PM-16 threat intelligence does not contemplate agentic-persistence indicators.",
|
|
786
|
+
"controls_that_partially_help": [
|
|
787
|
+
"NIST-800-53-SI-4",
|
|
788
|
+
"NIST-800-53-AC-2"
|
|
789
|
+
],
|
|
790
|
+
"controls_that_dont_help": [
|
|
791
|
+
"NIST-800-53-SI-3"
|
|
792
|
+
],
|
|
793
|
+
"detection": "Inventory of AI-agent identities + their tool scopes; alert on new agent registrations; behavioral baseline on agent activity hours and operation classes",
|
|
794
|
+
"exceptd_skills": [
|
|
795
|
+
"ai-c2-detection",
|
|
796
|
+
"mcp-agent-trust",
|
|
797
|
+
"ai-attack-surface"
|
|
798
|
+
],
|
|
799
|
+
"secure_ai_v2_layer": true,
|
|
800
|
+
"maturity": "moderate",
|
|
801
|
+
"last_verified": "2026-05-15"
|
|
802
|
+
},
|
|
803
|
+
"AML.T0104": {
|
|
804
|
+
"id": "AML.T0104",
|
|
805
|
+
"name": "Publish Poisoned AI Agent Tool",
|
|
806
|
+
"tactic": "Resource Development",
|
|
807
|
+
"description": "Adversary publishes a poisoned AI agent tool — MCP server, plugin, function-calling package — to a registry where it will be discovered and installed by victim agents. Distinguished from T0010 (general supply-chain compromise) by being scoped to AI-agent tool registries and from T0053 (plugin compromise) by being the publishing step rather than the runtime trust failure.",
|
|
808
|
+
"subtechniques": [
|
|
809
|
+
"AML.T0104.000 — Typosquat publish to MCP registry",
|
|
810
|
+
"AML.T0104.001 — Compromised-account publish to agent-tool registry",
|
|
811
|
+
"AML.T0104.002 — Slow-poison via legitimate-tool update with later backdoor"
|
|
812
|
+
],
|
|
813
|
+
"real_world_instances": [
|
|
814
|
+
"CVE-2026-30615 — Windsurf MCP zero-interaction RCE via published tool",
|
|
815
|
+
"MCP registry typosquat campaigns 2025-2026"
|
|
816
|
+
],
|
|
817
|
+
"framework_gap": true,
|
|
818
|
+
"framework_gap_detail": "No framework has a publish-time control for AI-agent tool registries. SA-12 supply chain assumes traditional package registries. No framework requires Ed25519-style signing or registry-side review on agent-tool publishes.",
|
|
819
|
+
"controls_that_partially_help": [
|
|
820
|
+
"NIST-800-53-SA-12",
|
|
821
|
+
"ISO-27001-2022-A.8.30"
|
|
822
|
+
],
|
|
823
|
+
"controls_that_dont_help": [
|
|
824
|
+
"NIST-800-53-SI-3"
|
|
825
|
+
],
|
|
826
|
+
"detection": "Registry-side reputation scoring on newly published tools; signature requirement enforcement at registry boundary; victim-side allowlist of audited tools",
|
|
827
|
+
"exceptd_skills": [
|
|
828
|
+
"mcp-agent-trust",
|
|
829
|
+
"supply-chain-integrity",
|
|
830
|
+
"ai-attack-surface"
|
|
831
|
+
],
|
|
832
|
+
"secure_ai_v2_layer": true,
|
|
833
|
+
"maturity": "high",
|
|
834
|
+
"last_verified": "2026-05-15"
|
|
835
|
+
},
|
|
836
|
+
"AML.T0105": {
|
|
837
|
+
"id": "AML.T0105",
|
|
838
|
+
"name": "Escape to Host",
|
|
839
|
+
"tactic": "Privilege Escalation",
|
|
840
|
+
"description": "Adversary escapes from an AI workload's confinement boundary — model-serving container, agent sandbox, training-job pod — onto the underlying host. Combines container-escape primitives (T1611) with AI-pipeline-specific privileged-mount patterns (GPU device, model-cache volume, hostPath for training datasets) that commonly weaken sandbox boundaries on AI infrastructure.",
|
|
841
|
+
"subtechniques": [
|
|
842
|
+
"AML.T0105.000 — GPU-device passthrough abuse",
|
|
843
|
+
"AML.T0105.001 — Model-cache hostPath escape",
|
|
844
|
+
"AML.T0105.002 — Privileged training-job pod escape"
|
|
845
|
+
],
|
|
846
|
+
"real_world_instances": [
|
|
847
|
+
"GPU-passthrough container research 2026 — escape from ML serving container via nvidia device node",
|
|
848
|
+
"Kubeflow / Vertex training pod escape demonstrations"
|
|
849
|
+
],
|
|
850
|
+
"framework_gap": true,
|
|
851
|
+
"framework_gap_detail": "Container isolation controls (SI-7, AC-3) do not contemplate GPU device passthrough as a privilege boundary weakening pattern. No framework requires AI-workload-specific pod security policy. CIS Kubernetes Benchmark addresses pod security generically; AI-specific privileged-mount patterns are not enumerated.",
|
|
852
|
+
"controls_that_partially_help": [
|
|
853
|
+
"NIST-800-53-SC-39",
|
|
854
|
+
"NIST-800-53-AC-3"
|
|
855
|
+
],
|
|
856
|
+
"controls_that_dont_help": [
|
|
857
|
+
"NIST-800-53-SI-3"
|
|
858
|
+
],
|
|
859
|
+
"detection": "Pod-spec audit for hostPath / privileged / device-passthrough on AI workloads; runtime detection on container-to-host process transitions; eBPF tracing for namespace escape primitives",
|
|
860
|
+
"exceptd_skills": [
|
|
861
|
+
"container-runtime-security",
|
|
862
|
+
"mlops-security",
|
|
863
|
+
"ai-attack-surface"
|
|
864
|
+
],
|
|
865
|
+
"secure_ai_v2_layer": true,
|
|
866
|
+
"maturity": "moderate",
|
|
867
|
+
"last_verified": "2026-05-15"
|
|
868
|
+
},
|
|
869
|
+
"AML.T0106": {
|
|
870
|
+
"id": "AML.T0106",
|
|
871
|
+
"name": "Exploitation for Credential Access (AI Pipeline)",
|
|
872
|
+
"tactic": "Credential Access",
|
|
873
|
+
"description": "Adversary exploits a vulnerability in AI-pipeline software (model server, inference framework, agent runtime, MCP server, training scheduler) to obtain credentials held by the workload — service-account tokens, cloud-provider keys, vault credentials, model-registry tokens. ATLAS-scoped analogue of ATT&CK T1212 with AI-pipeline-specific exploit primitives.",
|
|
874
|
+
"subtechniques": [
|
|
875
|
+
"AML.T0106.000 — Model-server SSRF to cloud metadata API",
|
|
876
|
+
"AML.T0106.001 — MCP-server memory-disclosure leaking host secrets"
|
|
877
|
+
],
|
|
878
|
+
"real_world_instances": [
|
|
879
|
+
"CVE-2026-30615 — Windsurf MCP zero-interaction RCE chained to credential read",
|
|
880
|
+
"Triton / vLLM / Ray exploit chains 2025-2026 reaching service-account scope"
|
|
881
|
+
],
|
|
882
|
+
"framework_gap": true,
|
|
883
|
+
"framework_gap_detail": "RA-5 vulnerability scanning does not cover AI-pipeline software in most asset inventories. SI-2 flaw remediation prioritizes traditional CVE classes; AI-pipeline CVEs are under-tracked in patch SLAs. No framework requires inference-stack vuln management with AI-pipeline-specific cadence.",
|
|
884
|
+
"controls_that_partially_help": [
|
|
885
|
+
"NIST-800-53-RA-5",
|
|
886
|
+
"NIST-800-53-SI-2"
|
|
887
|
+
],
|
|
888
|
+
"controls_that_dont_help": [
|
|
889
|
+
"NIST-800-53-IA-5"
|
|
890
|
+
],
|
|
891
|
+
"detection": "AI-pipeline CVE scanning with pipeline-specific KEV-equivalent prioritization; IMDSv2 enforcement on AI workloads; per-workload credential rotation cadence",
|
|
892
|
+
"exceptd_skills": [
|
|
893
|
+
"mlops-security",
|
|
894
|
+
"ai-attack-surface",
|
|
895
|
+
"mcp-agent-trust"
|
|
896
|
+
],
|
|
897
|
+
"secure_ai_v2_layer": true,
|
|
898
|
+
"maturity": "moderate",
|
|
899
|
+
"last_verified": "2026-05-15"
|
|
900
|
+
},
|
|
901
|
+
"AML.T0107": {
|
|
902
|
+
"id": "AML.T0107",
|
|
903
|
+
"name": "Exploitation for Defense Evasion (AI Pipeline)",
|
|
904
|
+
"tactic": "Defense Evasion",
|
|
905
|
+
"description": "Adversary exploits AI-pipeline vulnerabilities specifically to bypass detection or instrumentation — disabling telemetry on the inference path, suppressing agent audit trails, evading content-policy filters via inference-server bug. Distinguished from T0054 (jailbreak) by exploiting a software bug rather than guardrail-prompt evasion.",
|
|
906
|
+
"subtechniques": [
|
|
907
|
+
"AML.T0107.000 — Inference-server telemetry suppression via crafted request",
|
|
908
|
+
"AML.T0107.001 — Agent audit-log bypass via prompt-execution race"
|
|
909
|
+
],
|
|
910
|
+
"real_world_instances": [
|
|
911
|
+
"AI gateway bypass research 2026 — crafted requests cause content filter to fail-open while logging records 'allowed'",
|
|
912
|
+
"Audit-trail race-condition disclosures in agent frameworks 2026"
|
|
913
|
+
],
|
|
914
|
+
"framework_gap": true,
|
|
915
|
+
"framework_gap_detail": "AU-9 protection of audit information does not address AI-agent audit trails as a control surface. SI-4 information system monitoring has no AI-pipeline-specific tamper-detection requirement.",
|
|
916
|
+
"controls_that_partially_help": [
|
|
917
|
+
"NIST-800-53-AU-9",
|
|
918
|
+
"NIST-800-53-SI-4"
|
|
919
|
+
],
|
|
920
|
+
"controls_that_dont_help": [
|
|
921
|
+
"NIST-800-53-SI-3"
|
|
922
|
+
],
|
|
923
|
+
"detection": "Inference-server log integrity verification; out-of-band telemetry from agent runtime; redundant logging at gateway + model + agent layers with cross-correlation",
|
|
924
|
+
"exceptd_skills": [
|
|
925
|
+
"ai-c2-detection",
|
|
926
|
+
"mcp-agent-trust",
|
|
927
|
+
"incident-response-playbook"
|
|
928
|
+
],
|
|
929
|
+
"secure_ai_v2_layer": true,
|
|
930
|
+
"maturity": "moderate",
|
|
931
|
+
"last_verified": "2026-05-15"
|
|
932
|
+
},
|
|
933
|
+
"AML.T0108": {
|
|
934
|
+
"id": "AML.T0108",
|
|
935
|
+
"name": "AI Agent (as Attacker Asset)",
|
|
936
|
+
"tactic": "Resource Development",
|
|
937
|
+
"description": "Adversary stands up an AI agent as part of the offensive toolchain — autonomous reconnaissance, exploit chaining, lateral movement planning, deepfake / vishing scripting. The agent is the attacker asset; targets see the agent's actions, not the human operator's keystrokes. Underpins agentic C2 (T0096) and AI-accelerated exploit development (T0102).",
|
|
938
|
+
"subtechniques": [
|
|
939
|
+
"AML.T0108.000 — Offensive recon agent",
|
|
940
|
+
"AML.T0108.001 — Offensive exploit-chaining agent",
|
|
941
|
+
"AML.T0108.002 — Offensive social-engineering agent"
|
|
942
|
+
],
|
|
943
|
+
"real_world_instances": [
|
|
944
|
+
"PROMPTFLUX, PROMPTSTEAL — first-generation offensive agent samples in the wild",
|
|
945
|
+
"41% of 2025 zero-days were AI-discovered; AI-assisted exploit development is operational reality"
|
|
946
|
+
],
|
|
947
|
+
"framework_gap": true,
|
|
948
|
+
"framework_gap_detail": "No framework has a control for defending against an adversary-controlled AI agent as an attack capability. PM-16 threat intelligence does not require tracking offensive-agent capability evolution. AI RMF GOVERN-1.7 mentions adversarial use but does not mandate detection capability.",
|
|
949
|
+
"controls_that_partially_help": [
|
|
950
|
+
"NIST-800-53-PM-16",
|
|
951
|
+
"NIST-AI-RMF-GOVERN-1.7"
|
|
952
|
+
],
|
|
953
|
+
"controls_that_dont_help": [
|
|
954
|
+
"NIST-800-53-SI-3"
|
|
955
|
+
],
|
|
956
|
+
"detection": "Behavioral indicators of agentic attacker tempo (consistent inter-request timing, parallelized recon, prompt-style fingerprints in residual artifacts); threat-intel feed on offensive-agent capability releases",
|
|
957
|
+
"exceptd_skills": [
|
|
958
|
+
"ai-c2-detection",
|
|
959
|
+
"ai-attack-surface",
|
|
960
|
+
"exploit-scoring",
|
|
961
|
+
"threat-model-currency"
|
|
962
|
+
],
|
|
963
|
+
"secure_ai_v2_layer": true,
|
|
964
|
+
"maturity": "high",
|
|
965
|
+
"last_verified": "2026-05-15"
|
|
966
|
+
},
|
|
967
|
+
"AML.T0011.002": {
|
|
968
|
+
"id": "AML.T0011.002",
|
|
969
|
+
"name": "User Execution: Poisoned AI Agent Tool",
|
|
970
|
+
"tactic": "Execution",
|
|
971
|
+
"description": "User installs and invokes a poisoned AI agent tool (MCP server, plugin) that they were socially engineered into trusting — distinct from T0104 (the publish step) and T0053 (the runtime trust failure on an already-trusted plugin). Captures the user-decision moment where the tool moves from untrusted to trusted scope.",
|
|
972
|
+
"subtechniques": [],
|
|
973
|
+
"real_world_instances": [
|
|
974
|
+
"MCP-registry social-engineering 2026 — tool descriptions tuned to appear authoritative to operators evaluating new agent capabilities"
|
|
975
|
+
],
|
|
976
|
+
"framework_gap": true,
|
|
977
|
+
"framework_gap_detail": "AT-2 security awareness does not include AI-agent tool vetting curriculum. No framework requires tool-provenance review as a user-decision step.",
|
|
978
|
+
"controls_that_partially_help": [
|
|
979
|
+
"NIST-800-53-AT-2",
|
|
980
|
+
"NIST-800-53-SA-12"
|
|
981
|
+
],
|
|
982
|
+
"controls_that_dont_help": [
|
|
983
|
+
"NIST-800-53-SI-3"
|
|
984
|
+
],
|
|
985
|
+
"detection": "Tool-vetting policy + human-review gate on new agent tool installation; allowlist enforcement at the agent-runtime layer",
|
|
986
|
+
"exceptd_skills": [
|
|
987
|
+
"mcp-agent-trust",
|
|
988
|
+
"supply-chain-integrity"
|
|
989
|
+
],
|
|
990
|
+
"secure_ai_v2_layer": true,
|
|
991
|
+
"maturity": "moderate",
|
|
992
|
+
"last_verified": "2026-05-15"
|
|
484
993
|
}
|
|
485
994
|
}
|