@blamejs/exceptd-skills 0.9.1

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.
Files changed (136) hide show
  1. package/AGENTS.md +232 -0
  2. package/ARCHITECTURE.md +267 -0
  3. package/CHANGELOG.md +616 -0
  4. package/CONTEXT.md +203 -0
  5. package/LICENSE +200 -0
  6. package/NOTICE +82 -0
  7. package/README.md +307 -0
  8. package/SECURITY.md +73 -0
  9. package/agents/README.md +81 -0
  10. package/agents/report-generator.md +156 -0
  11. package/agents/skill-updater.md +102 -0
  12. package/agents/source-validator.md +119 -0
  13. package/agents/threat-researcher.md +149 -0
  14. package/bin/exceptd.js +183 -0
  15. package/data/_indexes/_meta.json +88 -0
  16. package/data/_indexes/activity-feed.json +362 -0
  17. package/data/_indexes/catalog-summaries.json +229 -0
  18. package/data/_indexes/chains.json +7135 -0
  19. package/data/_indexes/currency.json +359 -0
  20. package/data/_indexes/did-ladders.json +451 -0
  21. package/data/_indexes/frequency.json +2072 -0
  22. package/data/_indexes/handoff-dag.json +476 -0
  23. package/data/_indexes/jurisdiction-clocks.json +967 -0
  24. package/data/_indexes/jurisdiction-map.json +536 -0
  25. package/data/_indexes/recipes.json +319 -0
  26. package/data/_indexes/section-offsets.json +3656 -0
  27. package/data/_indexes/stale-content.json +14 -0
  28. package/data/_indexes/summary-cards.json +1736 -0
  29. package/data/_indexes/theater-fingerprints.json +381 -0
  30. package/data/_indexes/token-budget.json +2137 -0
  31. package/data/_indexes/trigger-table.json +1374 -0
  32. package/data/_indexes/xref.json +818 -0
  33. package/data/atlas-ttps.json +282 -0
  34. package/data/cve-catalog.json +496 -0
  35. package/data/cwe-catalog.json +1017 -0
  36. package/data/d3fend-catalog.json +738 -0
  37. package/data/dlp-controls.json +1039 -0
  38. package/data/exploit-availability.json +67 -0
  39. package/data/framework-control-gaps.json +1255 -0
  40. package/data/global-frameworks.json +2913 -0
  41. package/data/rfc-references.json +324 -0
  42. package/data/zeroday-lessons.json +377 -0
  43. package/keys/public.pem +3 -0
  44. package/lib/framework-gap.js +328 -0
  45. package/lib/job-queue.js +195 -0
  46. package/lib/lint-skills.js +536 -0
  47. package/lib/prefetch.js +372 -0
  48. package/lib/refresh-external.js +713 -0
  49. package/lib/schemas/cve-catalog.schema.json +151 -0
  50. package/lib/schemas/manifest.schema.json +106 -0
  51. package/lib/schemas/skill-frontmatter.schema.json +113 -0
  52. package/lib/scoring.js +149 -0
  53. package/lib/sign.js +197 -0
  54. package/lib/ttp-mapper.js +80 -0
  55. package/lib/validate-catalog-meta.js +198 -0
  56. package/lib/validate-cve-catalog.js +213 -0
  57. package/lib/validate-indexes.js +83 -0
  58. package/lib/validate-package.js +162 -0
  59. package/lib/validate-vendor.js +85 -0
  60. package/lib/verify.js +216 -0
  61. package/lib/worker-pool.js +84 -0
  62. package/manifest-snapshot.json +1833 -0
  63. package/manifest.json +2108 -0
  64. package/orchestrator/README.md +124 -0
  65. package/orchestrator/dispatcher.js +140 -0
  66. package/orchestrator/event-bus.js +146 -0
  67. package/orchestrator/index.js +874 -0
  68. package/orchestrator/pipeline.js +201 -0
  69. package/orchestrator/scanner.js +327 -0
  70. package/orchestrator/scheduler.js +137 -0
  71. package/package.json +113 -0
  72. package/sbom.cdx.json +158 -0
  73. package/scripts/audit-cross-skill.js +261 -0
  74. package/scripts/audit-perf.js +160 -0
  75. package/scripts/bootstrap.js +205 -0
  76. package/scripts/build-indexes.js +721 -0
  77. package/scripts/builders/activity-feed.js +79 -0
  78. package/scripts/builders/catalog-summaries.js +67 -0
  79. package/scripts/builders/currency.js +109 -0
  80. package/scripts/builders/cwe-chains.js +105 -0
  81. package/scripts/builders/did-ladders.js +149 -0
  82. package/scripts/builders/frequency.js +89 -0
  83. package/scripts/builders/jurisdiction-clocks.js +126 -0
  84. package/scripts/builders/recipes.js +159 -0
  85. package/scripts/builders/section-offsets.js +162 -0
  86. package/scripts/builders/stale-content.js +171 -0
  87. package/scripts/builders/summary-cards.js +166 -0
  88. package/scripts/builders/theater-fingerprints.js +198 -0
  89. package/scripts/builders/token-budget.js +96 -0
  90. package/scripts/check-manifest-snapshot.js +217 -0
  91. package/scripts/predeploy.js +267 -0
  92. package/scripts/refresh-manifest-snapshot.js +57 -0
  93. package/scripts/refresh-sbom.js +222 -0
  94. package/skills/age-gates-child-safety/skill.md +456 -0
  95. package/skills/ai-attack-surface/skill.md +282 -0
  96. package/skills/ai-c2-detection/skill.md +440 -0
  97. package/skills/ai-risk-management/skill.md +311 -0
  98. package/skills/api-security/skill.md +287 -0
  99. package/skills/attack-surface-pentest/skill.md +381 -0
  100. package/skills/cloud-security/skill.md +384 -0
  101. package/skills/compliance-theater/skill.md +365 -0
  102. package/skills/container-runtime-security/skill.md +379 -0
  103. package/skills/coordinated-vuln-disclosure/skill.md +473 -0
  104. package/skills/defensive-countermeasure-mapping/skill.md +300 -0
  105. package/skills/dlp-gap-analysis/skill.md +337 -0
  106. package/skills/email-security-anti-phishing/skill.md +206 -0
  107. package/skills/exploit-scoring/skill.md +331 -0
  108. package/skills/framework-gap-analysis/skill.md +374 -0
  109. package/skills/fuzz-testing-strategy/skill.md +313 -0
  110. package/skills/global-grc/skill.md +564 -0
  111. package/skills/identity-assurance/skill.md +272 -0
  112. package/skills/incident-response-playbook/skill.md +546 -0
  113. package/skills/kernel-lpe-triage/skill.md +303 -0
  114. package/skills/mcp-agent-trust/skill.md +326 -0
  115. package/skills/mlops-security/skill.md +325 -0
  116. package/skills/ot-ics-security/skill.md +340 -0
  117. package/skills/policy-exception-gen/skill.md +437 -0
  118. package/skills/pqc-first/skill.md +546 -0
  119. package/skills/rag-pipeline-security/skill.md +294 -0
  120. package/skills/researcher/skill.md +310 -0
  121. package/skills/sector-energy/skill.md +409 -0
  122. package/skills/sector-federal-government/skill.md +302 -0
  123. package/skills/sector-financial/skill.md +398 -0
  124. package/skills/sector-healthcare/skill.md +373 -0
  125. package/skills/security-maturity-tiers/skill.md +464 -0
  126. package/skills/skill-update-loop/skill.md +463 -0
  127. package/skills/supply-chain-integrity/skill.md +318 -0
  128. package/skills/threat-model-currency/skill.md +404 -0
  129. package/skills/threat-modeling-methodology/skill.md +312 -0
  130. package/skills/webapp-security/skill.md +281 -0
  131. package/skills/zeroday-gap-learn/skill.md +350 -0
  132. package/vendor/blamejs/LICENSE +201 -0
  133. package/vendor/blamejs/README.md +54 -0
  134. package/vendor/blamejs/_PROVENANCE.json +54 -0
  135. package/vendor/blamejs/retry.js +335 -0
  136. package/vendor/blamejs/worker-pool.js +418 -0
