@blamejs/exceptd-skills 0.12.13 → 0.12.15
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/CHANGELOG.md +150 -0
- package/bin/exceptd.js +147 -9
- package/data/_indexes/_meta.json +45 -45
- package/data/_indexes/activity-feed.json +4 -4
- package/data/_indexes/catalog-summaries.json +29 -29
- package/data/_indexes/chains.json +3238 -3210
- package/data/_indexes/frequency.json +3 -0
- package/data/_indexes/jurisdiction-map.json +5 -3
- package/data/_indexes/section-offsets.json +712 -685
- package/data/_indexes/theater-fingerprints.json +1 -1
- package/data/_indexes/token-budget.json +355 -340
- package/data/atlas-ttps.json +144 -129
- package/data/attack-techniques.json +319 -76
- package/data/cve-catalog.json +515 -475
- package/data/cwe-catalog.json +1081 -759
- package/data/exploit-availability.json +63 -15
- package/data/framework-control-gaps.json +867 -843
- package/data/rfc-references.json +276 -276
- package/keys/EXPECTED_FINGERPRINT +1 -0
- package/lib/auto-discovery.js +21 -4
- package/lib/cross-ref-api.js +39 -6
- package/lib/cve-curation.js +18 -5
- package/lib/lint-skills.js +6 -1
- package/lib/playbook-runner.js +742 -78
- package/lib/refresh-external.js +40 -22
- package/lib/refresh-network.js +193 -17
- package/lib/scoring.js +20 -7
- package/lib/source-ghsa.js +219 -37
- package/lib/source-osv.js +381 -122
- package/lib/validate-catalog-meta.js +64 -9
- package/lib/validate-cve-catalog.js +56 -18
- package/lib/validate-indexes.js +88 -37
- package/lib/verify.js +72 -0
- package/manifest-snapshot.json +1 -1
- package/manifest-snapshot.sha256 +1 -0
- package/manifest.json +73 -73
- package/orchestrator/dispatcher.js +21 -1
- package/orchestrator/event-bus.js +52 -8
- package/orchestrator/index.js +279 -20
- package/orchestrator/pipeline.js +63 -2
- package/orchestrator/scanner.js +32 -10
- package/orchestrator/scheduler.js +150 -17
- package/package.json +3 -1
- package/sbom.cdx.json +7 -7
- package/scripts/check-manifest-snapshot.js +32 -0
- package/scripts/check-sbom-currency.js +65 -3
- package/scripts/check-test-coverage.js +142 -19
- package/scripts/predeploy.js +83 -39
- package/scripts/refresh-manifest-snapshot.js +55 -4
- package/scripts/validate-vendor-online.js +169 -0
- package/scripts/verify-shipped-tarball.js +106 -3
- package/skills/ai-attack-surface/skill.md +18 -10
- package/skills/ai-c2-detection/skill.md +7 -2
- package/skills/ai-risk-management/skill.md +5 -4
- package/skills/api-security/skill.md +3 -3
- package/skills/attack-surface-pentest/skill.md +5 -5
- package/skills/cloud-security/skill.md +1 -1
- package/skills/compliance-theater/skill.md +8 -8
- package/skills/container-runtime-security/skill.md +1 -1
- package/skills/dlp-gap-analysis/skill.md +5 -1
- package/skills/email-security-anti-phishing/skill.md +1 -1
- package/skills/exploit-scoring/skill.md +18 -18
- package/skills/framework-gap-analysis/skill.md +6 -6
- package/skills/global-grc/skill.md +3 -2
- package/skills/identity-assurance/skill.md +2 -2
- package/skills/incident-response-playbook/skill.md +4 -4
- package/skills/kernel-lpe-triage/skill.md +21 -2
- package/skills/mcp-agent-trust/skill.md +17 -10
- package/skills/mlops-security/skill.md +2 -1
- package/skills/ot-ics-security/skill.md +1 -1
- package/skills/policy-exception-gen/skill.md +3 -3
- package/skills/pqc-first/skill.md +1 -1
- package/skills/rag-pipeline-security/skill.md +7 -3
- package/skills/researcher/skill.md +20 -3
- package/skills/sector-energy/skill.md +1 -1
- package/skills/sector-federal-government/skill.md +1 -1
- package/skills/sector-financial/skill.md +3 -3
- package/skills/sector-healthcare/skill.md +2 -2
- package/skills/security-maturity-tiers/skill.md +7 -7
- package/skills/skill-update-loop/skill.md +19 -3
- package/skills/supply-chain-integrity/skill.md +1 -1
- package/skills/threat-model-currency/skill.md +11 -11
- package/skills/threat-modeling-methodology/skill.md +3 -3
- package/skills/webapp-security/skill.md +1 -1
- package/skills/zeroday-gap-learn/skill.md +51 -7
- package/vendor/blamejs/_PROVENANCE.json +4 -1
- package/vendor/blamejs/worker-pool.js +38 -0
package/data/cwe-catalog.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"view_ai_ml": "CWE View 1425 (AI/ML Weaknesses)",
|
|
11
11
|
"view_top_25_2024": "CWE View 1430 (2024 CWE Top 25 Most Dangerous Software Weaknesses)",
|
|
12
12
|
"skill_refs_field": "cwe_refs",
|
|
13
|
-
"note": "CWE Top 25 ranks reflect the 2024 release published by MITRE / CISA on 2024-11-20 (View CWE-1430). The 2025 release was not yet published as of pin date 2026-05-11; top_25_rank_2025 is null for all entries until the next list ships. CVE-to-CWE assignments use the primary NVD classification where known; secondary classes are noted in lag_notes. Per AGENTS.md hard rule #10, this file contains real CWE IDs only — entries without a defensible public mapping were omitted rather than fabricated. Some CVE-to-CWE mappings could not be confidently justified (see project report); those CVEs do not appear in evidence_cves for the relevant CWE entry.",
|
|
13
|
+
"note": "CWE Top 25 ranks reflect the 2024 release published by MITRE / CISA on 2024-11-20 (View CWE-1430). The 2025 release was not yet published as of pin date 2026-05-11; top_25_rank_2025 is null for all entries until the next list ships. CVE-to-CWE assignments use the primary NVD classification where known; secondary classes are noted in lag_notes. Per AGENTS.md hard rule #10, this file contains real CWE IDs only — entries without a defensible public mapping were omitted rather than fabricated. Some CVE-to-CWE mappings could not be confidently justified (see project report); those CVEs do not appear in evidence_cves for the relevant CWE entry. skills_referencing carries only real exceptd skill directory names; playbooks_referencing carries playbook ids (data/playbooks/*.json) — split introduced 2026-05-14 to remove contamination flagged by Audit D.",
|
|
14
14
|
"tlp": "CLEAR",
|
|
15
15
|
"source_confidence": {
|
|
16
16
|
"scheme": "Admiralty (A-F + 1-6)",
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
"note": "Per-entry last_verified governs decay. Skills depending on this catalog must check entry freshness before high-stakes use."
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
|
-
"CWE-
|
|
28
|
-
"id": "CWE-
|
|
29
|
-
"name": "
|
|
30
|
-
"abstraction": "
|
|
31
|
-
"category": "
|
|
32
|
-
"description": "The product
|
|
33
|
-
"top_25_rank_2024":
|
|
27
|
+
"CWE-20": {
|
|
28
|
+
"id": "CWE-20",
|
|
29
|
+
"name": "Improper Input Validation",
|
|
30
|
+
"abstraction": "Class",
|
|
31
|
+
"category": "Validation",
|
|
32
|
+
"description": "The product receives input but does not validate or incorrectly validates that the input has the properties required to safely process it. CWE-20 is the parent class for many concrete injection and overflow CWEs and remains in the Top 25 as a backstop classification.",
|
|
33
|
+
"top_25_rank_2024": 6,
|
|
34
34
|
"top_25_rank_2025": null,
|
|
35
35
|
"view_memberships": [
|
|
36
36
|
"CWE-1003",
|
|
@@ -38,36 +38,32 @@
|
|
|
38
38
|
"CWE-1430"
|
|
39
39
|
],
|
|
40
40
|
"related_attack_patterns_capec": [
|
|
41
|
-
"CAPEC-
|
|
42
|
-
"CAPEC-
|
|
43
|
-
"CAPEC-
|
|
44
|
-
"CAPEC-540"
|
|
41
|
+
"CAPEC-3",
|
|
42
|
+
"CAPEC-10",
|
|
43
|
+
"CAPEC-22"
|
|
45
44
|
],
|
|
46
45
|
"skills_referencing": [
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
],
|
|
51
|
-
"evidence_cves": [
|
|
52
|
-
"CVE-2026-31431"
|
|
46
|
+
"ai-attack-surface",
|
|
47
|
+
"rag-pipeline-security",
|
|
48
|
+
"exploit-scoring"
|
|
53
49
|
],
|
|
50
|
+
"evidence_cves": [],
|
|
54
51
|
"framework_controls_partially_addressing": [
|
|
55
52
|
"NIST-800-53-SI-10",
|
|
56
|
-
"NIST-800-53-SI-16",
|
|
57
53
|
"ISO-27001-2022-A.8.28",
|
|
58
|
-
"
|
|
54
|
+
"PCI-DSS-4.0-6.2.4"
|
|
59
55
|
],
|
|
60
|
-
"real_requirement": "
|
|
61
|
-
"lag_notes": "
|
|
56
|
+
"real_requirement": "Schema-based input validation at trust boundaries with deny-by-default; for AI pipelines, input validation must include semantic-class validation (is this prompt text? Is it a tool-call structure?) not just syntactic validation. Prompt content cannot be validated by SI-10 syntactically.",
|
|
57
|
+
"lag_notes": "SI-10 treats validation as a syntactic operation. For LLM/RAG inputs, semantic validation is required (the input may be syntactically valid JSON but semantically a jailbreak payload). No framework operationalizes semantic validation for AI inputs.",
|
|
62
58
|
"last_verified": "2026-05-11"
|
|
63
59
|
},
|
|
64
|
-
"CWE-
|
|
65
|
-
"id": "CWE-
|
|
66
|
-
"name": "Improper
|
|
60
|
+
"CWE-22": {
|
|
61
|
+
"id": "CWE-22",
|
|
62
|
+
"name": "Improper Limitation of a Pathname to a Restricted Directory (Path Traversal)",
|
|
67
63
|
"abstraction": "Base",
|
|
68
|
-
"category": "
|
|
69
|
-
"description": "The product
|
|
70
|
-
"top_25_rank_2024":
|
|
64
|
+
"category": "Path/Resource",
|
|
65
|
+
"description": "The product uses external input to construct a pathname intended to identify a file or directory but does not properly neutralize sequences such as dot-dot that can resolve outside the restricted directory. Re-emerged as critical via MCP tools that expose file-read primitives to LLM-driven argument selection.",
|
|
66
|
+
"top_25_rank_2024": 5,
|
|
71
67
|
"top_25_rank_2025": null,
|
|
72
68
|
"view_memberships": [
|
|
73
69
|
"CWE-1003",
|
|
@@ -75,32 +71,29 @@
|
|
|
75
71
|
"CWE-1430"
|
|
76
72
|
],
|
|
77
73
|
"related_attack_patterns_capec": [
|
|
78
|
-
"CAPEC-
|
|
79
|
-
"CAPEC-
|
|
80
|
-
"CAPEC-591",
|
|
81
|
-
"CAPEC-592"
|
|
74
|
+
"CAPEC-126",
|
|
75
|
+
"CAPEC-76"
|
|
82
76
|
],
|
|
83
77
|
"skills_referencing": [
|
|
84
|
-
"
|
|
78
|
+
"mcp-agent-trust"
|
|
85
79
|
],
|
|
86
80
|
"evidence_cves": [],
|
|
87
81
|
"framework_controls_partially_addressing": [
|
|
82
|
+
"NIST-800-53-AC-3",
|
|
88
83
|
"NIST-800-53-SI-10",
|
|
89
|
-
"
|
|
90
|
-
"ISO-27001-2022-A.8.28",
|
|
91
|
-
"PCI-DSS-4.0-6.2.4"
|
|
84
|
+
"ISO-27001-2022-A.5.15"
|
|
92
85
|
],
|
|
93
|
-
"real_requirement": "
|
|
94
|
-
"lag_notes": "
|
|
86
|
+
"real_requirement": "Canonicalize-then-prefix-check; openat2 with RESOLVE_BENEATH on Linux; chroot or per-tool filesystem capabilities for MCP tools. AC-3 enforcement is satisfied by the OS file ACL — which is irrelevant when the agent has legitimate read access to the parent directory but should not have access to subpaths revealed by traversal.",
|
|
87
|
+
"lag_notes": "No framework requires per-tool filesystem capability scoping for AI agents — agents inherit their host process's full filesystem access, making CWE-22 effectively a privilege escalation in the agentic context.",
|
|
95
88
|
"last_verified": "2026-05-11"
|
|
96
89
|
},
|
|
97
|
-
"CWE-
|
|
98
|
-
"id": "CWE-
|
|
99
|
-
"name": "Improper Neutralization of Special Elements used in
|
|
100
|
-
"abstraction": "
|
|
90
|
+
"CWE-77": {
|
|
91
|
+
"id": "CWE-77",
|
|
92
|
+
"name": "Improper Neutralization of Special Elements used in a Command (Command Injection)",
|
|
93
|
+
"abstraction": "Class",
|
|
101
94
|
"category": "Injection",
|
|
102
|
-
"description": "The product constructs
|
|
103
|
-
"top_25_rank_2024":
|
|
95
|
+
"description": "The product constructs all or part of a command using externally-influenced input without neutralizing special elements that could modify the intended command. Parent class of CWE-78 (OS) and CWE-89 (SQL); a secondary classification used in some MCP and agentic-tool advisories.",
|
|
96
|
+
"top_25_rank_2024": 16,
|
|
104
97
|
"top_25_rank_2025": null,
|
|
105
98
|
"view_memberships": [
|
|
106
99
|
"CWE-1003",
|
|
@@ -108,30 +101,32 @@
|
|
|
108
101
|
"CWE-1430"
|
|
109
102
|
],
|
|
110
103
|
"related_attack_patterns_capec": [
|
|
111
|
-
"CAPEC-
|
|
112
|
-
"CAPEC-
|
|
113
|
-
"CAPEC-470"
|
|
104
|
+
"CAPEC-248",
|
|
105
|
+
"CAPEC-15"
|
|
114
106
|
],
|
|
115
107
|
"skills_referencing": [
|
|
116
|
-
"
|
|
108
|
+
"mcp-agent-trust",
|
|
109
|
+
"ai-attack-surface"
|
|
110
|
+
],
|
|
111
|
+
"evidence_cves": [
|
|
112
|
+
"MAL-2026-3083",
|
|
113
|
+
"CVE-2025-53773"
|
|
117
114
|
],
|
|
118
|
-
"evidence_cves": ["CVE-2026-42208"],
|
|
119
115
|
"framework_controls_partially_addressing": [
|
|
120
116
|
"NIST-800-53-SI-10",
|
|
121
|
-
"ISO-27001-2022-A.8.28"
|
|
122
|
-
"PCI-DSS-4.0-6.2.4"
|
|
117
|
+
"ISO-27001-2022-A.8.28"
|
|
123
118
|
],
|
|
124
|
-
"real_requirement": "
|
|
125
|
-
"lag_notes": "
|
|
119
|
+
"real_requirement": "Structured command APIs at every command boundary (DB driver, OS exec, MCP tool argv); reject unstructured-string command interfaces in new MCP tool designs.",
|
|
120
|
+
"lag_notes": "Used as the parent classification by some vendor advisories where the precise sub-class (CWE-78 vs CWE-94) is ambiguous; cited here so skill authors can defensibly use either.",
|
|
126
121
|
"last_verified": "2026-05-11"
|
|
127
122
|
},
|
|
128
|
-
"CWE-
|
|
129
|
-
"id": "CWE-
|
|
130
|
-
"name": "
|
|
131
|
-
"abstraction": "
|
|
132
|
-
"category": "
|
|
133
|
-
"description": "
|
|
134
|
-
"top_25_rank_2024":
|
|
123
|
+
"CWE-78": {
|
|
124
|
+
"id": "CWE-78",
|
|
125
|
+
"name": "Improper Neutralization of Special Elements used in an OS Command (OS Command Injection)",
|
|
126
|
+
"abstraction": "Base",
|
|
127
|
+
"category": "Injection",
|
|
128
|
+
"description": "The product constructs an OS command using externally-influenced input without neutralizing special elements. OS command injection is the canonical class for CI/CD pipeline RCE, MCP tool shell-wrapper RCE, and developer-tooling agentic RCE.",
|
|
129
|
+
"top_25_rank_2024": 7,
|
|
135
130
|
"top_25_rank_2025": null,
|
|
136
131
|
"view_memberships": [
|
|
137
132
|
"CWE-1003",
|
|
@@ -139,32 +134,30 @@
|
|
|
139
134
|
"CWE-1430"
|
|
140
135
|
],
|
|
141
136
|
"related_attack_patterns_capec": [
|
|
142
|
-
"CAPEC-
|
|
137
|
+
"CAPEC-88",
|
|
138
|
+
"CAPEC-6"
|
|
143
139
|
],
|
|
144
140
|
"skills_referencing": [
|
|
145
|
-
"
|
|
141
|
+
"mcp-agent-trust",
|
|
142
|
+
"ai-attack-surface",
|
|
146
143
|
"exploit-scoring"
|
|
147
144
|
],
|
|
148
|
-
"evidence_cves": [
|
|
149
|
-
"CVE-2026-43284",
|
|
150
|
-
"CVE-2026-43500"
|
|
151
|
-
],
|
|
145
|
+
"evidence_cves": [],
|
|
152
146
|
"framework_controls_partially_addressing": [
|
|
153
|
-
"NIST-800-53-SI-
|
|
154
|
-
"NIST-800-53-SI-2",
|
|
147
|
+
"NIST-800-53-SI-10",
|
|
155
148
|
"ISO-27001-2022-A.8.28"
|
|
156
149
|
],
|
|
157
|
-
"real_requirement": "
|
|
158
|
-
"lag_notes": "
|
|
150
|
+
"real_requirement": "Avoid shell invocation entirely; use execve-style arg arrays. For MCP tools that wrap shells, allowlist tool argv structure at the protocol layer; refuse any tool that accepts unstructured string commands as input. NIST SI-10 does not contemplate AI agents as command-injection vectors.",
|
|
151
|
+
"lag_notes": "MCP tools that accept natural-language commands and translate to shell are a CWE-78 vector that no framework treats as a first-class issue. Treated as 'tool design' rather than 'injection.'",
|
|
159
152
|
"last_verified": "2026-05-11"
|
|
160
153
|
},
|
|
161
|
-
"CWE-
|
|
162
|
-
"id": "CWE-
|
|
163
|
-
"name": "Improper Input
|
|
164
|
-
"abstraction": "
|
|
165
|
-
"category": "
|
|
166
|
-
"description": "The product
|
|
167
|
-
"top_25_rank_2024":
|
|
154
|
+
"CWE-79": {
|
|
155
|
+
"id": "CWE-79",
|
|
156
|
+
"name": "Improper Neutralization of Input During Web Page Generation (Cross-site Scripting)",
|
|
157
|
+
"abstraction": "Base",
|
|
158
|
+
"category": "Injection",
|
|
159
|
+
"description": "The product does not neutralize user-controllable input before placing it in output used as a web page served to other users. XSS remains the number one weakness in the 2024 Top 25 due to template-engine misuse, framework escape-hatch APIs, and DOM-clobbering in single-page applications.",
|
|
160
|
+
"top_25_rank_2024": 1,
|
|
168
161
|
"top_25_rank_2025": null,
|
|
169
162
|
"view_memberships": [
|
|
170
163
|
"CWE-1003",
|
|
@@ -172,32 +165,61 @@
|
|
|
172
165
|
"CWE-1430"
|
|
173
166
|
],
|
|
174
167
|
"related_attack_patterns_capec": [
|
|
175
|
-
"CAPEC-
|
|
176
|
-
"CAPEC-
|
|
177
|
-
"CAPEC-
|
|
168
|
+
"CAPEC-63",
|
|
169
|
+
"CAPEC-588",
|
|
170
|
+
"CAPEC-591",
|
|
171
|
+
"CAPEC-592"
|
|
178
172
|
],
|
|
179
173
|
"skills_referencing": [
|
|
180
|
-
"ai-attack-surface",
|
|
181
|
-
"rag-pipeline-security",
|
|
182
174
|
"exploit-scoring"
|
|
183
175
|
],
|
|
184
176
|
"evidence_cves": [],
|
|
185
177
|
"framework_controls_partially_addressing": [
|
|
186
178
|
"NIST-800-53-SI-10",
|
|
179
|
+
"NIST-800-53-SC-18",
|
|
187
180
|
"ISO-27001-2022-A.8.28",
|
|
188
181
|
"PCI-DSS-4.0-6.2.4"
|
|
189
182
|
],
|
|
190
|
-
"real_requirement": "
|
|
191
|
-
"lag_notes": "
|
|
183
|
+
"real_requirement": "Context-aware auto-escaping enforced by the framework with no opt-out for user-influenced data; CSP with nonce-based strict-dynamic; Trusted Types enforced in production for browser-rendered output. Code review alone does not catch XSS in modern SPA codebases.",
|
|
184
|
+
"lag_notes": "PCI-DSS 6.2.4 still treats XSS as a code-review finding rather than a framework configuration finding. NIST SC-18 (mobile code) predates the SPA / DOM-XSS era and does not contemplate Trusted Types or CSP nonce enforcement.",
|
|
192
185
|
"last_verified": "2026-05-11"
|
|
193
186
|
},
|
|
194
|
-
"CWE-
|
|
195
|
-
"id": "CWE-
|
|
196
|
-
"name": "Improper Neutralization of
|
|
187
|
+
"CWE-88": {
|
|
188
|
+
"id": "CWE-88",
|
|
189
|
+
"name": "Improper Neutralization of Argument Delimiters in a Command",
|
|
197
190
|
"abstraction": "Base",
|
|
198
191
|
"category": "Injection",
|
|
199
|
-
"description": "The product constructs
|
|
200
|
-
"top_25_rank_2024":
|
|
192
|
+
"description": "The product constructs a string for a downstream command (typically by concatenating user input into a shell command line, then splitting on whitespace to argv) without escaping argument-delimiter characters. Distinguished from CWE-77 (Command Injection) by the narrower attack surface: the attacker cannot run arbitrary commands but CAN inject additional flags / arguments to a command the application already invokes, which is often sufficient to break the security model (redirect kubectl to attacker-control, change kubectl namespace, etc.).",
|
|
193
|
+
"top_25_rank_2024": null,
|
|
194
|
+
"top_25_rank_2025": null,
|
|
195
|
+
"view_memberships": [
|
|
196
|
+
"CWE-1000",
|
|
197
|
+
"CWE-1003"
|
|
198
|
+
],
|
|
199
|
+
"related_attack_patterns_capec": [
|
|
200
|
+
"CAPEC-460"
|
|
201
|
+
],
|
|
202
|
+
"skills_referencing": [
|
|
203
|
+
"mcp-agent-trust",
|
|
204
|
+
"container-runtime-security"
|
|
205
|
+
],
|
|
206
|
+
"evidence_cves": [
|
|
207
|
+
"CVE-2026-39884"
|
|
208
|
+
],
|
|
209
|
+
"framework_controls_partially_addressing": [
|
|
210
|
+
"NIST-800-53-SI-10"
|
|
211
|
+
],
|
|
212
|
+
"real_requirement": "Pass arguments to spawned processes as an array, not a string. When a string-form command is unavoidable, use the runtime's argument-list API (Node `child_process.spawn(cmd, argsArray)`, Python `subprocess.run([cmd, ...args])`) or a vetted escape function. Linter rule that flags any `.split(' ')` followed by `spawn`/`exec` on user-tainted input.",
|
|
213
|
+
"lag_notes": "SI-10 addresses input validation categorically but does not specify the argv-vs-string boundary that argument injection exploits. Many MCP servers and CI runners string-concatenate user input into shell commands without registering this as a code-review failure mode.",
|
|
214
|
+
"last_verified": "2026-05-13"
|
|
215
|
+
},
|
|
216
|
+
"CWE-89": {
|
|
217
|
+
"id": "CWE-89",
|
|
218
|
+
"name": "Improper Neutralization of Special Elements used in an SQL Command (SQL Injection)",
|
|
219
|
+
"abstraction": "Base",
|
|
220
|
+
"category": "Injection",
|
|
221
|
+
"description": "The product constructs SQL using externally-influenced input without neutralizing special elements. SQLi remains in the Top 5 despite parameterized-query availability for two decades because ORM raw-query escape hatches, AI-generated string-concat code, and second-order injection through caches keep reintroducing it.",
|
|
222
|
+
"top_25_rank_2024": 3,
|
|
201
223
|
"top_25_rank_2025": null,
|
|
202
224
|
"view_memberships": [
|
|
203
225
|
"CWE-1003",
|
|
@@ -205,21 +227,23 @@
|
|
|
205
227
|
"CWE-1430"
|
|
206
228
|
],
|
|
207
229
|
"related_attack_patterns_capec": [
|
|
208
|
-
"CAPEC-
|
|
209
|
-
"CAPEC-
|
|
230
|
+
"CAPEC-66",
|
|
231
|
+
"CAPEC-7",
|
|
232
|
+
"CAPEC-470"
|
|
210
233
|
],
|
|
211
234
|
"skills_referencing": [
|
|
212
|
-
"mcp-agent-trust",
|
|
213
|
-
"ai-attack-surface",
|
|
214
235
|
"exploit-scoring"
|
|
215
236
|
],
|
|
216
|
-
"evidence_cves": [
|
|
237
|
+
"evidence_cves": [
|
|
238
|
+
"CVE-2026-42208"
|
|
239
|
+
],
|
|
217
240
|
"framework_controls_partially_addressing": [
|
|
218
241
|
"NIST-800-53-SI-10",
|
|
219
|
-
"ISO-27001-2022-A.8.28"
|
|
242
|
+
"ISO-27001-2022-A.8.28",
|
|
243
|
+
"PCI-DSS-4.0-6.2.4"
|
|
220
244
|
],
|
|
221
|
-
"real_requirement": "
|
|
222
|
-
"lag_notes": "
|
|
245
|
+
"real_requirement": "Parameterized queries enforced at the ORM/driver level with raw-query usage gated by code-owner approval; AI-assisted code review flagging string-concat SQL patterns from LLM-generated code (a documented regression vector in 2024-2026 codebases).",
|
|
246
|
+
"lag_notes": "DR-5 applies: AI code generation is a current re-introduction vector for SQLi in codebases that had previously eliminated it. No framework control acknowledges LLM-generated code as a regression source.",
|
|
223
247
|
"last_verified": "2026-05-11"
|
|
224
248
|
},
|
|
225
249
|
"CWE-94": {
|
|
@@ -259,43 +283,44 @@
|
|
|
259
283
|
"lag_notes": "Microsoft's NVD advisory for CVE-2025-53773 maps the Copilot RCE to CWE-94. Some vendor advisories use CWE-77 (Command Injection) as a secondary classification — both are defensible. AGENTS.md DR-1 applies: no framework treats LLM code or tool-call emission as a CWE-94 class, so SI-10 cannot be claimed adequate.",
|
|
260
284
|
"last_verified": "2026-05-11"
|
|
261
285
|
},
|
|
262
|
-
"CWE-
|
|
263
|
-
"id": "CWE-
|
|
264
|
-
"name": "
|
|
286
|
+
"CWE-123": {
|
|
287
|
+
"id": "CWE-123",
|
|
288
|
+
"name": "Write-what-where Condition",
|
|
265
289
|
"abstraction": "Base",
|
|
266
|
-
"category": "
|
|
267
|
-
"description": "
|
|
268
|
-
"top_25_rank_2024":
|
|
290
|
+
"category": "Memory Safety",
|
|
291
|
+
"description": "Any condition where the attacker has the ability to write an arbitrary value to an arbitrary location, often as the result of a buffer overflow or use of unchecked indexes. Write-what-where is the canonical kernel exploit primitive that turns a constrained memory corruption into reliable code execution.",
|
|
292
|
+
"top_25_rank_2024": null,
|
|
269
293
|
"top_25_rank_2025": null,
|
|
270
294
|
"view_memberships": [
|
|
271
|
-
"CWE-
|
|
272
|
-
"CWE-1000",
|
|
273
|
-
"CWE-1430"
|
|
274
|
-
],
|
|
275
|
-
"related_attack_patterns_capec": [
|
|
276
|
-
"CAPEC-126",
|
|
277
|
-
"CAPEC-76"
|
|
295
|
+
"CWE-1000"
|
|
278
296
|
],
|
|
297
|
+
"related_attack_patterns_capec": [],
|
|
279
298
|
"skills_referencing": [
|
|
280
|
-
"
|
|
299
|
+
"kernel-lpe-triage",
|
|
300
|
+
"exploit-scoring"
|
|
301
|
+
],
|
|
302
|
+
"playbooks_referencing": [
|
|
303
|
+
"kernel",
|
|
304
|
+
"hardening"
|
|
305
|
+
],
|
|
306
|
+
"evidence_cves": [
|
|
307
|
+
"CVE-2026-43284"
|
|
281
308
|
],
|
|
282
|
-
"evidence_cves": [],
|
|
283
309
|
"framework_controls_partially_addressing": [
|
|
284
|
-
"NIST-800-53-
|
|
285
|
-
"
|
|
286
|
-
"ISO-27001-2022-A.5.15"
|
|
310
|
+
"NIST-800-53-SI-16",
|
|
311
|
+
"ISO-27001-2022-A.8.28"
|
|
287
312
|
],
|
|
288
|
-
"real_requirement": "
|
|
289
|
-
"lag_notes": "
|
|
290
|
-
"last_verified": "2026-05-
|
|
313
|
+
"real_requirement": "Memory-safe rewrites of attack-surface subsystems (IPsec, netfilter, packet reassembly); SLAB_VIRTUAL and heap-isolation hardening enabled in production kernels; KASAN-enabled fleet canaries surfacing arbitrary-write primitives before they reach a release kernel.",
|
|
314
|
+
"lag_notes": "NIST SI-16 considers memory protection addressed if NX/ASLR are enabled; write-what-where primitives in kernel subsystems routinely defeat both via heap spray plus grooming. No framework control mandates memory-safe language adoption for high-blast-radius kernel subsystems.",
|
|
315
|
+
"last_verified": "2026-05-14"
|
|
291
316
|
},
|
|
292
|
-
"CWE-
|
|
293
|
-
"id": "CWE-
|
|
294
|
-
"name": "
|
|
295
|
-
"abstraction": "
|
|
296
|
-
"category": "
|
|
297
|
-
"description": "The
|
|
298
|
-
"top_25_rank_2024":
|
|
317
|
+
"CWE-125": {
|
|
318
|
+
"id": "CWE-125",
|
|
319
|
+
"name": "Out-of-bounds Read",
|
|
320
|
+
"abstraction": "Base",
|
|
321
|
+
"category": "Memory Safety",
|
|
322
|
+
"description": "The product reads data past the end, or before the beginning, of the intended buffer. Frequent root cause for information disclosure (KASLR break, cryptographic key leak) in kernel CVEs.",
|
|
323
|
+
"top_25_rank_2024": 12,
|
|
299
324
|
"top_25_rank_2025": null,
|
|
300
325
|
"view_memberships": [
|
|
301
326
|
"CWE-1003",
|
|
@@ -303,25 +328,29 @@
|
|
|
303
328
|
"CWE-1430"
|
|
304
329
|
],
|
|
305
330
|
"related_attack_patterns_capec": [
|
|
306
|
-
"CAPEC-
|
|
331
|
+
"CAPEC-540"
|
|
332
|
+
],
|
|
333
|
+
"skills_referencing": [
|
|
334
|
+
"kernel-lpe-triage",
|
|
335
|
+
"exploit-scoring"
|
|
307
336
|
],
|
|
308
|
-
"skills_referencing": [],
|
|
309
337
|
"evidence_cves": [],
|
|
310
338
|
"framework_controls_partially_addressing": [
|
|
311
|
-
"NIST-800-53-
|
|
312
|
-
"
|
|
339
|
+
"NIST-800-53-SI-10",
|
|
340
|
+
"NIST-800-53-SI-16",
|
|
341
|
+
"ISO-27001-2022-A.8.28"
|
|
313
342
|
],
|
|
314
|
-
"real_requirement": "
|
|
315
|
-
"lag_notes": "
|
|
343
|
+
"real_requirement": "Same memory-safety requirements as CWE-787; additionally, KASLR is not a sufficient compensating control because OOB-read CVEs are routinely used to defeat KASLR before exploiting an OOB-write CVE.",
|
|
344
|
+
"lag_notes": "Treated as 'information disclosure' severity by frameworks; in practice OOB-read is the enabler for OOB-write chained RCE and should be scored as a precursor to code execution.",
|
|
316
345
|
"last_verified": "2026-05-11"
|
|
317
346
|
},
|
|
318
|
-
"CWE-
|
|
319
|
-
"id": "CWE-
|
|
320
|
-
"name": "
|
|
347
|
+
"CWE-200": {
|
|
348
|
+
"id": "CWE-200",
|
|
349
|
+
"name": "Exposure of Sensitive Information to an Unauthorized Actor",
|
|
321
350
|
"abstraction": "Class",
|
|
322
|
-
"category": "
|
|
323
|
-
"description": "The product
|
|
324
|
-
"top_25_rank_2024":
|
|
351
|
+
"category": "Information Exposure",
|
|
352
|
+
"description": "The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information. In AI/RAG systems, sensitive-data exfiltration via prompt-controlled context retrieval is a CWE-200 instance.",
|
|
353
|
+
"top_25_rank_2024": 17,
|
|
325
354
|
"top_25_rank_2025": null,
|
|
326
355
|
"view_memberships": [
|
|
327
356
|
"CWE-1003",
|
|
@@ -329,138 +358,144 @@
|
|
|
329
358
|
"CWE-1430"
|
|
330
359
|
],
|
|
331
360
|
"related_attack_patterns_capec": [
|
|
332
|
-
"CAPEC-
|
|
333
|
-
"CAPEC-
|
|
361
|
+
"CAPEC-116",
|
|
362
|
+
"CAPEC-118"
|
|
363
|
+
],
|
|
364
|
+
"skills_referencing": [
|
|
365
|
+
"rag-pipeline-security",
|
|
366
|
+
"ai-attack-surface"
|
|
334
367
|
],
|
|
335
|
-
"skills_referencing": [],
|
|
336
368
|
"evidence_cves": [],
|
|
337
369
|
"framework_controls_partially_addressing": [
|
|
338
370
|
"NIST-800-53-AC-3",
|
|
339
|
-
"NIST-800-53-
|
|
340
|
-
"ISO-27001-2022-A.
|
|
341
|
-
"SOC2-CC6.1"
|
|
371
|
+
"NIST-800-53-SC-28",
|
|
372
|
+
"ISO-27001-2022-A.8.12"
|
|
342
373
|
],
|
|
343
|
-
"real_requirement": "
|
|
344
|
-
"lag_notes": "
|
|
374
|
+
"real_requirement": "RAG corpus access enforced at retrieval-time with caller identity, not at ingestion-time with corpus labels; redaction filters on LLM output for PII and secrets; logging that excludes prompt content containing secrets.",
|
|
375
|
+
"lag_notes": "Data-at-rest controls (SC-28) do not protect against context-window exfiltration where authorized data is retrieved by an authorized agent but exfiltrated via prompt-injection-induced output.",
|
|
345
376
|
"last_verified": "2026-05-11"
|
|
346
377
|
},
|
|
347
|
-
"CWE-
|
|
348
|
-
"id": "CWE-
|
|
349
|
-
"name": "
|
|
350
|
-
"abstraction": "
|
|
351
|
-
"category": "
|
|
352
|
-
"description": "The product
|
|
353
|
-
"top_25_rank_2024":
|
|
378
|
+
"CWE-250": {
|
|
379
|
+
"id": "CWE-250",
|
|
380
|
+
"name": "Execution with Unnecessary Privileges",
|
|
381
|
+
"abstraction": "Class",
|
|
382
|
+
"category": "Privilege Management",
|
|
383
|
+
"description": "The product performs an operation at a privilege level higher than the minimum required, expanding the consequences of any vulnerability in that code path. Common roots: long-lived root daemons, container processes running as UID 0 with no need, sudo-without-NOPASSWD prompt fatigue, setuid binaries with feature-creep.",
|
|
384
|
+
"top_25_rank_2024": null,
|
|
354
385
|
"top_25_rank_2025": null,
|
|
355
386
|
"view_memberships": [
|
|
356
|
-
"CWE-
|
|
357
|
-
"CWE-1000",
|
|
358
|
-
"CWE-1430"
|
|
387
|
+
"CWE-1000"
|
|
359
388
|
],
|
|
360
389
|
"related_attack_patterns_capec": [
|
|
361
|
-
"CAPEC-
|
|
362
|
-
"CAPEC-
|
|
390
|
+
"CAPEC-104",
|
|
391
|
+
"CAPEC-470"
|
|
392
|
+
],
|
|
393
|
+
"skills_referencing": [
|
|
394
|
+
"container-runtime-security",
|
|
395
|
+
"kernel-lpe-triage",
|
|
396
|
+
"ot-ics-security"
|
|
363
397
|
],
|
|
364
|
-
"skills_referencing": [],
|
|
365
398
|
"evidence_cves": [],
|
|
366
399
|
"framework_controls_partially_addressing": [
|
|
367
|
-
"NIST-800-53-
|
|
368
|
-
"
|
|
369
|
-
"
|
|
400
|
+
"NIST-800-53-AC-6",
|
|
401
|
+
"ISO-27001-2022-A.8.2",
|
|
402
|
+
"PCI-DSS-v4-7.2"
|
|
370
403
|
],
|
|
371
|
-
"real_requirement": "
|
|
372
|
-
"lag_notes": "
|
|
373
|
-
"last_verified": "2026-05-
|
|
404
|
+
"real_requirement": "Per-syscall capability dropping enforced at process start; no long-lived root daemons in modern container runtimes; sudo audit trail with rate-limit on privileged invocations; setuid binaries replaced with capability(7) bits.",
|
|
405
|
+
"lag_notes": "AC-6 least privilege is a paper compliance target — frameworks accept role-based attestation. CWE-250 requires runtime evidence of capability minimization, which compliance audits rarely sample.",
|
|
406
|
+
"last_verified": "2026-05-13"
|
|
374
407
|
},
|
|
375
|
-
"CWE-
|
|
376
|
-
"id": "CWE-
|
|
377
|
-
"name": "
|
|
378
|
-
"abstraction": "
|
|
379
|
-
"category": "
|
|
380
|
-
"description": "The product
|
|
381
|
-
"top_25_rank_2024":
|
|
408
|
+
"CWE-256": {
|
|
409
|
+
"id": "CWE-256",
|
|
410
|
+
"name": "Plaintext Storage of a Password",
|
|
411
|
+
"abstraction": "Variant",
|
|
412
|
+
"category": "Credentials Management",
|
|
413
|
+
"description": "The product stores a password in cleartext on disk, in a config file, or in a database column without cryptographic hashing or encryption, exposing it on any read access to the storage medium.",
|
|
414
|
+
"top_25_rank_2024": null,
|
|
382
415
|
"top_25_rank_2025": null,
|
|
383
416
|
"view_memberships": [
|
|
384
|
-
"CWE-1003",
|
|
385
417
|
"CWE-1000",
|
|
386
|
-
"CWE-
|
|
418
|
+
"CWE-1003"
|
|
387
419
|
],
|
|
388
420
|
"related_attack_patterns_capec": [
|
|
389
|
-
"CAPEC-
|
|
390
|
-
"CAPEC-15"
|
|
421
|
+
"CAPEC-37"
|
|
391
422
|
],
|
|
392
423
|
"skills_referencing": [
|
|
393
|
-
"
|
|
394
|
-
"ai-attack-surface"
|
|
424
|
+
"dlp-gap-analysis"
|
|
395
425
|
],
|
|
396
|
-
"evidence_cves": [
|
|
426
|
+
"evidence_cves": [],
|
|
397
427
|
"framework_controls_partially_addressing": [
|
|
398
|
-
"NIST-800-53-
|
|
399
|
-
"ISO-27001-2022-A.
|
|
428
|
+
"NIST-800-53-IA-5(1)",
|
|
429
|
+
"ISO-27001-2022-A.5.16",
|
|
430
|
+
"PCI-DSS-v4-8.3"
|
|
400
431
|
],
|
|
401
|
-
"real_requirement": "
|
|
402
|
-
"lag_notes": "
|
|
403
|
-
"last_verified": "2026-05-
|
|
432
|
+
"real_requirement": "Passwords hashed at rest with a memory-hard KDF (Argon2id, scrypt); legacy databases with cleartext passwords forcibly rotated on next-login; no service-account passwords in config files — secrets manager mandatory.",
|
|
433
|
+
"lag_notes": "IA-5(1) addresses authenticator storage but compliance attestation often accepts 'encrypted at rest' for the storage volume, missing that the password value itself must be hashed not encrypted. PCI 8.3 specifies strong cryptography but rarely audits the KDF choice.",
|
|
434
|
+
"last_verified": "2026-05-13",
|
|
435
|
+
"playbooks_referencing": [
|
|
436
|
+
"cred-stores",
|
|
437
|
+
"ai-api"
|
|
438
|
+
]
|
|
404
439
|
},
|
|
405
|
-
"CWE-
|
|
406
|
-
"id": "CWE-
|
|
407
|
-
"name": "
|
|
408
|
-
"abstraction": "
|
|
409
|
-
"category": "
|
|
410
|
-
"description": "The product
|
|
411
|
-
"top_25_rank_2024":
|
|
440
|
+
"CWE-269": {
|
|
441
|
+
"id": "CWE-269",
|
|
442
|
+
"name": "Improper Privilege Management",
|
|
443
|
+
"abstraction": "Class",
|
|
444
|
+
"category": "Authorization",
|
|
445
|
+
"description": "The product does not properly assign, modify, track, or check privileges for an actor, creating an unintended sphere of control for that actor.",
|
|
446
|
+
"top_25_rank_2024": 22,
|
|
412
447
|
"top_25_rank_2025": null,
|
|
413
448
|
"view_memberships": [
|
|
414
449
|
"CWE-1003",
|
|
415
450
|
"CWE-1000",
|
|
416
|
-
"CWE-1425",
|
|
417
451
|
"CWE-1430"
|
|
418
452
|
],
|
|
419
453
|
"related_attack_patterns_capec": [
|
|
420
|
-
"CAPEC-
|
|
454
|
+
"CAPEC-122",
|
|
455
|
+
"CAPEC-233"
|
|
421
456
|
],
|
|
422
457
|
"skills_referencing": [
|
|
423
|
-
"
|
|
458
|
+
"kernel-lpe-triage",
|
|
424
459
|
"mcp-agent-trust"
|
|
425
460
|
],
|
|
426
461
|
"evidence_cves": [],
|
|
427
462
|
"framework_controls_partially_addressing": [
|
|
428
|
-
"NIST-800-53-
|
|
429
|
-
"
|
|
430
|
-
"ISO-27001-2022-A.8.30"
|
|
463
|
+
"NIST-800-53-AC-6",
|
|
464
|
+
"ISO-27001-2022-A.8.2"
|
|
431
465
|
],
|
|
432
|
-
"real_requirement": "
|
|
433
|
-
"lag_notes": "
|
|
466
|
+
"real_requirement": "Least-privilege enforced through capability tokens, not role labels; per-action privilege drop for tool invocations; namespace plus cgroup plus seccomp for any process that spawns LLM-controlled subprocesses.",
|
|
467
|
+
"lag_notes": "AC-6 'least privilege' is reviewed at account provisioning, not at action invocation. For AI agents whose actions vary per-prompt, account-level least privilege is insufficient granularity.",
|
|
434
468
|
"last_verified": "2026-05-11"
|
|
435
469
|
},
|
|
436
|
-
"CWE-
|
|
437
|
-
"id": "CWE-
|
|
438
|
-
"name": "
|
|
439
|
-
"abstraction": "
|
|
440
|
-
"category": "
|
|
441
|
-
"description": "The
|
|
442
|
-
"top_25_rank_2024":
|
|
470
|
+
"CWE-284": {
|
|
471
|
+
"id": "CWE-284",
|
|
472
|
+
"name": "Improper Access Control",
|
|
473
|
+
"abstraction": "Pillar",
|
|
474
|
+
"category": "Access Control",
|
|
475
|
+
"description": "The product does not restrict or incorrectly restricts access to a resource from an unauthorized actor. CWE-284 is the pillar — most authz/authn defects are specializations of this class.",
|
|
476
|
+
"top_25_rank_2024": null,
|
|
443
477
|
"top_25_rank_2025": null,
|
|
444
478
|
"view_memberships": [
|
|
445
|
-
"CWE-
|
|
446
|
-
"CWE-1000",
|
|
447
|
-
"CWE-1430"
|
|
479
|
+
"CWE-1000"
|
|
448
480
|
],
|
|
449
481
|
"related_attack_patterns_capec": [
|
|
450
|
-
"CAPEC-
|
|
482
|
+
"CAPEC-1",
|
|
483
|
+
"CAPEC-19"
|
|
451
484
|
],
|
|
452
485
|
"skills_referencing": [
|
|
453
|
-
"
|
|
454
|
-
"
|
|
486
|
+
"container-runtime-security",
|
|
487
|
+
"identity-assurance",
|
|
488
|
+
"webapp-security"
|
|
455
489
|
],
|
|
456
490
|
"evidence_cves": [],
|
|
457
491
|
"framework_controls_partially_addressing": [
|
|
458
|
-
"NIST-800-53-
|
|
459
|
-
"ISO-27001-2022-A.
|
|
492
|
+
"NIST-800-53-AC-3",
|
|
493
|
+
"ISO-27001-2022-A.5.15",
|
|
494
|
+
"SOC2-CC6"
|
|
460
495
|
],
|
|
461
|
-
"real_requirement": "
|
|
462
|
-
"lag_notes": "
|
|
463
|
-
"last_verified": "2026-05-
|
|
496
|
+
"real_requirement": "Authorization decisions enforced at the resource server, never client-side; deny-by-default policy with explicit allow; per-request authz check including for authenticated identities.",
|
|
497
|
+
"lag_notes": "AC-3 is the policy intent; compliance accepts the existence of an authorization framework. CWE-284 specifically calls out improper enforcement — the framework's existence does not imply the enforcement is correct.",
|
|
498
|
+
"last_verified": "2026-05-13"
|
|
464
499
|
},
|
|
465
500
|
"CWE-287": {
|
|
466
501
|
"id": "CWE-287",
|
|
@@ -490,13 +525,13 @@
|
|
|
490
525
|
"lag_notes": "IA-2 still accepts SMS OTP as a valid MFA factor under some configurations; modern phishing kits defeat SMS OTP. AI agent authentication is undefined in IA-2/IA-8.",
|
|
491
526
|
"last_verified": "2026-05-11"
|
|
492
527
|
},
|
|
493
|
-
"CWE-
|
|
494
|
-
"id": "CWE-
|
|
495
|
-
"name": "
|
|
496
|
-
"abstraction": "
|
|
497
|
-
"category": "
|
|
498
|
-
"description": "The product does not
|
|
499
|
-
"top_25_rank_2024":
|
|
528
|
+
"CWE-306": {
|
|
529
|
+
"id": "CWE-306",
|
|
530
|
+
"name": "Missing Authentication for Critical Function",
|
|
531
|
+
"abstraction": "Base",
|
|
532
|
+
"category": "Authentication",
|
|
533
|
+
"description": "The product does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.",
|
|
534
|
+
"top_25_rank_2024": 20,
|
|
500
535
|
"top_25_rank_2025": null,
|
|
501
536
|
"view_memberships": [
|
|
502
537
|
"CWE-1003",
|
|
@@ -504,161 +539,285 @@
|
|
|
504
539
|
"CWE-1430"
|
|
505
540
|
],
|
|
506
541
|
"related_attack_patterns_capec": [
|
|
507
|
-
"CAPEC-
|
|
508
|
-
"CAPEC-233"
|
|
542
|
+
"CAPEC-115"
|
|
509
543
|
],
|
|
510
544
|
"skills_referencing": [
|
|
511
|
-
"kernel-lpe-triage",
|
|
512
545
|
"mcp-agent-trust"
|
|
513
546
|
],
|
|
514
547
|
"evidence_cves": [],
|
|
515
548
|
"framework_controls_partially_addressing": [
|
|
516
|
-
"NIST-800-53-
|
|
517
|
-
"ISO-27001-2022-A.
|
|
549
|
+
"NIST-800-53-IA-2",
|
|
550
|
+
"ISO-27001-2022-A.5.17"
|
|
518
551
|
],
|
|
519
|
-
"real_requirement": "
|
|
520
|
-
"lag_notes": "
|
|
552
|
+
"real_requirement": "Default-deny on all admin, internal, and MCP endpoints; pre-deployment authentication audit of every newly-exposed endpoint; for MCP servers, required client authentication (mTLS or signed token) even on localhost transports.",
|
|
553
|
+
"lag_notes": "MCP servers on localhost or stdio transports are often unauthenticated by default — the trust boundary is assumed to be the host. CWE-306 applies when a malicious local process or compromised editor exploits this assumption.",
|
|
521
554
|
"last_verified": "2026-05-11"
|
|
522
555
|
},
|
|
523
|
-
"CWE-
|
|
524
|
-
"id": "CWE-
|
|
525
|
-
"name": "
|
|
526
|
-
"abstraction": "
|
|
527
|
-
"category": "
|
|
528
|
-
"description": "
|
|
529
|
-
"top_25_rank_2024":
|
|
556
|
+
"CWE-310": {
|
|
557
|
+
"id": "CWE-310",
|
|
558
|
+
"name": "Cryptographic Issues",
|
|
559
|
+
"abstraction": "Category",
|
|
560
|
+
"category": "Cryptography",
|
|
561
|
+
"description": "Top-level category covering cryptographic weaknesses — weak algorithms, insufficient key lengths, predictable IVs, missing integrity, broken random number generation. The category is retained as an umbrella for CWE-326, -327, -328, -329, -330 et al.",
|
|
562
|
+
"top_25_rank_2024": null,
|
|
530
563
|
"top_25_rank_2025": null,
|
|
531
564
|
"view_memberships": [
|
|
532
|
-
"CWE-
|
|
533
|
-
"CWE-1000",
|
|
534
|
-
"CWE-1430"
|
|
565
|
+
"CWE-1000"
|
|
535
566
|
],
|
|
536
567
|
"related_attack_patterns_capec": [
|
|
537
|
-
"CAPEC-
|
|
538
|
-
"CAPEC-118"
|
|
568
|
+
"CAPEC-97"
|
|
539
569
|
],
|
|
540
570
|
"skills_referencing": [
|
|
541
|
-
"
|
|
542
|
-
"ai-attack-surface"
|
|
571
|
+
"pqc-first"
|
|
543
572
|
],
|
|
544
573
|
"evidence_cves": [],
|
|
545
574
|
"framework_controls_partially_addressing": [
|
|
546
|
-
"NIST-800-53-
|
|
547
|
-
"
|
|
548
|
-
"
|
|
575
|
+
"NIST-800-53-SC-13",
|
|
576
|
+
"ISO-27001-2022-A.8.24",
|
|
577
|
+
"FIPS-140-3"
|
|
549
578
|
],
|
|
550
|
-
"real_requirement": "
|
|
551
|
-
"lag_notes": "
|
|
552
|
-
"last_verified": "2026-05-
|
|
579
|
+
"real_requirement": "Cryptographic agility — algorithm choice expressed as policy, not hardcoded; periodic crypto inventory; PQC migration roadmap with hybrid signature support.",
|
|
580
|
+
"lag_notes": "SC-13 addresses approved cryptographic mechanisms but lags behind quantum-resistance reality. FIPS-140-3 approved list omits PQC primitives until NIST PQC standardization (FIPS 203/204/205) fully promulgates.",
|
|
581
|
+
"last_verified": "2026-05-13",
|
|
582
|
+
"playbooks_referencing": [
|
|
583
|
+
"crypto-codebase"
|
|
584
|
+
]
|
|
553
585
|
},
|
|
554
|
-
"CWE-
|
|
555
|
-
"id": "CWE-
|
|
556
|
-
"name": "
|
|
557
|
-
"abstraction": "
|
|
558
|
-
"category": "
|
|
559
|
-
"description": "The product
|
|
560
|
-
"top_25_rank_2024":
|
|
586
|
+
"CWE-312": {
|
|
587
|
+
"id": "CWE-312",
|
|
588
|
+
"name": "Cleartext Storage of Sensitive Information",
|
|
589
|
+
"abstraction": "Variant",
|
|
590
|
+
"category": "Data Protection",
|
|
591
|
+
"description": "The product stores sensitive information in cleartext within a resource that may be accessible to another control sphere — disk, log file, browser storage, environment variable that's printable by ps(1), Kubernetes ConfigMap when a Secret was the right primitive.",
|
|
592
|
+
"top_25_rank_2024": null,
|
|
561
593
|
"top_25_rank_2025": null,
|
|
562
594
|
"view_memberships": [
|
|
563
|
-
"CWE-1003",
|
|
564
595
|
"CWE-1000",
|
|
565
|
-
"CWE-
|
|
596
|
+
"CWE-1003"
|
|
566
597
|
],
|
|
567
598
|
"related_attack_patterns_capec": [
|
|
568
|
-
"CAPEC-
|
|
599
|
+
"CAPEC-37"
|
|
569
600
|
],
|
|
570
601
|
"skills_referencing": [
|
|
571
|
-
"
|
|
602
|
+
"dlp-gap-analysis"
|
|
572
603
|
],
|
|
573
604
|
"evidence_cves": [],
|
|
574
605
|
"framework_controls_partially_addressing": [
|
|
575
|
-
"NIST-800-53-
|
|
576
|
-
"ISO-27001-2022-A.
|
|
606
|
+
"NIST-800-53-SC-28",
|
|
607
|
+
"ISO-27001-2022-A.8.24",
|
|
608
|
+
"PCI-DSS-v4-3.5"
|
|
577
609
|
],
|
|
578
|
-
"real_requirement": "
|
|
579
|
-
"lag_notes": "
|
|
580
|
-
"last_verified": "2026-05-
|
|
610
|
+
"real_requirement": "Encryption-at-rest for all sensitive fields with per-tenant key isolation; structured logging schemas that mark sensitive fields and redact at emit time; Kubernetes Secrets with KMS-backed encryption-at-rest, not ConfigMaps.",
|
|
611
|
+
"lag_notes": "SC-28 'protection at rest' is typically satisfied by full-disk encryption — which does not protect against a logged-in process reading the cleartext. PCI 3.5 requires field-level cryptography but auditors often accept disk-level controls.",
|
|
612
|
+
"last_verified": "2026-05-13",
|
|
613
|
+
"playbooks_referencing": [
|
|
614
|
+
"secrets",
|
|
615
|
+
"ai-api"
|
|
616
|
+
]
|
|
581
617
|
},
|
|
582
|
-
"CWE-
|
|
583
|
-
"id": "CWE-
|
|
584
|
-
"name": "
|
|
585
|
-
"abstraction": "
|
|
586
|
-
"category": "
|
|
587
|
-
"description": "The product
|
|
588
|
-
"top_25_rank_2024":
|
|
618
|
+
"CWE-326": {
|
|
619
|
+
"id": "CWE-326",
|
|
620
|
+
"name": "Inadequate Encryption Strength",
|
|
621
|
+
"abstraction": "Class",
|
|
622
|
+
"category": "Cryptography",
|
|
623
|
+
"description": "The product stores or transmits sensitive data using an encryption scheme that is too weak — short key length, deprecated algorithm (DES, RC4, 3DES, MD5-MAC), parameter choices outside current safe ranges. Distinguished from CWE-327 (broken algorithm) by the strength dimension rather than algorithm choice.",
|
|
624
|
+
"top_25_rank_2024": null,
|
|
589
625
|
"top_25_rank_2025": null,
|
|
590
626
|
"view_memberships": [
|
|
591
|
-
"CWE-1003",
|
|
592
627
|
"CWE-1000",
|
|
593
|
-
"CWE-
|
|
628
|
+
"CWE-310"
|
|
594
629
|
],
|
|
595
630
|
"related_attack_patterns_capec": [
|
|
596
|
-
"CAPEC-
|
|
631
|
+
"CAPEC-20",
|
|
632
|
+
"CAPEC-97"
|
|
597
633
|
],
|
|
598
634
|
"skills_referencing": [
|
|
599
|
-
"
|
|
600
|
-
"exploit-scoring"
|
|
635
|
+
"pqc-first"
|
|
601
636
|
],
|
|
602
637
|
"evidence_cves": [],
|
|
603
638
|
"framework_controls_partially_addressing": [
|
|
604
|
-
"NIST-800-53-
|
|
605
|
-
"NIST-800-
|
|
606
|
-
"ISO-27001-2022-A.8.
|
|
639
|
+
"NIST-800-53-SC-13",
|
|
640
|
+
"NIST-SP-800-131A",
|
|
641
|
+
"ISO-27001-2022-A.8.24"
|
|
607
642
|
],
|
|
608
|
-
"real_requirement": "
|
|
609
|
-
"lag_notes": "
|
|
610
|
-
"last_verified": "2026-05-
|
|
643
|
+
"real_requirement": "AES-256 minimum for symmetric; RSA-3072 or ECC P-384 minimum for asymmetric pre-PQC migration; hybrid PQC (ML-KEM + ECDHE) for new TLS deployments; reject TLS handshakes below 1.2.",
|
|
644
|
+
"lag_notes": "SP 800-131A defines algorithm transitions but vendor compliance attestations lag — many auditors still accept 'AES + RSA-2048' without questioning quantum-resistance roadmap.",
|
|
645
|
+
"last_verified": "2026-05-13",
|
|
646
|
+
"playbooks_referencing": [
|
|
647
|
+
"crypto-codebase",
|
|
648
|
+
"crypto"
|
|
649
|
+
]
|
|
611
650
|
},
|
|
612
|
-
"CWE-
|
|
613
|
-
"id": "CWE-
|
|
614
|
-
"name": "
|
|
651
|
+
"CWE-327": {
|
|
652
|
+
"id": "CWE-327",
|
|
653
|
+
"name": "Use of a Broken or Risky Cryptographic Algorithm",
|
|
615
654
|
"abstraction": "Class",
|
|
616
|
-
"category": "
|
|
617
|
-
"description": "The product uses
|
|
655
|
+
"category": "Cryptography",
|
|
656
|
+
"description": "The product uses a broken or risky cryptographic algorithm or protocol. Maps directly to the post-quantum-cryptography transition risk: classical asymmetric algorithms (RSA, ECDSA, ECDH) become risky once a cryptographically-relevant quantum computer exists, and 'harvest now, decrypt later' attacks make CWE-327 a present-tense risk for long-lived data.",
|
|
618
657
|
"top_25_rank_2024": null,
|
|
619
658
|
"top_25_rank_2025": null,
|
|
620
659
|
"view_memberships": [
|
|
660
|
+
"CWE-1003",
|
|
621
661
|
"CWE-1000"
|
|
622
662
|
],
|
|
623
|
-
"related_attack_patterns_capec": [
|
|
663
|
+
"related_attack_patterns_capec": [
|
|
664
|
+
"CAPEC-97"
|
|
665
|
+
],
|
|
624
666
|
"skills_referencing": [
|
|
625
|
-
"
|
|
667
|
+
"pqc-first"
|
|
626
668
|
],
|
|
627
669
|
"evidence_cves": [],
|
|
628
670
|
"framework_controls_partially_addressing": [
|
|
629
|
-
"NIST-800-53-
|
|
630
|
-
"ISO-27001-2022-A.8.
|
|
671
|
+
"NIST-800-53-SC-13",
|
|
672
|
+
"ISO-27001-2022-A.8.24"
|
|
631
673
|
],
|
|
632
|
-
"real_requirement": "
|
|
633
|
-
"lag_notes": "
|
|
674
|
+
"real_requirement": "Crypto-agile design (algorithm selection via configuration, not hardcoded); migration plan to NIST PQC standards (ML-KEM / FIPS-203, ML-DSA / FIPS-204, SLH-DSA / FIPS-205) on a published timeline; hybrid classical-plus-PQC for transition period; inventory of long-lived encrypted data subject to harvest-now-decrypt-later.",
|
|
675
|
+
"lag_notes": "SC-13 'cryptographic protection' lists approved algorithms but the transition timeline for deprecating classical asymmetric crypto is not enforced. ISO-27001 A.8.24 (use of cryptography) does not require crypto-agility.",
|
|
634
676
|
"last_verified": "2026-05-11"
|
|
635
677
|
},
|
|
636
|
-
"CWE-
|
|
637
|
-
"id": "CWE-
|
|
638
|
-
"name": "
|
|
678
|
+
"CWE-328": {
|
|
679
|
+
"id": "CWE-328",
|
|
680
|
+
"name": "Use of Weak Hash",
|
|
639
681
|
"abstraction": "Class",
|
|
640
|
-
"category": "
|
|
641
|
-
"description": "The product
|
|
642
|
-
"top_25_rank_2024":
|
|
682
|
+
"category": "Cryptography",
|
|
683
|
+
"description": "The product uses a cryptographic hash that produces output that no longer offers cryptographic guarantees — MD5, SHA-1 for collision resistance, unsalted SHA-256 for password verification. Includes hashes used for HMAC where the construction extends MAC lifetime past the underlying hash's safe horizon.",
|
|
684
|
+
"top_25_rank_2024": null,
|
|
643
685
|
"top_25_rank_2025": null,
|
|
644
686
|
"view_memberships": [
|
|
645
|
-
"CWE-1003",
|
|
646
687
|
"CWE-1000",
|
|
647
|
-
"CWE-
|
|
688
|
+
"CWE-310"
|
|
648
689
|
],
|
|
649
690
|
"related_attack_patterns_capec": [
|
|
650
|
-
"CAPEC-
|
|
691
|
+
"CAPEC-97"
|
|
692
|
+
],
|
|
693
|
+
"skills_referencing": [
|
|
694
|
+
"pqc-first"
|
|
695
|
+
],
|
|
696
|
+
"evidence_cves": [],
|
|
697
|
+
"framework_controls_partially_addressing": [
|
|
698
|
+
"NIST-800-53-SC-13",
|
|
699
|
+
"NIST-SP-800-131A"
|
|
700
|
+
],
|
|
701
|
+
"real_requirement": "SHA-256 minimum for integrity; SHA-384/SHA-512 for high-assurance; Argon2id/scrypt for password verification; HMAC-SHA-256 minimum for MAC.",
|
|
702
|
+
"lag_notes": "SP 800-131A retired SHA-1 for digital signatures in 2013 but legacy MAC use in non-signature contexts continued in many codebases — frameworks rarely require active inventory.",
|
|
703
|
+
"last_verified": "2026-05-13",
|
|
704
|
+
"playbooks_referencing": [
|
|
705
|
+
"crypto-codebase"
|
|
706
|
+
]
|
|
707
|
+
},
|
|
708
|
+
"CWE-329": {
|
|
709
|
+
"id": "CWE-329",
|
|
710
|
+
"name": "Generation of Predictable IV with CBC Mode",
|
|
711
|
+
"abstraction": "Variant",
|
|
712
|
+
"category": "Cryptography",
|
|
713
|
+
"description": "The product generates an initialization vector (IV) for CBC-mode encryption that is predictable — counter-derived, low-entropy, zero, or reused. Predictable IV in CBC reveals plaintext patterns and breaks the IND-CPA security model.",
|
|
714
|
+
"top_25_rank_2024": null,
|
|
715
|
+
"top_25_rank_2025": null,
|
|
716
|
+
"view_memberships": [
|
|
717
|
+
"CWE-1000",
|
|
718
|
+
"CWE-310"
|
|
719
|
+
],
|
|
720
|
+
"related_attack_patterns_capec": [
|
|
721
|
+
"CAPEC-97"
|
|
651
722
|
],
|
|
652
723
|
"skills_referencing": [],
|
|
653
724
|
"evidence_cves": [],
|
|
654
725
|
"framework_controls_partially_addressing": [
|
|
655
|
-
"NIST-800-53-
|
|
656
|
-
"NIST-800-
|
|
657
|
-
"ISO-27001-2022-A.5.15"
|
|
726
|
+
"NIST-800-53-SC-13",
|
|
727
|
+
"NIST-SP-800-38A"
|
|
658
728
|
],
|
|
659
|
-
"real_requirement": "
|
|
660
|
-
"lag_notes": "
|
|
661
|
-
"last_verified": "2026-05-
|
|
729
|
+
"real_requirement": "Prefer AEAD modes (AES-GCM, ChaCha20-Poly1305) over CBC; if CBC is mandatory, IV from CSPRNG with no observable pattern; per-message IV uniqueness verified at encryption time.",
|
|
730
|
+
"lag_notes": "SP 800-38A specifies IV requirements but auditing typically focuses on algorithm presence not IV-generation correctness. CBC misuse is a recurring source of cryptographic weakness in production codebases.",
|
|
731
|
+
"last_verified": "2026-05-13",
|
|
732
|
+
"playbooks_referencing": [
|
|
733
|
+
"crypto-codebase"
|
|
734
|
+
]
|
|
735
|
+
},
|
|
736
|
+
"CWE-330": {
|
|
737
|
+
"id": "CWE-330",
|
|
738
|
+
"name": "Use of Insufficiently Random Values",
|
|
739
|
+
"abstraction": "Class",
|
|
740
|
+
"category": "Cryptography",
|
|
741
|
+
"description": "The product uses values intended to be random but produced from a source that is not cryptographically secure — Math.random(), time-seeded PRNG, weak entropy source. Pillar weakness for CWE-331, -338, -339, -342.",
|
|
742
|
+
"top_25_rank_2024": null,
|
|
743
|
+
"top_25_rank_2025": null,
|
|
744
|
+
"view_memberships": [
|
|
745
|
+
"CWE-1000",
|
|
746
|
+
"CWE-310"
|
|
747
|
+
],
|
|
748
|
+
"related_attack_patterns_capec": [
|
|
749
|
+
"CAPEC-59",
|
|
750
|
+
"CAPEC-485"
|
|
751
|
+
],
|
|
752
|
+
"skills_referencing": [],
|
|
753
|
+
"evidence_cves": [],
|
|
754
|
+
"framework_controls_partially_addressing": [
|
|
755
|
+
"NIST-800-53-SC-13",
|
|
756
|
+
"NIST-SP-800-90A"
|
|
757
|
+
],
|
|
758
|
+
"real_requirement": "Use OS CSPRNG (getrandom(2) on Linux, BCryptGenRandom on Windows) for any security-relevant random; reject Math.random() / java.util.Random / rand() in security contexts via lint rules.",
|
|
759
|
+
"lag_notes": "SP 800-90A specifies DRBG requirements at the algorithm level; codebase-level enforcement that a non-CSPRNG never reaches a security-critical path is absent from framework controls.",
|
|
760
|
+
"last_verified": "2026-05-13",
|
|
761
|
+
"playbooks_referencing": [
|
|
762
|
+
"crypto-codebase"
|
|
763
|
+
]
|
|
764
|
+
},
|
|
765
|
+
"CWE-331": {
|
|
766
|
+
"id": "CWE-331",
|
|
767
|
+
"name": "Insufficient Entropy",
|
|
768
|
+
"abstraction": "Class",
|
|
769
|
+
"category": "Cryptography",
|
|
770
|
+
"description": "The product uses an algorithm or scheme that produces insufficient entropy, leaving patterns or clusters of values more likely than others. Common in early-boot entropy starvation, VM clones, container snapshots, embedded devices with limited entropy sources.",
|
|
771
|
+
"top_25_rank_2024": null,
|
|
772
|
+
"top_25_rank_2025": null,
|
|
773
|
+
"view_memberships": [
|
|
774
|
+
"CWE-1000",
|
|
775
|
+
"CWE-310",
|
|
776
|
+
"CWE-330"
|
|
777
|
+
],
|
|
778
|
+
"related_attack_patterns_capec": [
|
|
779
|
+
"CAPEC-59"
|
|
780
|
+
],
|
|
781
|
+
"skills_referencing": [],
|
|
782
|
+
"evidence_cves": [],
|
|
783
|
+
"framework_controls_partially_addressing": [
|
|
784
|
+
"NIST-800-53-SC-13",
|
|
785
|
+
"NIST-SP-800-90B"
|
|
786
|
+
],
|
|
787
|
+
"real_requirement": "Entropy pool seeded before security-sensitive operations; getrandom(2) blocking call honored on Linux until entropy is initialized; container/VM image entropy reseed-on-boot.",
|
|
788
|
+
"lag_notes": "SP 800-90B specifies entropy source requirements; supply chain attacks against entropy (e.g. predictable VM clones) are not addressed by any deployment-side framework control.",
|
|
789
|
+
"last_verified": "2026-05-13",
|
|
790
|
+
"playbooks_referencing": [
|
|
791
|
+
"crypto-codebase"
|
|
792
|
+
]
|
|
793
|
+
},
|
|
794
|
+
"CWE-338": {
|
|
795
|
+
"id": "CWE-338",
|
|
796
|
+
"name": "Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)",
|
|
797
|
+
"abstraction": "Variant",
|
|
798
|
+
"category": "Cryptography",
|
|
799
|
+
"description": "The product uses a non-cryptographic PRNG (linear congruential, Mersenne Twister, Math.random) in a security context where attacker prediction of subsequent values breaks the security property.",
|
|
800
|
+
"top_25_rank_2024": null,
|
|
801
|
+
"top_25_rank_2025": null,
|
|
802
|
+
"view_memberships": [
|
|
803
|
+
"CWE-1000",
|
|
804
|
+
"CWE-310",
|
|
805
|
+
"CWE-330"
|
|
806
|
+
],
|
|
807
|
+
"related_attack_patterns_capec": [
|
|
808
|
+
"CAPEC-485"
|
|
809
|
+
],
|
|
810
|
+
"skills_referencing": [],
|
|
811
|
+
"evidence_cves": [],
|
|
812
|
+
"framework_controls_partially_addressing": [
|
|
813
|
+
"NIST-800-53-SC-13"
|
|
814
|
+
],
|
|
815
|
+
"real_requirement": "Linters that flag Math.random(), java.util.Random, rand() in security contexts; pin random-token generation to CSPRNG via type-level distinctions (e.g. SecureRandom in Java; secrets module in Python).",
|
|
816
|
+
"lag_notes": "Framework controls reference 'cryptographic randomness' abstractly; static-analysis enforcement that a non-CSPRNG cannot reach a security-relevant code path is left to development teams.",
|
|
817
|
+
"last_verified": "2026-05-13",
|
|
818
|
+
"playbooks_referencing": [
|
|
819
|
+
"crypto-codebase"
|
|
820
|
+
]
|
|
662
821
|
},
|
|
663
822
|
"CWE-345": {
|
|
664
823
|
"id": "CWE-345",
|
|
@@ -691,311 +850,318 @@
|
|
|
691
850
|
"lag_notes": "SA-12 supply chain risk management does not mandate cryptographic provenance verification for AI artifacts (models, MCP servers, agent plugins). Treated as 'vendor management' rather than 'authentication.'",
|
|
692
851
|
"last_verified": "2026-05-11"
|
|
693
852
|
},
|
|
694
|
-
"CWE-
|
|
695
|
-
"id": "CWE-
|
|
696
|
-
"name": "
|
|
697
|
-
"abstraction": "
|
|
698
|
-
"category": "
|
|
699
|
-
"description": "The
|
|
700
|
-
"top_25_rank_2024":
|
|
853
|
+
"CWE-352": {
|
|
854
|
+
"id": "CWE-352",
|
|
855
|
+
"name": "Cross-Site Request Forgery (CSRF)",
|
|
856
|
+
"abstraction": "Compound",
|
|
857
|
+
"category": "Session",
|
|
858
|
+
"description": "The web application does not, or cannot, sufficiently verify whether a well-formed, valid, consistent request was intentionally provided by the user who submitted the request. SameSite cookie defaults reduced CSRF risk but did not eliminate it for cross-origin POST and JSON APIs.",
|
|
859
|
+
"top_25_rank_2024": 9,
|
|
701
860
|
"top_25_rank_2025": null,
|
|
702
861
|
"view_memberships": [
|
|
703
|
-
"CWE-
|
|
862
|
+
"CWE-1003",
|
|
863
|
+
"CWE-1000",
|
|
864
|
+
"CWE-1430"
|
|
704
865
|
],
|
|
705
866
|
"related_attack_patterns_capec": [
|
|
706
|
-
"CAPEC-
|
|
707
|
-
],
|
|
708
|
-
"skills_referencing": [
|
|
709
|
-
"mcp-agent-trust",
|
|
710
|
-
"ai-attack-surface"
|
|
711
|
-
],
|
|
712
|
-
"evidence_cves": [
|
|
713
|
-
"CVE-2026-30615"
|
|
867
|
+
"CAPEC-62"
|
|
714
868
|
],
|
|
869
|
+
"skills_referencing": [],
|
|
870
|
+
"evidence_cves": [],
|
|
715
871
|
"framework_controls_partially_addressing": [
|
|
716
|
-
"NIST-800-53-
|
|
717
|
-
"
|
|
718
|
-
"ISO-27001-2022-A.8.30"
|
|
872
|
+
"NIST-800-53-SC-23",
|
|
873
|
+
"ISO-27001-2022-A.8.26"
|
|
719
874
|
],
|
|
720
|
-
"real_requirement": "
|
|
721
|
-
"lag_notes": "
|
|
875
|
+
"real_requirement": "SameSite=Strict on session cookies; double-submit token or origin check on all state-changing endpoints; deny cross-origin requests with credentials by default at the framework layer.",
|
|
876
|
+
"lag_notes": "SC-23 'session authenticity' is satisfied by session tokens but does not require origin-binding or SameSite enforcement. Frameworks lag the modern SPA plus cross-origin reality.",
|
|
722
877
|
"last_verified": "2026-05-11"
|
|
723
878
|
},
|
|
724
|
-
"CWE-
|
|
725
|
-
"id": "CWE-
|
|
726
|
-
"name": "
|
|
727
|
-
"abstraction": "
|
|
728
|
-
"category": "
|
|
729
|
-
"description": "The product
|
|
879
|
+
"CWE-353": {
|
|
880
|
+
"id": "CWE-353",
|
|
881
|
+
"name": "Missing Support for Integrity Check",
|
|
882
|
+
"abstraction": "Base",
|
|
883
|
+
"category": "Integrity",
|
|
884
|
+
"description": "The product transmits or stores data without an integrity check, allowing modification in transit or at rest to go undetected. Common in custom binary protocols, log shippers without HMAC, package distribution without signatures.",
|
|
730
885
|
"top_25_rank_2024": null,
|
|
731
886
|
"top_25_rank_2025": null,
|
|
732
887
|
"view_memberships": [
|
|
733
888
|
"CWE-1000"
|
|
734
889
|
],
|
|
735
890
|
"related_attack_patterns_capec": [
|
|
736
|
-
"CAPEC-
|
|
891
|
+
"CAPEC-75",
|
|
892
|
+
"CAPEC-39"
|
|
737
893
|
],
|
|
738
894
|
"skills_referencing": [
|
|
739
|
-
"
|
|
740
|
-
"rag-pipeline-security"
|
|
895
|
+
"supply-chain-integrity"
|
|
741
896
|
],
|
|
742
897
|
"evidence_cves": [],
|
|
743
898
|
"framework_controls_partially_addressing": [
|
|
744
|
-
"NIST-800-53-
|
|
745
|
-
"
|
|
899
|
+
"NIST-800-53-SI-7",
|
|
900
|
+
"NIST-800-53-SC-8(1)",
|
|
901
|
+
"ISO-27001-2022-A.8.24"
|
|
746
902
|
],
|
|
747
|
-
"real_requirement": "
|
|
748
|
-
"lag_notes": "
|
|
749
|
-
"last_verified": "2026-05-
|
|
903
|
+
"real_requirement": "All package distribution signed (Sigstore, in-toto, OpenPGP); HMAC on every internal RPC; SLSA L3+ provenance for shipped artifacts.",
|
|
904
|
+
"lag_notes": "SI-7 covers software/firmware integrity; SLSA-style provenance is not a framework-mandated control. SC-8(1) addresses transmission integrity at the network layer, not application-layer message integrity.",
|
|
905
|
+
"last_verified": "2026-05-13",
|
|
906
|
+
"playbooks_referencing": [
|
|
907
|
+
"library-author"
|
|
908
|
+
]
|
|
750
909
|
},
|
|
751
|
-
"CWE-
|
|
752
|
-
"id": "CWE-
|
|
753
|
-
"name": "
|
|
910
|
+
"CWE-362": {
|
|
911
|
+
"id": "CWE-362",
|
|
912
|
+
"name": "Concurrent Execution using Shared Resource with Improper Synchronization (Race Condition)",
|
|
754
913
|
"abstraction": "Class",
|
|
755
|
-
"category": "
|
|
756
|
-
"description": "The product
|
|
757
|
-
"top_25_rank_2024":
|
|
914
|
+
"category": "Concurrency",
|
|
915
|
+
"description": "The product contains a code sequence that can run concurrently with other code, and the code sequence requires temporary, exclusive access to a shared resource, but a timing window exists in which the shared resource can be modified by another code sequence that is operating concurrently.",
|
|
916
|
+
"top_25_rank_2024": 21,
|
|
758
917
|
"top_25_rank_2025": null,
|
|
759
918
|
"view_memberships": [
|
|
760
|
-
"CWE-
|
|
919
|
+
"CWE-1003",
|
|
920
|
+
"CWE-1000",
|
|
921
|
+
"CWE-1430"
|
|
922
|
+
],
|
|
923
|
+
"related_attack_patterns_capec": [
|
|
924
|
+
"CAPEC-29"
|
|
761
925
|
],
|
|
762
|
-
"related_attack_patterns_capec": [],
|
|
763
926
|
"skills_referencing": [
|
|
764
|
-
"
|
|
927
|
+
"kernel-lpe-triage"
|
|
765
928
|
],
|
|
766
929
|
"evidence_cves": [],
|
|
767
930
|
"framework_controls_partially_addressing": [
|
|
768
|
-
"NIST-800-53-
|
|
769
|
-
"ISO-27001-2022-A.
|
|
770
|
-
"ISO-27001-2022-A.8.30"
|
|
931
|
+
"NIST-800-53-SI-16",
|
|
932
|
+
"ISO-27001-2022-A.8.28"
|
|
771
933
|
],
|
|
772
|
-
"real_requirement": "
|
|
773
|
-
"lag_notes": "
|
|
934
|
+
"real_requirement": "Static race detection in CI (Rust Send/Sync, TSan); kernel-specific race detection (KCSAN); replace racy primitives with lock-free or RCU patterns where contention is high. CVSS routinely under-scores race conditions; many become deterministic with AI-assisted timing analysis.",
|
|
935
|
+
"lag_notes": "DR-5: AI-assisted timing analysis reduces race exploitation from days to minutes. CVSS attack-complexity-high assumption (race conditions are 'hard') is increasingly invalid.",
|
|
774
936
|
"last_verified": "2026-05-11"
|
|
775
937
|
},
|
|
776
|
-
"CWE-
|
|
777
|
-
"id": "CWE-
|
|
778
|
-
"name": "
|
|
779
|
-
"abstraction": "
|
|
780
|
-
"category": "
|
|
781
|
-
"description": "
|
|
782
|
-
"top_25_rank_2024":
|
|
938
|
+
"CWE-416": {
|
|
939
|
+
"id": "CWE-416",
|
|
940
|
+
"name": "Use After Free",
|
|
941
|
+
"abstraction": "Variant",
|
|
942
|
+
"category": "Memory Safety",
|
|
943
|
+
"description": "Referencing memory after it has been freed causes a program to crash, use unexpected values, or execute attacker-controlled code. UAF is the dominant kernel/browser RCE primitive of the last decade and a frequent root cause for IPsec, netfilter, and io_uring class kernel CVEs.",
|
|
944
|
+
"top_25_rank_2024": 8,
|
|
783
945
|
"top_25_rank_2025": null,
|
|
784
946
|
"view_memberships": [
|
|
947
|
+
"CWE-1003",
|
|
785
948
|
"CWE-1000",
|
|
786
|
-
"CWE-
|
|
949
|
+
"CWE-1430"
|
|
950
|
+
],
|
|
951
|
+
"related_attack_patterns_capec": [
|
|
952
|
+
"CAPEC-129"
|
|
787
953
|
],
|
|
788
|
-
"related_attack_patterns_capec": [],
|
|
789
954
|
"skills_referencing": [
|
|
790
|
-
"
|
|
791
|
-
"
|
|
955
|
+
"kernel-lpe-triage",
|
|
956
|
+
"exploit-scoring"
|
|
957
|
+
],
|
|
958
|
+
"evidence_cves": [
|
|
959
|
+
"CVE-2026-43284",
|
|
960
|
+
"CVE-2026-43500"
|
|
792
961
|
],
|
|
793
|
-
"evidence_cves": [],
|
|
794
962
|
"framework_controls_partially_addressing": [
|
|
795
|
-
"NIST-800-53-
|
|
963
|
+
"NIST-800-53-SI-16",
|
|
796
964
|
"NIST-800-53-SI-2",
|
|
797
|
-
"ISO-27001-2022-A.8.
|
|
798
|
-
"ISO-27001-2022-A.8.30"
|
|
965
|
+
"ISO-27001-2022-A.8.28"
|
|
799
966
|
],
|
|
800
|
-
"real_requirement": "
|
|
801
|
-
"lag_notes": "SI-
|
|
967
|
+
"real_requirement": "Memory-safe rewrite of attack-surface subsystems (IPsec stack, packet reassembly, allocators); SLAB_VIRTUAL / heap hardening enabled in production kernels; KASAN-enabled fleet canaries. SI-16 'memory protection' as defined in NIST is satisfied by NX/ASLR, which UAF exploits routinely bypass via heap spray plus grooming.",
|
|
968
|
+
"lag_notes": "NIST SI-16 considers UAF mitigation 'addressed' if ASLR and NX are enabled. Modern UAF exploitation pipelines defeat both. NIST has not introduced a control for memory-safe-by-default for high-blast-radius subsystems.",
|
|
802
969
|
"last_verified": "2026-05-11"
|
|
803
970
|
},
|
|
804
|
-
"CWE-
|
|
805
|
-
"id": "CWE-
|
|
806
|
-
"name": "
|
|
971
|
+
"CWE-426": {
|
|
972
|
+
"id": "CWE-426",
|
|
973
|
+
"name": "Untrusted Search Path",
|
|
807
974
|
"abstraction": "Base",
|
|
808
|
-
"category": "
|
|
809
|
-
"description": "The product
|
|
975
|
+
"category": "Privilege Management",
|
|
976
|
+
"description": "The product searches for resources along a path that includes locations writable by an unprivileged actor, enabling privilege escalation or code-execution hijacks. Includes PATH-injection on setuid binaries, DLL search-path attacks, LD_LIBRARY_PATH abuse, Python sys.path injection.",
|
|
810
977
|
"top_25_rank_2024": null,
|
|
811
978
|
"top_25_rank_2025": null,
|
|
812
979
|
"view_memberships": [
|
|
813
|
-
"CWE-1000"
|
|
814
|
-
|
|
980
|
+
"CWE-1000"
|
|
981
|
+
],
|
|
982
|
+
"related_attack_patterns_capec": [
|
|
983
|
+
"CAPEC-38",
|
|
984
|
+
"CAPEC-471"
|
|
815
985
|
],
|
|
816
|
-
"related_attack_patterns_capec": [],
|
|
817
986
|
"skills_referencing": [
|
|
818
|
-
"
|
|
819
|
-
"rag-pipeline-security",
|
|
820
|
-
"ai-c2-detection",
|
|
821
|
-
"mcp-agent-trust"
|
|
987
|
+
"kernel-lpe-triage"
|
|
822
988
|
],
|
|
823
989
|
"evidence_cves": [],
|
|
824
990
|
"framework_controls_partially_addressing": [
|
|
825
|
-
"NIST-
|
|
826
|
-
"
|
|
827
|
-
"ISO-27001-2022-A.8.28"
|
|
991
|
+
"NIST-800-53-AC-6",
|
|
992
|
+
"ISO-27001-2022-A.8.20"
|
|
828
993
|
],
|
|
829
|
-
"real_requirement": "
|
|
830
|
-
"lag_notes": "
|
|
831
|
-
"last_verified": "2026-05-
|
|
994
|
+
"real_requirement": "Setuid binaries use absolute paths exclusively; secure_getenv() for PATH-derived lookups in libc-linked privileged binaries; Windows: SetDllDirectoryW with empty string; LSan-style search-path audit in CI.",
|
|
995
|
+
"lag_notes": "AC-6 least privilege is the conceptual control; runtime evidence that no privileged binary reaches a writable-by-attacker location during search is rarely audited.",
|
|
996
|
+
"last_verified": "2026-05-13",
|
|
997
|
+
"playbooks_referencing": [
|
|
998
|
+
"hardening"
|
|
999
|
+
]
|
|
832
1000
|
},
|
|
833
|
-
"CWE-
|
|
834
|
-
"id": "CWE-
|
|
835
|
-
"name": "
|
|
1001
|
+
"CWE-434": {
|
|
1002
|
+
"id": "CWE-434",
|
|
1003
|
+
"name": "Unrestricted Upload of File with Dangerous Type",
|
|
836
1004
|
"abstraction": "Base",
|
|
837
|
-
"category": "
|
|
838
|
-
"description": "The product
|
|
839
|
-
"top_25_rank_2024":
|
|
1005
|
+
"category": "File Handling",
|
|
1006
|
+
"description": "The product allows the attacker to upload or transfer files of dangerous types that can be automatically processed within the product's environment.",
|
|
1007
|
+
"top_25_rank_2024": 10,
|
|
840
1008
|
"top_25_rank_2025": null,
|
|
841
1009
|
"view_memberships": [
|
|
1010
|
+
"CWE-1003",
|
|
842
1011
|
"CWE-1000",
|
|
843
|
-
"CWE-
|
|
1012
|
+
"CWE-1430"
|
|
844
1013
|
],
|
|
845
|
-
"related_attack_patterns_capec": [
|
|
846
|
-
|
|
847
|
-
"
|
|
1014
|
+
"related_attack_patterns_capec": [
|
|
1015
|
+
"CAPEC-1",
|
|
1016
|
+
"CAPEC-650"
|
|
848
1017
|
],
|
|
1018
|
+
"skills_referencing": [],
|
|
849
1019
|
"evidence_cves": [],
|
|
850
1020
|
"framework_controls_partially_addressing": [
|
|
851
|
-
"NIST-
|
|
852
|
-
"NIST-
|
|
1021
|
+
"NIST-800-53-SI-3",
|
|
1022
|
+
"NIST-800-53-SI-10",
|
|
1023
|
+
"ISO-27001-2022-A.8.7"
|
|
853
1024
|
],
|
|
854
|
-
"real_requirement": "
|
|
855
|
-
"lag_notes": "
|
|
1025
|
+
"real_requirement": "Content-type validation by magic bytes (not Content-Type header); rename uploaded files with random IDs; store outside webroot; serve via signed-URL proxy; for AI/RAG pipelines, validate uploaded document types are within the corpus schema.",
|
|
1026
|
+
"lag_notes": "SI-3 (malicious code protection) checks AV signatures but does not contemplate uploaded prompt-injection payloads inside documents that are dangerous-by-content rather than dangerous-by-type.",
|
|
856
1027
|
"last_verified": "2026-05-11"
|
|
857
1028
|
},
|
|
858
|
-
"CWE-
|
|
859
|
-
"id": "CWE-
|
|
860
|
-
"name": "
|
|
1029
|
+
"CWE-494": {
|
|
1030
|
+
"id": "CWE-494",
|
|
1031
|
+
"name": "Download of Code Without Integrity Check",
|
|
861
1032
|
"abstraction": "Base",
|
|
862
|
-
"category": "
|
|
863
|
-
"description": "The
|
|
864
|
-
"top_25_rank_2024": null,
|
|
865
|
-
"top_25_rank_2025": null,
|
|
866
|
-
"view_memberships": [
|
|
867
|
-
"CWE-1000"
|
|
868
|
-
],
|
|
869
|
-
"related_attack_patterns_capec": [],
|
|
870
|
-
"skills_referencing": [
|
|
871
|
-
"pqc-first"
|
|
872
|
-
],
|
|
873
|
-
"evidence_cves": [],
|
|
874
|
-
"framework_controls_partially_addressing": [
|
|
875
|
-
"NIST-800-53-SI-16",
|
|
876
|
-
"ISO-27001-2022-A.8.28"
|
|
877
|
-
],
|
|
878
|
-
"real_requirement": "Retpoline / IBRS / hardware mitigations enabled; constant-time cryptographic implementations verified post-compile; site-isolation in browsers; speculative-execution-aware compiler hardening for cryptographic code paths.",
|
|
879
|
-
"lag_notes": "Microarchitectural side channels are not addressed by any framework control. SI-16 (memory protection) is satisfied by software-level NX/ASLR and does not contemplate the CPU as the attacker.",
|
|
880
|
-
"last_verified": "2026-05-11"
|
|
881
|
-
},
|
|
882
|
-
"CWE-327": {
|
|
883
|
-
"id": "CWE-327",
|
|
884
|
-
"name": "Use of a Broken or Risky Cryptographic Algorithm",
|
|
885
|
-
"abstraction": "Class",
|
|
886
|
-
"category": "Cryptography",
|
|
887
|
-
"description": "The product uses a broken or risky cryptographic algorithm or protocol. Maps directly to the post-quantum-cryptography transition risk: classical asymmetric algorithms (RSA, ECDSA, ECDH) become risky once a cryptographically-relevant quantum computer exists, and 'harvest now, decrypt later' attacks make CWE-327 a present-tense risk for long-lived data.",
|
|
1033
|
+
"category": "Supply Chain",
|
|
1034
|
+
"description": "The product downloads source code or an executable from a remote location and executes the code without sufficiently verifying the origin and integrity of the code.",
|
|
888
1035
|
"top_25_rank_2024": null,
|
|
889
1036
|
"top_25_rank_2025": null,
|
|
890
1037
|
"view_memberships": [
|
|
891
|
-
"CWE-1003",
|
|
892
1038
|
"CWE-1000"
|
|
893
1039
|
],
|
|
894
1040
|
"related_attack_patterns_capec": [
|
|
895
|
-
"CAPEC-
|
|
1041
|
+
"CAPEC-185"
|
|
896
1042
|
],
|
|
897
1043
|
"skills_referencing": [
|
|
898
|
-
"
|
|
1044
|
+
"mcp-agent-trust",
|
|
1045
|
+
"ai-attack-surface"
|
|
1046
|
+
],
|
|
1047
|
+
"evidence_cves": [
|
|
1048
|
+
"CVE-2026-30615"
|
|
899
1049
|
],
|
|
900
|
-
"evidence_cves": [],
|
|
901
1050
|
"framework_controls_partially_addressing": [
|
|
902
|
-
"NIST-800-53-
|
|
903
|
-
"
|
|
1051
|
+
"NIST-800-53-SI-7",
|
|
1052
|
+
"NIST-800-53-SA-12",
|
|
1053
|
+
"ISO-27001-2022-A.8.30"
|
|
904
1054
|
],
|
|
905
|
-
"real_requirement": "
|
|
906
|
-
"lag_notes": "
|
|
1055
|
+
"real_requirement": "All package, model, and plugin installs require signature verification against pinned publishing keys; key rotation procedures published and monitored; package-registry typosquat scanning for AI and MCP ecosystems specifically (PyPI, npm, HuggingFace, MCP registries).",
|
|
1056
|
+
"lag_notes": "SI-7 covers software integrity but does not specifically address developer-installed AI tooling (MCP servers, VS Code AI extensions) as a high-trust class. Windsurf MCP RCE (CVE-2026-30615) is a CWE-494 instance reachable because developer tooling installs bypass enterprise package-integrity controls.",
|
|
907
1057
|
"last_verified": "2026-05-11"
|
|
908
1058
|
},
|
|
909
|
-
"CWE-
|
|
910
|
-
"id": "CWE-
|
|
911
|
-
"name": "
|
|
1059
|
+
"CWE-502": {
|
|
1060
|
+
"id": "CWE-502",
|
|
1061
|
+
"name": "Deserialization of Untrusted Data",
|
|
912
1062
|
"abstraction": "Base",
|
|
913
|
-
"category": "
|
|
914
|
-
"description": "The product
|
|
915
|
-
"top_25_rank_2024":
|
|
1063
|
+
"category": "Serialization",
|
|
1064
|
+
"description": "The product deserializes untrusted data without sufficiently verifying that the resulting data will be valid. Code-executing serialization formats used for ML model checkpoint loading from HuggingFace and similar registries keep CWE-502 critical for AI/ML pipelines.",
|
|
1065
|
+
"top_25_rank_2024": 15,
|
|
916
1066
|
"top_25_rank_2025": null,
|
|
917
1067
|
"view_memberships": [
|
|
918
1068
|
"CWE-1003",
|
|
919
1069
|
"CWE-1000",
|
|
1070
|
+
"CWE-1425",
|
|
920
1071
|
"CWE-1430"
|
|
921
1072
|
],
|
|
922
1073
|
"related_attack_patterns_capec": [
|
|
923
|
-
"CAPEC-
|
|
1074
|
+
"CAPEC-586"
|
|
924
1075
|
],
|
|
925
1076
|
"skills_referencing": [
|
|
926
|
-
"ai-attack-surface"
|
|
1077
|
+
"ai-attack-surface",
|
|
1078
|
+
"mcp-agent-trust"
|
|
927
1079
|
],
|
|
928
1080
|
"evidence_cves": [],
|
|
929
1081
|
"framework_controls_partially_addressing": [
|
|
930
|
-
"NIST-800-53-
|
|
931
|
-
"
|
|
1082
|
+
"NIST-800-53-SI-10",
|
|
1083
|
+
"NIST-800-53-SA-12",
|
|
1084
|
+
"ISO-27001-2022-A.8.30"
|
|
932
1085
|
],
|
|
933
|
-
"real_requirement": "
|
|
934
|
-
"lag_notes": "
|
|
1086
|
+
"real_requirement": "Reject code-executing serialization formats for model loading in production; require safetensors or equivalent type-safe formats; for legacy code-executing formats, run inside an unprivileged, network-isolated sandbox; verify cryptographic signatures of model artifacts before deserialization.",
|
|
1087
|
+
"lag_notes": "SA-12 supply-chain controls assume binaries can be hash-verified — they do not address that certain serialization formats execute code on load, making hash-of-bad-blob still dangerous.",
|
|
935
1088
|
"last_verified": "2026-05-11"
|
|
936
1089
|
},
|
|
937
|
-
"CWE-
|
|
938
|
-
"id": "CWE-
|
|
939
|
-
"name": "
|
|
940
|
-
"abstraction": "
|
|
941
|
-
"category": "
|
|
942
|
-
"description": "The
|
|
943
|
-
"top_25_rank_2024":
|
|
1090
|
+
"CWE-506": {
|
|
1091
|
+
"id": "CWE-506",
|
|
1092
|
+
"name": "Embedded Malicious Code",
|
|
1093
|
+
"abstraction": "Class",
|
|
1094
|
+
"category": "Supply Chain",
|
|
1095
|
+
"description": "The application contains code that appears to perform a legitimate function but actually contains a payload that performs an additional, attacker-controlled action — typically credential theft, persistence, or remote loader logic. The class covers package-registry malware (PyPI / npm / RubyGems / Cargo / Maven typosquats, compromised maintainer accounts, forged-release-via-CI vectors).",
|
|
1096
|
+
"top_25_rank_2024": null,
|
|
944
1097
|
"top_25_rank_2025": null,
|
|
945
1098
|
"view_memberships": [
|
|
946
|
-
"CWE-
|
|
947
|
-
"CWE-1000",
|
|
948
|
-
"CWE-1430"
|
|
1099
|
+
"CWE-1000"
|
|
949
1100
|
],
|
|
950
1101
|
"related_attack_patterns_capec": [
|
|
951
|
-
"CAPEC-
|
|
1102
|
+
"CAPEC-442",
|
|
1103
|
+
"CAPEC-446",
|
|
1104
|
+
"CAPEC-538"
|
|
952
1105
|
],
|
|
953
1106
|
"skills_referencing": [
|
|
954
|
-
"
|
|
1107
|
+
"supply-chain-integrity"
|
|
1108
|
+
],
|
|
1109
|
+
"evidence_cves": [
|
|
1110
|
+
"CVE-2026-45321",
|
|
1111
|
+
"MAL-2026-3083"
|
|
955
1112
|
],
|
|
956
|
-
"evidence_cves": [],
|
|
957
1113
|
"framework_controls_partially_addressing": [
|
|
958
|
-
"NIST-800-53-
|
|
959
|
-
"
|
|
1114
|
+
"NIST-800-53-SA-12",
|
|
1115
|
+
"NIST-800-218-PS.1",
|
|
1116
|
+
"ISO-27001-2022-A.8.30",
|
|
1117
|
+
"SLSA-Level-3"
|
|
960
1118
|
],
|
|
961
|
-
"real_requirement": "
|
|
962
|
-
"lag_notes": "
|
|
963
|
-
"last_verified": "2026-05-
|
|
1119
|
+
"real_requirement": "Provenance attestation at install time (Sigstore, in-toto, SLSA L3+); registry-side malware scanning on every uploaded artifact; install-time .pth / postinstall / preinstall hook auditing; differential analysis between consecutive releases of the same package (added files, new network egress, new file reads); cooldown periods on new releases of high-download packages so registry scanners and community detection have time to fire before mass install.",
|
|
1120
|
+
"lag_notes": "SA-12 contemplates the traditional supply chain but does not require differential-analysis between adjacent releases. The elementary-data 0.23.3 attack (April 2026) added exactly one file (a `.pth` install-time payload) versus 0.23.2 — a difference any naive diff would catch but no registry-side scanner currently runs at upload time by default.",
|
|
1121
|
+
"last_verified": "2026-05-13",
|
|
1122
|
+
"playbooks_referencing": [
|
|
1123
|
+
"library-author"
|
|
1124
|
+
]
|
|
964
1125
|
},
|
|
965
|
-
"CWE-
|
|
966
|
-
"id": "CWE-
|
|
967
|
-
"name": "
|
|
1126
|
+
"CWE-522": {
|
|
1127
|
+
"id": "CWE-522",
|
|
1128
|
+
"name": "Insufficiently Protected Credentials",
|
|
968
1129
|
"abstraction": "Class",
|
|
969
|
-
"category": "
|
|
970
|
-
"description": "The product
|
|
971
|
-
"top_25_rank_2024":
|
|
1130
|
+
"category": "Credentials Management",
|
|
1131
|
+
"description": "The product stores or transmits authentication credentials but uses insufficient protection — weak hashing, no encryption in transit, plaintext in logs, recoverable via password-reset enumeration. Pillar for several credential-handling weaknesses.",
|
|
1132
|
+
"top_25_rank_2024": null,
|
|
972
1133
|
"top_25_rank_2025": null,
|
|
973
1134
|
"view_memberships": [
|
|
974
|
-
"CWE-1003",
|
|
975
1135
|
"CWE-1000",
|
|
976
|
-
"CWE-
|
|
1136
|
+
"CWE-1003"
|
|
977
1137
|
],
|
|
978
1138
|
"related_attack_patterns_capec": [
|
|
979
|
-
"CAPEC-
|
|
1139
|
+
"CAPEC-49",
|
|
1140
|
+
"CAPEC-555"
|
|
980
1141
|
],
|
|
981
1142
|
"skills_referencing": [
|
|
982
|
-
"
|
|
1143
|
+
"identity-assurance"
|
|
983
1144
|
],
|
|
984
1145
|
"evidence_cves": [],
|
|
985
1146
|
"framework_controls_partially_addressing": [
|
|
986
|
-
"NIST-800-53-
|
|
987
|
-
"ISO-27001-2022-A.
|
|
1147
|
+
"NIST-800-53-IA-5",
|
|
1148
|
+
"ISO-27001-2022-A.5.16",
|
|
1149
|
+
"PCI-DSS-v4-8.3"
|
|
988
1150
|
],
|
|
989
|
-
"real_requirement": "
|
|
990
|
-
"lag_notes": "
|
|
991
|
-
"last_verified": "2026-05-
|
|
1151
|
+
"real_requirement": "Argon2id/scrypt for password hashes; TLS 1.3 for credential transmission; structured logging that redacts credential fields; secret-scanning gates on commits; vendor credentials in secrets managers with rotation policy.",
|
|
1152
|
+
"lag_notes": "IA-5 authenticator management speaks to the lifecycle but rarely audits the actual storage cryptography. Credential leak in logs is the failure mode most often missed by compliance review.",
|
|
1153
|
+
"last_verified": "2026-05-13",
|
|
1154
|
+
"playbooks_referencing": [
|
|
1155
|
+
"cred-stores",
|
|
1156
|
+
"ai-api"
|
|
1157
|
+
]
|
|
992
1158
|
},
|
|
993
|
-
"CWE-
|
|
994
|
-
"id": "CWE-
|
|
995
|
-
"name": "
|
|
996
|
-
"abstraction": "
|
|
997
|
-
"category": "
|
|
998
|
-
"description": "The product
|
|
1159
|
+
"CWE-669": {
|
|
1160
|
+
"id": "CWE-669",
|
|
1161
|
+
"name": "Incorrect Resource Transfer Between Spheres",
|
|
1162
|
+
"abstraction": "Class",
|
|
1163
|
+
"category": "Resource Management",
|
|
1164
|
+
"description": "The product does not properly transfer a resource or information across spheres of control — between privileged and unprivileged contexts, between user and kernel, between page-cache and writable mapping. Canonical class for Dirty COW / Dirty Pipe / Copy Fail page-cache copy-on-write primitives where a read-only resource ends up writable in another sphere.",
|
|
999
1165
|
"top_25_rank_2024": null,
|
|
1000
1166
|
"top_25_rank_2025": null,
|
|
1001
1167
|
"view_memberships": [
|
|
@@ -1003,339 +1169,495 @@
|
|
|
1003
1169
|
],
|
|
1004
1170
|
"related_attack_patterns_capec": [],
|
|
1005
1171
|
"skills_referencing": [
|
|
1006
|
-
"
|
|
1007
|
-
"
|
|
1172
|
+
"kernel-lpe-triage",
|
|
1173
|
+
"exploit-scoring"
|
|
1008
1174
|
],
|
|
1009
|
-
"
|
|
1010
|
-
|
|
1011
|
-
"
|
|
1012
|
-
"
|
|
1175
|
+
"playbooks_referencing": [
|
|
1176
|
+
"kernel",
|
|
1177
|
+
"hardening",
|
|
1178
|
+
"runtime"
|
|
1013
1179
|
],
|
|
1014
|
-
"
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
"
|
|
1022
|
-
"
|
|
1023
|
-
"
|
|
1024
|
-
"top_25_rank_2024": null,
|
|
1025
|
-
"top_25_rank_2025": null,
|
|
1026
|
-
"view_memberships": ["CWE-1000"],
|
|
1027
|
-
"related_attack_patterns_capec": ["CAPEC-104", "CAPEC-470"],
|
|
1028
|
-
"skills_referencing": ["container-runtime-security", "kernel-lpe-triage", "ot-ics-security"],
|
|
1029
|
-
"evidence_cves": [],
|
|
1030
|
-
"framework_controls_partially_addressing": ["NIST-800-53-AC-6", "ISO-27001-2022-A.8.2", "PCI-DSS-v4-7.2"],
|
|
1031
|
-
"real_requirement": "Per-syscall capability dropping enforced at process start; no long-lived root daemons in modern container runtimes; sudo audit trail with rate-limit on privileged invocations; setuid binaries replaced with capability(7) bits.",
|
|
1032
|
-
"lag_notes": "AC-6 least privilege is a paper compliance target — frameworks accept role-based attestation. CWE-250 requires runtime evidence of capability minimization, which compliance audits rarely sample.",
|
|
1033
|
-
"last_verified": "2026-05-13"
|
|
1180
|
+
"evidence_cves": [
|
|
1181
|
+
"CVE-2026-31431"
|
|
1182
|
+
],
|
|
1183
|
+
"framework_controls_partially_addressing": [
|
|
1184
|
+
"NIST-800-53-SI-16",
|
|
1185
|
+
"ISO-27001-2022-A.8.28"
|
|
1186
|
+
],
|
|
1187
|
+
"real_requirement": "Boundary-checked transfer primitives in the kernel page-cache and copy-on-write paths; explicit sphere labelling on shared mappings; structural type-level distinction between read-only and writable views of the same backing memory.",
|
|
1188
|
+
"lag_notes": "NIST controls treat resource transfer as an input-validation problem (SI-10) rather than as a sphere-boundary integrity problem. CWE-669 captures the Copy Fail / Dirty COW class more accurately than CWE-787 because the failure is the sphere transition, not the bounds of the write.",
|
|
1189
|
+
"last_verified": "2026-05-14"
|
|
1034
1190
|
},
|
|
1035
|
-
"CWE-
|
|
1036
|
-
"id": "CWE-
|
|
1037
|
-
"name": "
|
|
1038
|
-
"abstraction": "
|
|
1039
|
-
"category": "
|
|
1040
|
-
"description": "The product
|
|
1191
|
+
"CWE-672": {
|
|
1192
|
+
"id": "CWE-672",
|
|
1193
|
+
"name": "Operation on a Resource after Expiration or Release",
|
|
1194
|
+
"abstraction": "Class",
|
|
1195
|
+
"category": "Memory Safety",
|
|
1196
|
+
"description": "The product uses, accesses, or otherwise operates on a resource after that resource has been expired, released, or revoked. Parent class for CWE-416 (UAF) and related lifetime-management weaknesses; sometimes cited as the canonical class for kernel buffer-lifetime bugs where the specific UAF-vs-write classification is ambiguous.",
|
|
1041
1197
|
"top_25_rank_2024": null,
|
|
1042
1198
|
"top_25_rank_2025": null,
|
|
1043
|
-
"view_memberships": [
|
|
1044
|
-
|
|
1045
|
-
|
|
1199
|
+
"view_memberships": [
|
|
1200
|
+
"CWE-1000"
|
|
1201
|
+
],
|
|
1202
|
+
"related_attack_patterns_capec": [],
|
|
1203
|
+
"skills_referencing": [
|
|
1204
|
+
"kernel-lpe-triage"
|
|
1205
|
+
],
|
|
1046
1206
|
"evidence_cves": [],
|
|
1047
|
-
"framework_controls_partially_addressing": [
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1207
|
+
"framework_controls_partially_addressing": [
|
|
1208
|
+
"NIST-800-53-SI-16",
|
|
1209
|
+
"ISO-27001-2022-A.8.28"
|
|
1210
|
+
],
|
|
1211
|
+
"real_requirement": "Resource lifetime expressed in the type system (Rust ownership, RAII); static analyzers that prove no use-after-release on hot paths.",
|
|
1212
|
+
"lag_notes": "Listed as a candidate primary class for Copy Fail (CVE-2026-31431) in some draft NVD threads; the primary NVD assignment is CWE-787 — CWE-672 is included here so skill authors can cite it for borderline kernel-lifetime cases.",
|
|
1213
|
+
"last_verified": "2026-05-11"
|
|
1051
1214
|
},
|
|
1052
|
-
"CWE-
|
|
1053
|
-
"id": "CWE-
|
|
1054
|
-
"name": "
|
|
1055
|
-
"abstraction": "
|
|
1056
|
-
"category": "
|
|
1057
|
-
"description": "The product
|
|
1058
|
-
"top_25_rank_2024":
|
|
1215
|
+
"CWE-732": {
|
|
1216
|
+
"id": "CWE-732",
|
|
1217
|
+
"name": "Incorrect Permission Assignment for Critical Resource",
|
|
1218
|
+
"abstraction": "Class",
|
|
1219
|
+
"category": "Authorization",
|
|
1220
|
+
"description": "The product specifies permissions for a security-critical resource in a way that allows that resource to be read or modified by unintended actors. Frequent root cause for K8s RBAC, IAM policy, and cloud-bucket misconfigurations.",
|
|
1221
|
+
"top_25_rank_2024": 13,
|
|
1059
1222
|
"top_25_rank_2025": null,
|
|
1060
|
-
"view_memberships": [
|
|
1061
|
-
|
|
1062
|
-
|
|
1223
|
+
"view_memberships": [
|
|
1224
|
+
"CWE-1003",
|
|
1225
|
+
"CWE-1000",
|
|
1226
|
+
"CWE-1430"
|
|
1227
|
+
],
|
|
1228
|
+
"related_attack_patterns_capec": [
|
|
1229
|
+
"CAPEC-1"
|
|
1230
|
+
],
|
|
1231
|
+
"skills_referencing": [],
|
|
1063
1232
|
"evidence_cves": [],
|
|
1064
|
-
"framework_controls_partially_addressing": [
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1233
|
+
"framework_controls_partially_addressing": [
|
|
1234
|
+
"NIST-800-53-AC-3",
|
|
1235
|
+
"NIST-800-53-AC-6",
|
|
1236
|
+
"ISO-27001-2022-A.5.15"
|
|
1237
|
+
],
|
|
1238
|
+
"real_requirement": "IaC-scanned permission policies in CI; deny-by-default cloud account baselines; periodic effective-permission graph review (not just per-policy review).",
|
|
1239
|
+
"lag_notes": "AC-3 review at policy-grant time misses transitive permission graphs in cloud IAM and K8s RBAC. The effective permission, not the granted permission, is what an attacker exploits.",
|
|
1240
|
+
"last_verified": "2026-05-11"
|
|
1068
1241
|
},
|
|
1069
|
-
"CWE-
|
|
1070
|
-
"id": "CWE-
|
|
1071
|
-
"name": "
|
|
1072
|
-
"abstraction": "
|
|
1242
|
+
"CWE-759": {
|
|
1243
|
+
"id": "CWE-759",
|
|
1244
|
+
"name": "Use of a One-Way Hash without a Salt",
|
|
1245
|
+
"abstraction": "Variant",
|
|
1073
1246
|
"category": "Cryptography",
|
|
1074
|
-
"description": "
|
|
1247
|
+
"description": "The product hashes a password or similar credential using a one-way hash without including a per-credential salt, enabling rainbow-table attacks against the resulting hash collection.",
|
|
1075
1248
|
"top_25_rank_2024": null,
|
|
1076
1249
|
"top_25_rank_2025": null,
|
|
1077
|
-
"view_memberships": [
|
|
1078
|
-
|
|
1079
|
-
|
|
1250
|
+
"view_memberships": [
|
|
1251
|
+
"CWE-1000",
|
|
1252
|
+
"CWE-310"
|
|
1253
|
+
],
|
|
1254
|
+
"related_attack_patterns_capec": [
|
|
1255
|
+
"CAPEC-55"
|
|
1256
|
+
],
|
|
1257
|
+
"skills_referencing": [],
|
|
1080
1258
|
"evidence_cves": [],
|
|
1081
|
-
"framework_controls_partially_addressing": [
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1259
|
+
"framework_controls_partially_addressing": [
|
|
1260
|
+
"NIST-800-53-IA-5(1)",
|
|
1261
|
+
"NIST-SP-800-63B"
|
|
1262
|
+
],
|
|
1263
|
+
"real_requirement": "Use Argon2id/scrypt for password hashing — salt is intrinsic to the construction; never store bare-hashed passwords; per-credential salts ≥ 128 bits.",
|
|
1264
|
+
"lag_notes": "SP 800-63B requires salted hashing for memorized secrets; codebase inventories rarely catch legacy unsalted hashes in long-lived tables. CWE-916 is the related insufficient-effort variant.",
|
|
1265
|
+
"last_verified": "2026-05-13",
|
|
1266
|
+
"playbooks_referencing": [
|
|
1267
|
+
"crypto-codebase"
|
|
1268
|
+
]
|
|
1085
1269
|
},
|
|
1086
|
-
"CWE-
|
|
1087
|
-
"id": "CWE-
|
|
1088
|
-
"name": "
|
|
1270
|
+
"CWE-760": {
|
|
1271
|
+
"id": "CWE-760",
|
|
1272
|
+
"name": "Use of a One-Way Hash with a Predictable Salt",
|
|
1089
1273
|
"abstraction": "Variant",
|
|
1090
|
-
"category": "
|
|
1091
|
-
"description": "The product
|
|
1274
|
+
"category": "Cryptography",
|
|
1275
|
+
"description": "The product hashes a password using a per-credential salt that is predictable (username-derived, timestamp-derived, counter), undermining the salt's defense against rainbow-table attacks.",
|
|
1092
1276
|
"top_25_rank_2024": null,
|
|
1093
1277
|
"top_25_rank_2025": null,
|
|
1094
|
-
"view_memberships": [
|
|
1095
|
-
|
|
1096
|
-
|
|
1278
|
+
"view_memberships": [
|
|
1279
|
+
"CWE-1000",
|
|
1280
|
+
"CWE-310"
|
|
1281
|
+
],
|
|
1282
|
+
"related_attack_patterns_capec": [
|
|
1283
|
+
"CAPEC-55"
|
|
1284
|
+
],
|
|
1285
|
+
"skills_referencing": [],
|
|
1097
1286
|
"evidence_cves": [],
|
|
1098
|
-
"framework_controls_partially_addressing": [
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1287
|
+
"framework_controls_partially_addressing": [
|
|
1288
|
+
"NIST-800-53-IA-5(1)",
|
|
1289
|
+
"NIST-SP-800-63B"
|
|
1290
|
+
],
|
|
1291
|
+
"real_requirement": "Salt generated from CSPRNG, ≥ 128 bits, stored alongside the hash; never derived from any user-controllable or deterministic input.",
|
|
1292
|
+
"lag_notes": "Compliance frameworks audit the presence of a salt; correctness of salt generation is rarely sampled.",
|
|
1293
|
+
"last_verified": "2026-05-13",
|
|
1294
|
+
"playbooks_referencing": [
|
|
1295
|
+
"crypto-codebase"
|
|
1296
|
+
]
|
|
1102
1297
|
},
|
|
1103
|
-
"CWE-
|
|
1104
|
-
"id": "CWE-
|
|
1105
|
-
"name": "
|
|
1106
|
-
"abstraction": "
|
|
1107
|
-
"category": "
|
|
1108
|
-
"description": "The product
|
|
1109
|
-
"top_25_rank_2024":
|
|
1298
|
+
"CWE-787": {
|
|
1299
|
+
"id": "CWE-787",
|
|
1300
|
+
"name": "Out-of-bounds Write",
|
|
1301
|
+
"abstraction": "Base",
|
|
1302
|
+
"category": "Memory Safety",
|
|
1303
|
+
"description": "The product writes data past the end, or before the beginning, of the intended buffer. Out-of-bounds writes corrupt adjacent memory and are the dominant root cause of kernel and userland remote/local code execution exploits in C/C++ codebases.",
|
|
1304
|
+
"top_25_rank_2024": 2,
|
|
1110
1305
|
"top_25_rank_2025": null,
|
|
1111
|
-
"view_memberships": [
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
"
|
|
1117
|
-
|
|
1118
|
-
|
|
1306
|
+
"view_memberships": [
|
|
1307
|
+
"CWE-1003",
|
|
1308
|
+
"CWE-1000",
|
|
1309
|
+
"CWE-1430"
|
|
1310
|
+
],
|
|
1311
|
+
"related_attack_patterns_capec": [
|
|
1312
|
+
"CAPEC-100",
|
|
1313
|
+
"CAPEC-14",
|
|
1314
|
+
"CAPEC-46",
|
|
1315
|
+
"CAPEC-540"
|
|
1316
|
+
],
|
|
1317
|
+
"skills_referencing": [
|
|
1318
|
+
"kernel-lpe-triage",
|
|
1319
|
+
"exploit-scoring",
|
|
1320
|
+
"zeroday-gap-learn"
|
|
1321
|
+
],
|
|
1322
|
+
"evidence_cves": [
|
|
1323
|
+
"CVE-2026-31431",
|
|
1324
|
+
"CVE-2026-43500"
|
|
1325
|
+
],
|
|
1326
|
+
"framework_controls_partially_addressing": [
|
|
1327
|
+
"NIST-800-53-SI-10",
|
|
1328
|
+
"NIST-800-53-SI-16",
|
|
1329
|
+
"ISO-27001-2022-A.8.28",
|
|
1330
|
+
"ISO-27001-2022-A.8.25"
|
|
1331
|
+
],
|
|
1332
|
+
"real_requirement": "Mandatory memory-safe language adoption for new kernel and security-boundary code (Rust-for-Linux, eBPF verifier, hypervisor); KASAN/UBSAN/HWASAN in continuous fuzzing for legacy C; structured bounds-checking annotations enforced at compile time. SI-10 input validation alone is insufficient — write-path bounds checking must be a structural property of the type system, not a runtime check the developer must remember.",
|
|
1333
|
+
"lag_notes": "NIST SI-10 frames bounds violations as 'input validation' failures, which mischaracterizes the weakness — Copy Fail (CVE-2026-31431) had no untrusted input boundary in the traditional sense; it was a deterministic write past a kernel-internal buffer. ISO-27001 A.8.28 (secure coding) does not mandate memory-safe language adoption.",
|
|
1334
|
+
"last_verified": "2026-05-11"
|
|
1119
1335
|
},
|
|
1120
|
-
"CWE-
|
|
1121
|
-
"id": "CWE-
|
|
1122
|
-
"name": "Use of
|
|
1123
|
-
"abstraction": "
|
|
1124
|
-
"category": "
|
|
1125
|
-
"description": "The product
|
|
1126
|
-
"top_25_rank_2024":
|
|
1336
|
+
"CWE-798": {
|
|
1337
|
+
"id": "CWE-798",
|
|
1338
|
+
"name": "Use of Hard-coded Credentials",
|
|
1339
|
+
"abstraction": "Base",
|
|
1340
|
+
"category": "Credentials",
|
|
1341
|
+
"description": "The product contains hard-coded credentials, such as a password or cryptographic key, which it uses for its own inbound authentication, outbound communication to external components, or encryption of internal data. LLM-generated code is a documented re-introduction vector for hardcoded credentials.",
|
|
1342
|
+
"top_25_rank_2024": 18,
|
|
1127
1343
|
"top_25_rank_2025": null,
|
|
1128
|
-
"view_memberships": [
|
|
1129
|
-
|
|
1130
|
-
|
|
1344
|
+
"view_memberships": [
|
|
1345
|
+
"CWE-1003",
|
|
1346
|
+
"CWE-1000",
|
|
1347
|
+
"CWE-1430"
|
|
1348
|
+
],
|
|
1349
|
+
"related_attack_patterns_capec": [
|
|
1350
|
+
"CAPEC-191"
|
|
1351
|
+
],
|
|
1352
|
+
"skills_referencing": [
|
|
1353
|
+
"ai-attack-surface"
|
|
1354
|
+
],
|
|
1131
1355
|
"evidence_cves": [],
|
|
1132
|
-
"framework_controls_partially_addressing": [
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1356
|
+
"framework_controls_partially_addressing": [
|
|
1357
|
+
"NIST-800-53-IA-5",
|
|
1358
|
+
"ISO-27001-2022-A.8.5"
|
|
1359
|
+
],
|
|
1360
|
+
"real_requirement": "Secret-scanning in pre-commit and CI with deny-merge on detection; secret manager (HashiCorp Vault, AWS Secrets Manager, etc.) for runtime retrieval; LLM-generated-code-specific scanners that detect placeholder-credential patterns that the model emits.",
|
|
1361
|
+
"lag_notes": "DR-5: LLM-generated code routinely contains placeholder credentials and sometimes real credentials from training data. No framework treats LLM code emission as a CWE-798 vector.",
|
|
1362
|
+
"last_verified": "2026-05-11"
|
|
1136
1363
|
},
|
|
1137
|
-
"CWE-
|
|
1138
|
-
"id": "CWE-
|
|
1139
|
-
"name": "
|
|
1140
|
-
"abstraction": "
|
|
1141
|
-
"category": "
|
|
1142
|
-
"description": "The product
|
|
1364
|
+
"CWE-829": {
|
|
1365
|
+
"id": "CWE-829",
|
|
1366
|
+
"name": "Inclusion of Functionality from Untrusted Control Sphere",
|
|
1367
|
+
"abstraction": "Class",
|
|
1368
|
+
"category": "Supply Chain",
|
|
1369
|
+
"description": "The product imports, requires, or includes executable functionality from a source that is outside of the intended control sphere.",
|
|
1143
1370
|
"top_25_rank_2024": null,
|
|
1144
1371
|
"top_25_rank_2025": null,
|
|
1145
|
-
"view_memberships": [
|
|
1146
|
-
|
|
1147
|
-
|
|
1372
|
+
"view_memberships": [
|
|
1373
|
+
"CWE-1000"
|
|
1374
|
+
],
|
|
1375
|
+
"related_attack_patterns_capec": [
|
|
1376
|
+
"CAPEC-538"
|
|
1377
|
+
],
|
|
1378
|
+
"skills_referencing": [
|
|
1379
|
+
"mcp-agent-trust",
|
|
1380
|
+
"rag-pipeline-security"
|
|
1381
|
+
],
|
|
1148
1382
|
"evidence_cves": [],
|
|
1149
|
-
"framework_controls_partially_addressing": [
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1383
|
+
"framework_controls_partially_addressing": [
|
|
1384
|
+
"NIST-800-53-SA-12",
|
|
1385
|
+
"ISO-27001-2022-A.8.30"
|
|
1386
|
+
],
|
|
1387
|
+
"real_requirement": "Allowlist of approved MCP server publishers; private package registry mirrors for enterprise; CI-time scanning for newly-included dependencies (including transitive); for AI agents, allowlist of tool sources distinct from the agent's general internet access.",
|
|
1388
|
+
"lag_notes": "SA-12 evaluates suppliers; CWE-829 occurs at runtime when an agent or developer adds a dependency post-evaluation. No framework requires runtime dependency-introduction review for AI tooling.",
|
|
1389
|
+
"last_verified": "2026-05-11"
|
|
1153
1390
|
},
|
|
1154
|
-
"CWE-
|
|
1155
|
-
"id": "CWE-
|
|
1156
|
-
"name": "
|
|
1391
|
+
"CWE-862": {
|
|
1392
|
+
"id": "CWE-862",
|
|
1393
|
+
"name": "Missing Authorization",
|
|
1157
1394
|
"abstraction": "Class",
|
|
1158
|
-
"category": "
|
|
1159
|
-
"description": "The product
|
|
1160
|
-
"top_25_rank_2024":
|
|
1395
|
+
"category": "Authorization",
|
|
1396
|
+
"description": "The product does not perform an authorization check when an actor attempts to access a resource or perform an action. Top 25 number four in 2024; the canonical broken-access-control class for API endpoints that authenticate but do not authorize per-object.",
|
|
1397
|
+
"top_25_rank_2024": 4,
|
|
1161
1398
|
"top_25_rank_2025": null,
|
|
1162
|
-
"view_memberships": [
|
|
1163
|
-
|
|
1164
|
-
|
|
1399
|
+
"view_memberships": [
|
|
1400
|
+
"CWE-1003",
|
|
1401
|
+
"CWE-1000",
|
|
1402
|
+
"CWE-1430"
|
|
1403
|
+
],
|
|
1404
|
+
"related_attack_patterns_capec": [
|
|
1405
|
+
"CAPEC-1",
|
|
1406
|
+
"CAPEC-115"
|
|
1407
|
+
],
|
|
1408
|
+
"skills_referencing": [],
|
|
1165
1409
|
"evidence_cves": [],
|
|
1166
|
-
"framework_controls_partially_addressing": [
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1410
|
+
"framework_controls_partially_addressing": [
|
|
1411
|
+
"NIST-800-53-AC-3",
|
|
1412
|
+
"NIST-800-53-AC-6",
|
|
1413
|
+
"ISO-27001-2022-A.5.15",
|
|
1414
|
+
"SOC2-CC6.1"
|
|
1415
|
+
],
|
|
1416
|
+
"real_requirement": "Authorization enforced as a policy decision point separate from authentication; per-object access control with deny-by-default; AI agent invocations require session-level authorization context distinct from the underlying service account's authorization.",
|
|
1417
|
+
"lag_notes": "SOC 2 CC6.1 (per DR-1) defines logical access controls but does not require per-object authorization checks or AI-agent-session authorization contexts.",
|
|
1418
|
+
"last_verified": "2026-05-11"
|
|
1170
1419
|
},
|
|
1171
|
-
"CWE-
|
|
1172
|
-
"id": "CWE-
|
|
1173
|
-
"name": "
|
|
1420
|
+
"CWE-863": {
|
|
1421
|
+
"id": "CWE-863",
|
|
1422
|
+
"name": "Incorrect Authorization",
|
|
1174
1423
|
"abstraction": "Class",
|
|
1175
|
-
"category": "
|
|
1176
|
-
"description": "The product
|
|
1177
|
-
"top_25_rank_2024":
|
|
1424
|
+
"category": "Authorization",
|
|
1425
|
+
"description": "The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.",
|
|
1426
|
+
"top_25_rank_2024": 24,
|
|
1178
1427
|
"top_25_rank_2025": null,
|
|
1179
|
-
"view_memberships": [
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
"
|
|
1185
|
-
|
|
1186
|
-
|
|
1428
|
+
"view_memberships": [
|
|
1429
|
+
"CWE-1003",
|
|
1430
|
+
"CWE-1000",
|
|
1431
|
+
"CWE-1430"
|
|
1432
|
+
],
|
|
1433
|
+
"related_attack_patterns_capec": [
|
|
1434
|
+
"CAPEC-1"
|
|
1435
|
+
],
|
|
1436
|
+
"skills_referencing": [
|
|
1437
|
+
"mcp-agent-trust"
|
|
1438
|
+
],
|
|
1439
|
+
"evidence_cves": [],
|
|
1440
|
+
"framework_controls_partially_addressing": [
|
|
1441
|
+
"NIST-800-53-AC-3",
|
|
1442
|
+
"ISO-27001-2022-A.5.15"
|
|
1443
|
+
],
|
|
1444
|
+
"real_requirement": "Policy-as-code authorization with explicit deny-list-then-allowlist test coverage; per-tool authorization tests for MCP servers; invocation-time authorization for AI agent actions, separate from the agent's account-level permissions.",
|
|
1445
|
+
"lag_notes": "Often distinguished from CWE-862 only at post-mortem; both classes are commonly conflated by framework controls that say 'authorization is enforced' without specifying the granularity.",
|
|
1446
|
+
"last_verified": "2026-05-11"
|
|
1187
1447
|
},
|
|
1188
|
-
"CWE-
|
|
1189
|
-
"id": "CWE-
|
|
1190
|
-
"name": "Use of
|
|
1448
|
+
"CWE-916": {
|
|
1449
|
+
"id": "CWE-916",
|
|
1450
|
+
"name": "Use of Password Hash With Insufficient Computational Effort",
|
|
1191
1451
|
"abstraction": "Variant",
|
|
1192
1452
|
"category": "Cryptography",
|
|
1193
|
-
"description": "The product
|
|
1453
|
+
"description": "The product hashes a password with a fast cryptographic hash (MD5, SHA-1, single-pass SHA-256) where computational effort is not tuned to make offline cracking economically infeasible. Allows GPU-accelerated brute-force at scale.",
|
|
1194
1454
|
"top_25_rank_2024": null,
|
|
1195
1455
|
"top_25_rank_2025": null,
|
|
1196
|
-
"view_memberships": [
|
|
1197
|
-
|
|
1198
|
-
|
|
1456
|
+
"view_memberships": [
|
|
1457
|
+
"CWE-1000",
|
|
1458
|
+
"CWE-310"
|
|
1459
|
+
],
|
|
1460
|
+
"related_attack_patterns_capec": [
|
|
1461
|
+
"CAPEC-55",
|
|
1462
|
+
"CAPEC-49"
|
|
1463
|
+
],
|
|
1464
|
+
"skills_referencing": [],
|
|
1199
1465
|
"evidence_cves": [],
|
|
1200
|
-
"framework_controls_partially_addressing": [
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1466
|
+
"framework_controls_partially_addressing": [
|
|
1467
|
+
"NIST-800-53-IA-5(1)",
|
|
1468
|
+
"NIST-SP-800-63B"
|
|
1469
|
+
],
|
|
1470
|
+
"real_requirement": "Argon2id (memory-hard, RFC 9106) with tuned m/t/p; scrypt as fallback; bcrypt with work factor ≥ 12 acceptable for legacy. PBKDF2 only with iteration count ≥ 600,000 (NIST SP 800-63B 2022 update).",
|
|
1471
|
+
"lag_notes": "SP 800-63B updated iteration guidance in 2022; many compliance attestations still cite the 2017 numbers. Argon2id is RFC-9106 (2021) but absent from FIPS-approved lists, creating policy friction in federal contexts.",
|
|
1472
|
+
"last_verified": "2026-05-13",
|
|
1473
|
+
"playbooks_referencing": [
|
|
1474
|
+
"crypto-codebase",
|
|
1475
|
+
"cred-stores"
|
|
1476
|
+
]
|
|
1204
1477
|
},
|
|
1205
|
-
"CWE-
|
|
1206
|
-
"id": "CWE-
|
|
1207
|
-
"name": "
|
|
1478
|
+
"CWE-918": {
|
|
1479
|
+
"id": "CWE-918",
|
|
1480
|
+
"name": "Server-Side Request Forgery (SSRF)",
|
|
1208
1481
|
"abstraction": "Base",
|
|
1209
|
-
"category": "
|
|
1210
|
-
"description": "The
|
|
1211
|
-
"top_25_rank_2024":
|
|
1482
|
+
"category": "Network",
|
|
1483
|
+
"description": "The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL but does not sufficiently ensure that the request is being sent to the expected destination. SSRF is the canonical primitive for cloud metadata service abuse and is amplified in AI/RAG pipelines that fetch URLs from prompt-controlled context.",
|
|
1484
|
+
"top_25_rank_2024": 19,
|
|
1212
1485
|
"top_25_rank_2025": null,
|
|
1213
|
-
"view_memberships": [
|
|
1214
|
-
|
|
1215
|
-
|
|
1486
|
+
"view_memberships": [
|
|
1487
|
+
"CWE-1003",
|
|
1488
|
+
"CWE-1000",
|
|
1489
|
+
"CWE-1430"
|
|
1490
|
+
],
|
|
1491
|
+
"related_attack_patterns_capec": [
|
|
1492
|
+
"CAPEC-664"
|
|
1493
|
+
],
|
|
1494
|
+
"skills_referencing": [
|
|
1495
|
+
"rag-pipeline-security",
|
|
1496
|
+
"ai-attack-surface"
|
|
1497
|
+
],
|
|
1216
1498
|
"evidence_cves": [],
|
|
1217
|
-
"framework_controls_partially_addressing": [
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1499
|
+
"framework_controls_partially_addressing": [
|
|
1500
|
+
"NIST-800-53-SC-7",
|
|
1501
|
+
"ISO-27001-2022-A.8.22"
|
|
1502
|
+
],
|
|
1503
|
+
"real_requirement": "Egress allowlist enforced at the network layer; IMDSv2 with hop-limit=1; for RAG/agent URL fetchers, allowlist of fetchable domains and explicit rejection of RFC 1918 / link-local / metadata IPs after DNS resolution (resolve-then-check, not check-then-resolve).",
|
|
1504
|
+
"lag_notes": "SC-7 boundary protection assumes the application is the trust boundary; SSRF makes the application the attacker's proxy across the boundary. Cloud IMDS abuse remains a top SSRF outcome.",
|
|
1505
|
+
"last_verified": "2026-05-11"
|
|
1221
1506
|
},
|
|
1222
|
-
"CWE-
|
|
1223
|
-
"id": "CWE-
|
|
1224
|
-
"name": "
|
|
1507
|
+
"CWE-1037": {
|
|
1508
|
+
"id": "CWE-1037",
|
|
1509
|
+
"name": "Processor Optimization Removal or Modification of Security-critical Code",
|
|
1225
1510
|
"abstraction": "Base",
|
|
1226
|
-
"category": "
|
|
1227
|
-
"description": "The
|
|
1228
|
-
"top_25_rank_2024": null,
|
|
1229
|
-
"top_25_rank_2025": null,
|
|
1230
|
-
"view_memberships": ["CWE-1000"],
|
|
1231
|
-
"related_attack_patterns_capec": ["CAPEC-38", "CAPEC-471"],
|
|
1232
|
-
"skills_referencing": ["kernel-lpe-triage", "hardening"],
|
|
1233
|
-
"evidence_cves": [],
|
|
1234
|
-
"framework_controls_partially_addressing": ["NIST-800-53-AC-6", "ISO-27001-2022-A.8.20"],
|
|
1235
|
-
"real_requirement": "Setuid binaries use absolute paths exclusively; secure_getenv() for PATH-derived lookups in libc-linked privileged binaries; Windows: SetDllDirectoryW with empty string; LSan-style search-path audit in CI.",
|
|
1236
|
-
"lag_notes": "AC-6 least privilege is the conceptual control; runtime evidence that no privileged binary reaches a writable-by-attacker location during search is rarely audited.",
|
|
1237
|
-
"last_verified": "2026-05-13"
|
|
1238
|
-
},
|
|
1239
|
-
"CWE-522": {
|
|
1240
|
-
"id": "CWE-522",
|
|
1241
|
-
"name": "Insufficiently Protected Credentials",
|
|
1242
|
-
"abstraction": "Class",
|
|
1243
|
-
"category": "Credentials Management",
|
|
1244
|
-
"description": "The product stores or transmits authentication credentials but uses insufficient protection — weak hashing, no encryption in transit, plaintext in logs, recoverable via password-reset enumeration. Pillar for several credential-handling weaknesses.",
|
|
1511
|
+
"category": "Hardware / Side Channel",
|
|
1512
|
+
"description": "The developer builds a security-critical protection mechanism into the software, but the processor optimizes the execution of the program such that the mechanism is removed or modified. Canonical class for Spectre/Meltdown-family speculative-execution side channels.",
|
|
1245
1513
|
"top_25_rank_2024": null,
|
|
1246
1514
|
"top_25_rank_2025": null,
|
|
1247
|
-
"view_memberships": [
|
|
1248
|
-
|
|
1249
|
-
|
|
1515
|
+
"view_memberships": [
|
|
1516
|
+
"CWE-1000"
|
|
1517
|
+
],
|
|
1518
|
+
"related_attack_patterns_capec": [],
|
|
1519
|
+
"skills_referencing": [
|
|
1520
|
+
"pqc-first"
|
|
1521
|
+
],
|
|
1250
1522
|
"evidence_cves": [],
|
|
1251
|
-
"framework_controls_partially_addressing": [
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1523
|
+
"framework_controls_partially_addressing": [
|
|
1524
|
+
"NIST-800-53-SI-16",
|
|
1525
|
+
"ISO-27001-2022-A.8.28"
|
|
1526
|
+
],
|
|
1527
|
+
"real_requirement": "Retpoline / IBRS / hardware mitigations enabled; constant-time cryptographic implementations verified post-compile; site-isolation in browsers; speculative-execution-aware compiler hardening for cryptographic code paths.",
|
|
1528
|
+
"lag_notes": "Microarchitectural side channels are not addressed by any framework control. SI-16 (memory protection) is satisfied by software-level NX/ASLR and does not contemplate the CPU as the attacker.",
|
|
1529
|
+
"last_verified": "2026-05-11"
|
|
1255
1530
|
},
|
|
1256
|
-
"CWE-
|
|
1257
|
-
"id": "CWE-
|
|
1258
|
-
"name": "
|
|
1259
|
-
"abstraction": "
|
|
1260
|
-
"category": "
|
|
1261
|
-
"description": "The product
|
|
1531
|
+
"CWE-1039": {
|
|
1532
|
+
"id": "CWE-1039",
|
|
1533
|
+
"name": "Automated Recognition Mechanism with Inadequate Detection or Handling of Adversarial Input Perturbations",
|
|
1534
|
+
"abstraction": "Base",
|
|
1535
|
+
"category": "AI/ML",
|
|
1536
|
+
"description": "The product uses an automated mechanism such as machine learning to recognize complex data inputs but it does not adequately detect or handle inputs that have been crafted to cause the mechanism to misclassify or otherwise produce an incorrect result.",
|
|
1262
1537
|
"top_25_rank_2024": null,
|
|
1263
1538
|
"top_25_rank_2025": null,
|
|
1264
|
-
"view_memberships": [
|
|
1265
|
-
|
|
1266
|
-
|
|
1539
|
+
"view_memberships": [
|
|
1540
|
+
"CWE-1000",
|
|
1541
|
+
"CWE-1425"
|
|
1542
|
+
],
|
|
1543
|
+
"related_attack_patterns_capec": [],
|
|
1544
|
+
"skills_referencing": [
|
|
1545
|
+
"ai-attack-surface"
|
|
1546
|
+
],
|
|
1267
1547
|
"evidence_cves": [],
|
|
1268
|
-
"framework_controls_partially_addressing": [
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1548
|
+
"framework_controls_partially_addressing": [
|
|
1549
|
+
"NIST-AI-RMF-MEASURE-2.5",
|
|
1550
|
+
"NIST-AI-RMF-MEASURE-2.7"
|
|
1551
|
+
],
|
|
1552
|
+
"real_requirement": "Adversarial robustness testing in the model evaluation lifecycle (FGSM, PGD, transfer attacks); confidence calibration on out-of-distribution inputs; out-of-band human review for high-stakes classifications (biometric auth, fraud).",
|
|
1553
|
+
"lag_notes": "Adversarial robustness testing is not required by any compliance framework. Maps to ATLAS AML.T0043 (Craft Adversarial Data), for which the framework_gap is true.",
|
|
1554
|
+
"last_verified": "2026-05-11"
|
|
1272
1555
|
},
|
|
1273
|
-
"CWE-
|
|
1274
|
-
"id": "CWE-
|
|
1275
|
-
"name": "
|
|
1276
|
-
"abstraction": "
|
|
1277
|
-
"category": "
|
|
1278
|
-
"description": "The product
|
|
1556
|
+
"CWE-1188": {
|
|
1557
|
+
"id": "CWE-1188",
|
|
1558
|
+
"name": "Initialization of a Resource with an Insecure Default",
|
|
1559
|
+
"abstraction": "Base",
|
|
1560
|
+
"category": "Configuration",
|
|
1561
|
+
"description": "The product initializes or sets a resource with a default that is intended to be changed by the administrator, but the default is not secure.",
|
|
1279
1562
|
"top_25_rank_2024": null,
|
|
1280
1563
|
"top_25_rank_2025": null,
|
|
1281
|
-
"view_memberships": [
|
|
1282
|
-
|
|
1283
|
-
|
|
1564
|
+
"view_memberships": [
|
|
1565
|
+
"CWE-1000"
|
|
1566
|
+
],
|
|
1567
|
+
"related_attack_patterns_capec": [],
|
|
1568
|
+
"skills_referencing": [
|
|
1569
|
+
"mcp-agent-trust",
|
|
1570
|
+
"security-maturity-tiers"
|
|
1571
|
+
],
|
|
1284
1572
|
"evidence_cves": [],
|
|
1285
|
-
"framework_controls_partially_addressing": [
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1573
|
+
"framework_controls_partially_addressing": [
|
|
1574
|
+
"NIST-800-53-CM-6",
|
|
1575
|
+
"ISO-27001-2022-A.8.9"
|
|
1576
|
+
],
|
|
1577
|
+
"real_requirement": "Secure-by-default configurations shipped; insecure modes require explicit opt-in with a documented risk acknowledgment; for MCP servers, default to no-network, no-fs, requiring explicit capability grants.",
|
|
1578
|
+
"lag_notes": "CM-6 baseline configuration is set per-deployment; CWE-1188 is about the shipped default. Frameworks rarely audit product defaults — they audit organizational deployment.",
|
|
1579
|
+
"last_verified": "2026-05-11"
|
|
1289
1580
|
},
|
|
1290
|
-
"CWE-
|
|
1291
|
-
"id": "CWE-
|
|
1292
|
-
"name": "
|
|
1293
|
-
"abstraction": "
|
|
1294
|
-
"category": "
|
|
1295
|
-
"description": "The product
|
|
1581
|
+
"CWE-1357": {
|
|
1582
|
+
"id": "CWE-1357",
|
|
1583
|
+
"name": "Reliance on Insufficiently Trustworthy Component",
|
|
1584
|
+
"abstraction": "Class",
|
|
1585
|
+
"category": "Supply Chain",
|
|
1586
|
+
"description": "The product is built from multiple separate components, but it uses a component that is not sufficiently trusted to meet expectations for security, reliability, updateability, and maintainability.",
|
|
1296
1587
|
"top_25_rank_2024": null,
|
|
1297
1588
|
"top_25_rank_2025": null,
|
|
1298
|
-
"view_memberships": [
|
|
1299
|
-
|
|
1300
|
-
|
|
1589
|
+
"view_memberships": [
|
|
1590
|
+
"CWE-1000"
|
|
1591
|
+
],
|
|
1592
|
+
"related_attack_patterns_capec": [],
|
|
1593
|
+
"skills_referencing": [
|
|
1594
|
+
"mcp-agent-trust"
|
|
1595
|
+
],
|
|
1301
1596
|
"evidence_cves": [],
|
|
1302
|
-
"framework_controls_partially_addressing": [
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1597
|
+
"framework_controls_partially_addressing": [
|
|
1598
|
+
"NIST-800-53-SA-12",
|
|
1599
|
+
"ISO-27001-2022-A.5.21",
|
|
1600
|
+
"ISO-27001-2022-A.8.30"
|
|
1601
|
+
],
|
|
1602
|
+
"real_requirement": "Tiered trust assessment for components based on blast radius (kernel module vs. CLI lint plugin); periodic re-evaluation of trust as a function of maintainer responsiveness, signing-key hygiene, and CVE history; SBOM-tracked component criticality scoring.",
|
|
1603
|
+
"lag_notes": "SA-12 treats supplier trust as a procurement-time decision. CWE-1357 requires continuous re-evaluation as maintainer behavior changes (key compromise, sale of package, abandonment).",
|
|
1604
|
+
"last_verified": "2026-05-11"
|
|
1306
1605
|
},
|
|
1307
|
-
"CWE-
|
|
1308
|
-
"id": "CWE-
|
|
1309
|
-
"name": "
|
|
1606
|
+
"CWE-1395": {
|
|
1607
|
+
"id": "CWE-1395",
|
|
1608
|
+
"name": "Dependency on Vulnerable Third-Party Component",
|
|
1310
1609
|
"abstraction": "Class",
|
|
1311
1610
|
"category": "Supply Chain",
|
|
1312
|
-
"description": "The
|
|
1611
|
+
"description": "The product has a dependency on a third-party component that contains one or more known vulnerabilities.",
|
|
1313
1612
|
"top_25_rank_2024": null,
|
|
1314
1613
|
"top_25_rank_2025": null,
|
|
1315
|
-
"view_memberships": [
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
"
|
|
1320
|
-
"
|
|
1321
|
-
|
|
1322
|
-
|
|
1614
|
+
"view_memberships": [
|
|
1615
|
+
"CWE-1000",
|
|
1616
|
+
"CWE-1425"
|
|
1617
|
+
],
|
|
1618
|
+
"related_attack_patterns_capec": [],
|
|
1619
|
+
"skills_referencing": [
|
|
1620
|
+
"mcp-agent-trust",
|
|
1621
|
+
"ai-attack-surface"
|
|
1622
|
+
],
|
|
1623
|
+
"evidence_cves": [],
|
|
1624
|
+
"framework_controls_partially_addressing": [
|
|
1625
|
+
"NIST-800-53-SA-12",
|
|
1626
|
+
"NIST-800-53-SI-2",
|
|
1627
|
+
"ISO-27001-2022-A.8.8",
|
|
1628
|
+
"ISO-27001-2022-A.8.30"
|
|
1629
|
+
],
|
|
1630
|
+
"real_requirement": "SBOM plus continuous VEX-aware vulnerability matching; reachability analysis (is the vulnerable code path actually invoked?); for AI: HuggingFace, npm, PyPI model and plugin dependency CVE tracking with the same SLA as first-party code.",
|
|
1631
|
+
"lag_notes": "SI-2 patch SLAs apply to first-party software; for transitive dependencies (especially Python ML stack), patching depends on upstream maintainer response. Reachability gating is not required by any framework.",
|
|
1632
|
+
"last_verified": "2026-05-11"
|
|
1323
1633
|
},
|
|
1324
|
-
"CWE-
|
|
1325
|
-
"id": "CWE-
|
|
1326
|
-
"name": "Improper
|
|
1634
|
+
"CWE-1426": {
|
|
1635
|
+
"id": "CWE-1426",
|
|
1636
|
+
"name": "Improper Validation of Generative AI Output",
|
|
1327
1637
|
"abstraction": "Base",
|
|
1328
|
-
"category": "
|
|
1329
|
-
"description": "The product
|
|
1638
|
+
"category": "AI/ML",
|
|
1639
|
+
"description": "The product invokes a generative AI / large language model (LLM) and does not validate or insufficiently validates the outputs to ensure they align with the intended security, content, or privacy policy.",
|
|
1330
1640
|
"top_25_rank_2024": null,
|
|
1331
1641
|
"top_25_rank_2025": null,
|
|
1332
|
-
"view_memberships": [
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
"
|
|
1337
|
-
"
|
|
1338
|
-
|
|
1339
|
-
|
|
1642
|
+
"view_memberships": [
|
|
1643
|
+
"CWE-1000",
|
|
1644
|
+
"CWE-1425"
|
|
1645
|
+
],
|
|
1646
|
+
"related_attack_patterns_capec": [],
|
|
1647
|
+
"skills_referencing": [
|
|
1648
|
+
"ai-attack-surface",
|
|
1649
|
+
"rag-pipeline-security",
|
|
1650
|
+
"ai-c2-detection",
|
|
1651
|
+
"mcp-agent-trust"
|
|
1652
|
+
],
|
|
1653
|
+
"evidence_cves": [],
|
|
1654
|
+
"framework_controls_partially_addressing": [
|
|
1655
|
+
"NIST-AI-RMF-MEASURE-2.5",
|
|
1656
|
+
"NIST-AI-RMF-MEASURE-2.7",
|
|
1657
|
+
"ISO-27001-2022-A.8.28"
|
|
1658
|
+
],
|
|
1659
|
+
"real_requirement": "Output validation pipelines that match the action class of the output: tool-call outputs require argv allowlist plus capability scoping; code outputs require sandbox execution plus static analysis; natural-language outputs to users require PII and secret redaction. For high-impact actions, human-in-the-loop confirmation. Validation must be on the output channel, not (only) on the input.",
|
|
1660
|
+
"lag_notes": "NIST AI RMF MEASURE 2.5 (validity and reliability) treats AI output quality as a model-evaluation problem (accuracy metrics). It does not treat malicious output (jailbroken code, exfiltration, harmful content) as a CWE class requiring output-side controls.",
|
|
1661
|
+
"last_verified": "2026-05-11"
|
|
1340
1662
|
}
|
|
1341
1663
|
}
|