@@ -0,0 +1,282 @@
1
+ ---
2
+ name: ai-attack-surface
3
+ version: "1.0.0"
4
+ description: Comprehensive AI/ML attack surface assessment mapped to MITRE ATLAS v5.1.0 with explicit framework gap flags
5
+ triggers:
6
+ - ai attack surface
7
+ - prompt injection
8
+ - llm security
9
+ - ai security assessment
10
+ - model security
11
+ - ai threat model
12
+ - ai red team
13
+ - promptsteal
14
+ - promptflux
15
+ data_deps:
16
+ - cve-catalog.json
17
+ - atlas-ttps.json
18
+ - framework-control-gaps.json
19
+ atlas_refs:
20
+ - AML.T0043
21
+ - AML.T0051
22
+ - AML.T0054
23
+ - AML.T0020
24
+ - AML.T0096
25
+ - AML.T0016
26
+ - AML.T0017
27
+ - AML.T0018
28
+ attack_refs:
29
+ - T1566
30
+ - T1059
31
+ - T1190
32
+ framework_gaps:
33
+ - ALL-AI-PIPELINE-INTEGRITY
34
+ - ALL-PROMPT-INJECTION-ACCESS-CONTROL
35
+ - ISO-27001-2022-A.8.28
36
+ - ISO-IEC-23894-2023-clause-7
37
+ - NIST-800-53-AC-2
38
+ - NIST-800-53-SI-3
39
+ - OWASP-LLM-Top-10-2025-LLM01
40
+ - OWASP-LLM-Top-10-2025-LLM02
41
+ - SOC2-CC6-logical-access
42
+ cwe_refs:
43
+ - CWE-1039
44
+ - CWE-1426
45
+ - CWE-94
46
+ d3fend_refs:
47
+ - D3-IOPR
48
+ - D3-NTA
49
+ last_threat_review: "2026-05-01"
50
+ ---
51
+
52
+ # AI Attack Surface Assessment
53
+
54
+ ## Threat Context (mid-2026)
55
+
56
+ The AI attack surface is not speculative. It is actively exploited. The following are confirmed, documented threats as of mid-2026.
57
+
58
+ ### 1. Prompt Injection as Enterprise RCE
59
+
60
+ **CVE-2025-53773** — Hidden prompt injection in GitHub Copilot PR descriptions enabling RCE. CVSS 9.6. The attack embeds adversarial instructions in GitHub PR descriptions. When a developer uses GitHub Copilot to review or summarize the PR, the injected instructions execute in the context of the developer's session, enabling remote code execution.
61
+
62
+ This is not a chatbot trick. This is enterprise RCE via a developer tool used by hundreds of millions of developers. The attack surface is any system that:
63
+ - Feeds external content (user input, web content, documents, PR descriptions, emails, calendar events) into an LLM prompt
64
+ - Where that LLM has tools, actions, or code execution capability
65
+
66
+ **Attack success rates against SOTA defenses:** A 2026 meta-analysis of 78 studies found adaptive prompt injection strategies succeed against state-of-the-art defenses at rates exceeding 85%. No current framework has adequate controls for this.
67
+
68
+ **ATLAS ref:** AML.T0054 (Craft Adversarial Data — NLP)
69
+
70
+ ### 2. MCP Supply Chain — Architectural RCE
71
+
72
+ The Model Context Protocol (MCP) introduced an architectural vulnerability affecting every major AI coding assistant: Cursor, VS Code + GitHub Copilot, Windsurf, Claude Code, Gemini CLI.
73
+
74
+ **CVE-2026-30615** — Windsurf. Zero user interaction required. The vulnerability allows a malicious MCP server (or a compromised legitimate MCP server) to execute arbitrary code in the context of the AI assistant. 150M+ affected downloads.
75
+
76
+ This is a supply chain attack surface. Every MCP server a user installs is a potential RCE vector. Trust boundaries that exist for npm packages do not exist for MCP servers because most MCP clients do not enforce signed manifests or tool allowlists.
77
+
78
+ **ATLAS ref:** AML.T0010 (ML Supply Chain Compromise)
79
+
80
+ ### 3. AI-Assisted Exploit Development
81
+
82
+ 41% of 2025 zero-days were discovered by attackers using AI-assisted reverse engineering. Copy Fail (CVE-2026-31431) was discovered by an AI system in approximately one hour.
83
+
84
+ The implication: the time between a vulnerability's introduction into a codebase and its reliable exploitation has compressed from months or years to hours or days for AI-capable threat actors. Patch management SLAs designed for human-speed exploit development are structurally inadequate.
85
+
86
+ **ATLAS ref:** AML.T0017 (Develop Capabilities)
87
+
88
+ ### 4. AI Credential Phishing Acceleration
89
+
90
+ Credential theft driven by AI increased 160% in 2025. 82.6% of phishing emails now contain AI-generated content undetectable by grammar/style checks. Traditional phishing detection heuristics (poor grammar, unusual phrasing, template patterns) are no longer reliable detectors.
91
+
92
+ **ATLAS ref:** AML.T0018 (Acquire Public ML Artifacts — misuse of generation capability)
93
+
94
+ ### 5. AI as Covert C2 — SesameOp
95
+
96
+ Adversaries are repurposing legitimate AI agent APIs as covert command-and-control channels (ATLAS AML.T0096). The SesameOp campaign demonstrated this technique:
97
+ - C2 commands encoded in prompt fields
98
+ - Exfiltrated data returned in completion fields
99
+ - Traffic pattern is indistinguishable from legitimate AI API usage
100
+ - Evades all traditional C2 detection (DGA, beaconing, protocol anomalies)
101
+
102
+ ### 6. PROMPTFLUX and PROMPTSTEAL Malware Families
103
+
104
+ Two malware families actively query LLMs during execution:
105
+ - **PROMPTFLUX**: Queries public LLMs for evasion guidance in real time — "generate code equivalent to [flagged signature] that doesn't match this detection pattern"
106
+ - **PROMPTSTEAL**: Uses LLMs to analyze captured credentials and PII, structure exfiltration, and select targets — treats the LLM as a live intelligence analyst
107
+
108
+ Traditional AV and EDR detection cannot match this because the malicious behavior is dynamically generated per-execution.
109
+
110
+ ### 7. RAG Data Exfiltration
111
+
112
+ Attackers manipulating vector embeddings to force retrieval mechanisms to surface and leak proprietary data chunks. Covered separately in rag-pipeline-security skill.
113
+
114
+ ### 8. Model Poisoning
115
+
116
+ Training pipeline targeting has moved beyond data injection to directly biasing model behavior. Supply chain logistics and classification systems that use ML models for decisions are at risk of subtle model poisoning that influences decisions in the attacker's favor over time.
117
+
118
+ **ATLAS ref:** AML.T0020 (Poison Training Data)
119
+
120
+ ### 9. AI-Speed Reconnaissance
121
+
122
+ AI-assisted reconnaissance is observed at 36,000 probes per second per campaign. Traditional rate-based detection (100–1,000 req/s threshold alerts) does not fire at legitimate-looking distributed AI-directed probe rates until significant reconnaissance has already occurred.
123
+
124
+ ---
125
+
126
+ ## Framework Lag Declaration
127
+
128
+ | Framework | Control | Why It Fails for AI Threats |
129
+ |---|---|---|
130
+ | NIST 800-53 | AC-2 (Account Management) | Controls account lifecycle for human users and service accounts. Does not address LLM agent identity, tool authorization, or prompt injection as an access control bypass. An attacker who injects a prompt that causes a model to call `delete_file()` bypasses AC-2 entirely — the API call is authorized by the model's service account, not the attacker's. |
131
+ | NIST 800-53 | SI-3 (Malicious Code Protection) | Designed for signature-based malware detection. PROMPTFLUX generates unique evasion code per execution by querying an LLM. SI-3 has no control surface for AI-generated dynamic malware. |
132
+ | NIST 800-53 | SI-10 (Information Input Validation) | Input validation for web forms and API endpoints. Does not address prompt injection, where the "input" is semantically legitimate text that contains adversarial instructions for the model. |
133
+ | ISO 27001:2022 | A.8.28 (Secure coding) | Secure coding practices for software development. No reference to AI/ML system security, prompt injection, or model integrity. |
134
+ | ISO 27001:2022 | A.8.30 (Outsourced development) | Third-party development controls. Does not address MCP server trust, unsigned manifests, or supply chain attacks on AI tool ecosystems. |
135
+ | SOC 2 | CC6 (Logical and Physical Access) | Access control via IAM, authentication, authorization. Prompt injection is an access control failure that routes around CC6 entirely — the authorized model account takes the action, not the attacker. Audit trails show the model's service account performed the action. |
136
+ | SOC 2 | CC7 (System Operations) | Anomaly detection for system operations. No guidance for AI API baseline, AI C2 detection, or PROMPTFLUX behavioral patterns. |
137
+ | PCI DSS 4.0 | 6.4.1 | Web application protection (WAF). WAFs operate on HTTP request/response patterns. They have no semantic understanding of prompt injection embedded in JSON `message` fields. |
138
+ | MITRE ATT&CK | Enterprise | Does not include prompt injection as a technique. AI-as-C2 (SesameOp) is not in ATT&CK as of mid-2026. ATLAS v5.1.0 covers these but is not part of SOC detection engineering programs that are ATT&CK-mapped. |
139
+ | NIST AI RMF | MEASURE 2.5 | Measure AI risks during operation. Provides a framework for thinking about AI risk but no specific controls for prompt injection, MCP supply chain, or AI-as-C2. |
140
+
141
+ ---
142
+
143
+ ## TTP Mapping (MITRE ATLAS v5.1.0)
144
+
145
+ | ATLAS ID | Technique | Framework Coverage | Gap Description | Exploitation Example |
146
+ |---|---|---|---|---|
147
+ | AML.T0054 | Craft Adversarial Data — NLP | Missing in all major frameworks | No control covers adversarial text injection into LLM prompts | CVE-2025-53773 (GitHub Copilot RCE) |
148
+ | AML.T0010 | ML Supply Chain Compromise | Partial (ISO A.8.30) | A.8.30 covers outsourced development; does not cover MCP server trust, package signing for AI tools | CVE-2026-30615 (Windsurf MCP) |
149
+ | AML.T0096 | LLM Integration Abuse (C2) | Missing in all major frameworks | No framework has a control for AI API traffic as C2 channel | SesameOp campaign |
150
+ | AML.T0020 | Poison Training Data | Partial (NIST AI RMF) | NIST AI RMF identifies the risk; no specific technical control | Supply chain logistics model poisoning |
151
+ | AML.T0043 | Craft Adversarial Data | Partial (SI-10) | SI-10 covers web input validation; not semantic injection in LLM prompts | RAG vector manipulation |
152
+ | AML.T0051 | LLM Prompt Injection | Missing in all major frameworks | Zero controls in NIST, ISO, SOC 2, PCI for prompt injection | CVE-2025-53773, indirect injection via retrieved docs |
153
+ | AML.T0017 | Develop Capabilities | Partial (awareness only) | No framework requires monitoring for AI-assisted exploit development against the org | Copy Fail AI discovery, 41% of 2025 0-days |
154
+ | AML.T0016 | Acquire Public ML Artifacts | Missing (misuse dimension) | Frameworks don't address adversary use of public AI APIs for reconnaissance/attack | PROMPTFLUX, PROMPTSTEAL, phishing generation |
155
+ | AML.T0018 | Backdoor ML Model | Partial (NIST AI RMF) | No technical control requirements for model integrity verification | Training pipeline poisoning |
156
+
157
+ ---
158
+
159
+ ## Exploit Availability Matrix
160
+
161
+ | Vulnerability | CVSS | RWEP | KEV | PoC | AI-Accelerated | Active Exploitation |
162
+ |---|---|---|---|---|---|---|
163
+ | CVE-2025-53773 (Copilot prompt injection RCE) | 9.6 | 91 | No | Yes — demonstrated | Yes (AI tooling enables) | Suspected |
164
+ | CVE-2026-30615 (Windsurf MCP RCE) | 9.8 | 94 | No | Partial | No | Suspected |
165
+ | SesameOp (AI C2 technique) | N/A | N/A | N/A | Yes (ATLAS documented) | Yes | Confirmed campaign |
166
+ | PROMPTFLUX family | N/A | N/A | N/A | Behavioral signatures | Yes | Active |
167
+ | PROMPTSTEAL family | N/A | N/A | N/A | Behavioral signatures | Yes | Active |
168
+
169
+ ---
170
+
171
+ ## Analysis Procedure
172
+
173
+ ### Step 1: Inventory the AI surface
174
+
175
+ For the target environment, identify:
176
+ - Which LLM APIs are in use? (OpenAI, Anthropic, Google, Azure OpenAI, local models)
177
+ - Which AI coding assistants are deployed? (GitHub Copilot, Cursor, Windsurf, Claude Code, Gemini CLI)
178
+ - Which MCP servers are installed? (list via IDE settings or `~/.cursor/mcp.json`, `~/.vscode/mcp.json`)
179
+ - Does any application take user input and include it in an LLM prompt without semantic sanitization?
180
+ - Does any application use RAG? (vector store + retrieval)
181
+ - Are any AI model APIs accessible from the internet?
182
+ - What service accounts do AI agents run under? What permissions do those accounts have?
183
+
184
+ ### Step 2: Assess prompt injection exposure
185
+
186
+ For each system that feeds external content into LLM prompts:
187
+
188
+ **Injection surface score:**
189
+ - External content in prompts (user input, documents, emails, web content, PR descriptions): +High
190
+ - LLM has tool use / function calling capability: +Critical multiplier
191
+ - LLM can take actions on behalf of users (file ops, API calls, code execution): +Critical multiplier
192
+ - No semantic input sanitization: +High
193
+ - No output monitoring: +Medium
194
+ - Attack success rate against SOTA defenses: 85%+ (meta-analysis baseline)
195
+
196
+ **Current defense adequacy:**
197
+ - Prompt injection classifiers reduce success rate; do not eliminate it
198
+ - System prompt hardening reduces success rate; does not eliminate it
199
+ - No defense achieves <15% bypass rate against adaptive adversaries (2026 data)
200
+ - Defense-in-depth is the only viable strategy: minimize tool permissions + monitor outputs + rate-limit + log all prompts
201
+
202
+ ### Step 3: Assess MCP trust posture
203
+
204
+ For each installed MCP server:
205
+ - Is the server package signed? Verify manifest signature.
206
+ - Is there an explicit tool allowlist? (`allowed_tools` in MCP client config)
207
+ - Does the MCP server require authentication? (bearer token or equivalent)
208
+ - What permissions does the MCP server's process run with?
209
+ - Are MCP server outputs sanitized before returning to the model?
210
+
211
+ **MCP risk score:**
212
+ - Unsigned server + no allowlist + no auth: Critical
213
+ - Signed server + allowlist + bearer auth: Low-Medium
214
+ - Any MCP server with filesystem or shell access + unsigned: Critical
215
+
216
+ ### Step 4: Assess AI C2 exposure
217
+
218
+ Check for SesameOp-style C2 indicators:
219
+ - Are AI API calls logged with full prompt + response content?
220
+ - Is there a behavioral baseline for normal AI API usage per host/user/process?
221
+ - Do alert thresholds exist for unusual AI API call patterns?
222
+ - Are AI API calls correlated with other host activity (file access, lateral movement)?
223
+ - Is high-entropy content in prompt fields flagged?
224
+
225
+ ### Step 5: Assess credential/phishing risk
226
+
227
+ For organizations with AI-generated phishing threat:
228
+ - Have phishing detection systems been updated for AI-generated content? (grammar checks are inadequate)
229
+ - Are behavioral signals (link patterns, sender reputation, context anomalies) the primary detection mechanism?
230
+ - Is MFA resistant to phishing (hardware key or passkey)? SMS/TOTP are vulnerable to AI-generated real-time phishing.
231
+
232
+ ### Step 6: Generate framework gap report
233
+
234
+ For each identified risk, declare the framework gap:
235
+ - Which control nominally applies?
236
+ - Why it is insufficient for this specific AI attack pattern?
237
+ - What a real control would require?
238
+
239
+ ---
240
+
241
+ ## Output Format
242
+
243
+ ```
244
+ ## AI Attack Surface Assessment
245
+
246
+ **Assessment Date:** YYYY-MM-DD
247
+ **Scope:** [systems/applications assessed]
248
+
249
+ ### Surface Inventory
250
+ | Component | Type | External Input | Tool Use | Risk Level |
251
+ |-----------|------|---------------|----------|------------|
252
+ | [name] | [LLM app / MCP server / coding assistant] | [Yes/No] | [Yes/No] | [Critical/High/Medium/Low] |
253
+
254
+ ### Prompt Injection Exposure
255
+ [Per component: injection surface score, current defenses, estimated bypass rate, recommended controls]
256
+
257
+ ### MCP Trust Assessment
258
+ [Per installed MCP server: signed/unsigned, allowlist status, auth status, risk level]
259
+
260
+ ### AI C2 Indicators
261
+ [Logging coverage, baseline status, detection gaps]
262
+
263
+ ### Credential/Phishing Risk
264
+ [Detection system currency, MFA phishing resistance]
265
+
266
+ ### ATLAS TTP Coverage Gaps
267
+ [Per TTP: covered/partial/missing in deployed security tools]
268
+
269
+ ### Framework Gaps
270
+ [Per framework in scope: specific controls that fail for AI threats, with explanation]
271
+
272
+ ### Prioritized Recommendations
273
+ [Ordered by RWEP impact: specific, actionable, accounts for real deployment constraints]
274
+ ```
275
+
276
+ ---
277
+
278
+ ## Compliance Theater Check
279
+
280
+ > "Your security awareness training includes phishing detection. 82.6% of phishing emails now contain AI-generated content indistinguishable by grammar or style checks. Open your most recent phishing simulation report: what percentage of simulated phishes used AI-generated content? If zero, the simulation is testing resistance to 2021 phishing, not 2026 phishing. If your detection rule set has not been updated to reflect AI-generated content as the baseline, the control is theater for the threat it claims to address."
281
+
282
+ > "Your access control logs show no unauthorized access events involving your AI systems. Run this check: are your AI agent service account API calls logged with full request/response bodies? Are those logs monitored for behavioral anomalies? If AI API traffic is treated as trusted internal traffic with no behavioral monitoring, an attacker using AI-as-C2 (SesameOp technique) would not appear in your unauthorized access event log at all. Absence of evidence is not evidence of absence when the detection surface doesn't exist."