@blamejs/exceptd-skills 0.12.28 → 0.12.30

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.
@@ -14,7 +14,8 @@
14
14
  "stale_after_days": 180,
15
15
  "rebuild_after_days": 365,
16
16
  "note": "Per-entry last_verified governs decay. Skills depending on this catalog must check entry freshness before high-stakes use."
17
- }
17
+ },
18
+ "last_threat_review": "2026-05-15"
18
19
  },
19
20
  "ALL-AI-PIPELINE-INTEGRITY": {
20
21
  "framework": "ALL",
@@ -36,7 +37,17 @@
36
37
  "AML.T0018",
37
38
  "AML.T0020"
38
39
  ],
39
- "attack_refs": []
40
+ "attack_refs": [],
41
+ "theater_test": {
42
+ "claim": "We monitor our AI providers for security and treat model updates like any other vendor change.",
43
+ "test": "Pull the change-control register for the last 4 quarters; filter for entries where the affected asset is an externally hosted LLM, embedding model, or AI provider API. Count how many record (a) the model version pinned at the time, (b) a behavioural regression suite executed against the new version, and (c) the provider changelog reviewed with sign-off. Theater verdict if fewer than 90% of provider-side model updates produced an in-scope change-control entry, or if any sampled entry lacks a regression-suite artifact.",
44
+ "evidence_required": [
45
+ "change-control register CSV export filtered to AI/ML assets",
46
+ "behavioural regression test results bundle keyed to provider model versions",
47
+ "provider changelog review log with reviewer identity + timestamp"
48
+ ],
49
+ "verdict_when_failed": "compliance-theater"
50
+ }
40
51
  },
41
52
  "ALL-MCP-TOOL-TRUST": {
42
53
  "framework": "ALL",
@@ -60,7 +71,17 @@
60
71
  ],
61
72
  "attack_refs": [
62
73
  "T1195.001"
63
- ]
74
+ ],
75
+ "theater_test": {
76
+ "claim": "Developer tooling is governed; AI plugins are no different from any other dev dependency.",
77
+ "test": "Scan every developer endpoint and CI runner for installed MCP server manifests (.claude/, .cursor/, .vscode/, ~/.codeium/, etc.). For each discovered MCP server, attempt to verify a publisher signature, locate it in an organisational allowlist, and trace its tool-grant prompt history. Theater verdict if any endpoint has an MCP server that is unsigned, absent from the allowlist, or has tool grants that bypassed user prompting.",
78
+ "evidence_required": [
79
+ "endpoint-scan output enumerating MCP server manifests with hashes",
80
+ "organisational MCP allowlist (or evidence one does not exist)",
81
+ "tool-grant audit log for one randomly selected developer over 30 days"
82
+ ],
83
+ "verdict_when_failed": "compliance-theater"
84
+ }
64
85
  },
65
86
  "ALL-PROMPT-INJECTION-ACCESS-CONTROL": {
66
87
  "framework": "ALL",
@@ -84,7 +105,17 @@
84
105
  ],
85
106
  "attack_refs": [
86
107
  "T1059"
87
- ]
108
+ ],
109
+ "theater_test": {
110
+ "claim": "Our IAM controls cover all actions taken in our environment, including those by AI agents.",
111
+ "test": "Review the audit log for the past 30 days of any AI-agent service account. Sample 10 actions taken by the agent; for each, identify whether the action was the result of (a) an end-user request that the agent fulfilled within scope, or (b) content from a third-party data source (web page, document, RAG corpus) that influenced the action. Theater verdict if any sampled action originated from third-party content without per-action user re-authorization, or if the audit log does not preserve the prompt input chain for forensic reconstruction.",
112
+ "evidence_required": [
113
+ "AI agent service account audit log 30d",
114
+ "prompt input chain (system prompt + user prompt + tool results) for sampled actions",
115
+ "policy text defining prompt-level scope for each agent role"
116
+ ],
117
+ "verdict_when_failed": "compliance-theater"
118
+ }
88
119
  },
89
120
  "AU-Essential-8-App-Hardening": {
90
121
  "framework": "ASD Essential Eight (AU)",
@@ -110,7 +141,17 @@
110
141
  "attack_refs": [
111
142
  "T1059",
112
143
  "T1204"
113
- ]
144
+ ],
145
+ "theater_test": {
146
+ "claim": "We hardened user applications per Essential Eight Maturity Level 2; browsers and Office are locked down.",
147
+ "test": "Take the operator's hardened-application list. Confirm whether it enumerates AI coding assistants (Copilot, Cursor, Claude Code, Windsurf), MCP servers, and AI-tool config files (.claude/settings.json, .cursor/mcp.json, .vscode/settings.json:chat.tools.autoApprove) as in-scope. Pick a developer endpoint at random; verify those config files are integrity-monitored with the same alerting profile as security-sensitive files. Theater verdict if AI assistants are absent from the hardened-application list or if a config-file modification on the sampled endpoint would not generate an integrity alert.",
148
+ "evidence_required": [
149
+ "hardened-application policy document with version date",
150
+ "FIM/HIDS configuration showing watch list",
151
+ "test-induced modification on a non-production endpoint to confirm alert fires"
152
+ ],
153
+ "verdict_when_failed": "compliance-theater"
154
+ }
114
155
  },
115
156
  "AU-Essential-8-Backup": {
116
157
  "framework": "ASD Essential Eight (AU)",
@@ -133,7 +174,17 @@
133
174
  "AML.T0020",
134
175
  "AML.T0048"
135
176
  ],
136
- "attack_refs": []
177
+ "attack_refs": [],
178
+ "theater_test": {
179
+ "claim": "Daily backups with off-network retention satisfy Essential Eight Maturity Level 2 Strategy 8.",
180
+ "test": "From the latest backup catalogue, confirm presence of fine-tuned model weights, RAG corpora, and AI tool configuration files (.claude/settings.json, MCP server registry). Restore one RAG corpus to an isolated environment; per-document-hash compare to current production. Theater verdict if AI artefacts are absent from the catalogue, or if any document hash diverges from production without a documented authoring event explaining the divergence.",
181
+ "evidence_required": [
182
+ "backup catalogue manifest",
183
+ "test-restore log for one RAG corpus",
184
+ "per-document hash diff between restored and production corpus"
185
+ ],
186
+ "verdict_when_failed": "compliance-theater"
187
+ }
137
188
  },
138
189
  "AU-Essential-8-MFA": {
139
190
  "framework": "ASD Essential Eight (AU)",
@@ -155,7 +206,17 @@
155
206
  "attack_refs": [
156
207
  "T1078",
157
208
  "T1556"
158
- ]
209
+ ],
210
+ "theater_test": {
211
+ "claim": "MFA is enforced on all administrative identities per Essential Eight ML2 with phishing-resistant factors.",
212
+ "test": "Sample 10 admin identities; for each, confirm the registered authenticator class is FIDO2/WebAuthn-bound (not SMS, voice, or TOTP). Then enumerate AI-provider service credentials (OpenAI, Anthropic, HuggingFace API tokens) used by the same admin scope; check token age and rotation policy. Theater verdict if any sampled human admin uses SMS/voice, or if any AI-provider credential has no rotation policy or is older than 90 days.",
213
+ "evidence_required": [
214
+ "IdP authenticator export for sampled admins",
215
+ "AI-provider credential inventory with creation/rotation timestamps",
216
+ "documented credential rotation policy"
217
+ ],
218
+ "verdict_when_failed": "compliance-theater"
219
+ }
159
220
  },
160
221
  "AU-Essential-8-Patch": {
161
222
  "framework": "ASD Essential Eight (AU)",
@@ -178,7 +239,17 @@
178
239
  "atlas_refs": [],
179
240
  "attack_refs": [
180
241
  "T1068"
181
- ]
242
+ ],
243
+ "theater_test": {
244
+ "claim": "We patch operating systems within the Essential Eight ML3 48-hour window for critical exploits.",
245
+ "test": "Pull the last 5 CISA KEV listings affecting an OS in scope. For each, measure elapsed time from KEV listing date to deployed-on-fleet-percentage >=95%. For one host that cannot accept a reboot in the window, confirm a live-patching capability is provisioned and was used. Theater verdict if any sampled KEV listing exceeded 48h to 95% fleet coverage, or if any 'cannot reboot' host lacks a live-patching pathway.",
246
+ "evidence_required": [
247
+ "patch-deployment telemetry timestamped against KEV listing dates",
248
+ "live-patch agent inventory with last-applied-patch evidence",
249
+ "fleet coverage rollup per CVE"
250
+ ],
251
+ "verdict_when_failed": "compliance-theater"
252
+ }
182
253
  },
183
254
  "CIS-Controls-v8-Control7": {
184
255
  "framework": "CIS Controls v8",
@@ -200,7 +271,17 @@
200
271
  "atlas_refs": [],
201
272
  "attack_refs": [
202
273
  "T1068"
203
- ]
274
+ ],
275
+ "theater_test": {
276
+ "claim": "We meet CIS Control 7 IG3 by remediating critical vulnerabilities within one month.",
277
+ "test": "Pull the vulnerability register for the past 12 months. Filter for CVEs that appeared on CISA KEV with public PoC during the period. For each, measure (a) time from KEV listing to verified mitigation, and (b) whether the mitigation was a live patch, configuration change, or isolation. Theater verdict if any KEV+PoC entry exceeded 4h to verified mitigation or if 'monthly cadence' was applied to a KEV-listed CVE.",
278
+ "evidence_required": [
279
+ "vuln-management register CSV export with timestamped state transitions",
280
+ "KEV listing dates per CVE",
281
+ "mitigation evidence (patch deployment log, config change ticket, isolation network ACL)"
282
+ ],
283
+ "verdict_when_failed": "compliance-theater"
284
+ }
204
285
  },
205
286
  "CMMC-2.0-Level-2": {
206
287
  "framework": "CMMC 2.0 (Cybersecurity Maturity Model Certification) Level 2",
@@ -230,7 +311,17 @@
230
311
  "T1195.001",
231
312
  "T1071",
232
313
  "T1059"
233
- ]
314
+ ],
315
+ "theater_test": {
316
+ "claim": "We are CMMC Level 2 attested across all 110 NIST 800-171 controls; CUI is protected end-to-end.",
317
+ "test": "Walk the 3.4.1 (CM) asset inventory and check for AI assistants and MCP servers with CUI-adjacent access. Then inspect 3.13 system-and-communications protections to confirm AI-API egress is enumerated as a CUI exfiltration channel with monitoring. Theater verdict if AI assistants are absent from the asset inventory, or if AI-API egress at the CUI boundary has no monitoring rule, or if cross-walks to UK DEF STAN / AU DISP for joint programmes are missing.",
318
+ "evidence_required": [
319
+ "3.4.1 asset inventory export filtered to AI/ML and MCP entries",
320
+ "egress monitoring rule export for AI-API destinations",
321
+ "cross-walk document for joint programmes (if any)"
322
+ ],
323
+ "verdict_when_failed": "compliance-theater"
324
+ }
234
325
  },
235
326
  "CWE-Top-25-2024-meta": {
236
327
  "framework": "CWE Top 25 Most Dangerous Software Weaknesses (2024 list)",
@@ -256,7 +347,17 @@
256
347
  ],
257
348
  "attack_refs": [
258
349
  "T1059"
259
- ]
350
+ ],
351
+ "theater_test": {
352
+ "claim": "Our SAST/DAST coverage maps to the CWE Top 25; we test for the most dangerous weaknesses.",
353
+ "test": "Pull the SAST/DAST rule pack and enumerate which CWE IDs each rule targets. Confirm rules exist for AI-specific CWE classes (CWE-1039 model integrity, CWE-1395 dependency on vulnerable third-party component, prompt-injection class CWEs). Run the rule pack against a known-vulnerable test fixture containing prompt-injection patterns. Theater verdict if AI-relevant CWE IDs are absent from the rule pack, or if the fixture run produces zero findings on the planted prompt-injection.",
354
+ "evidence_required": [
355
+ "SAST/DAST rule-to-CWE mapping export",
356
+ "test fixture with planted prompt-injection patterns",
357
+ "scan report against the fixture"
358
+ ],
359
+ "verdict_when_failed": "compliance-theater"
360
+ }
260
361
  },
261
362
  "CycloneDX-v1.6-SBOM": {
262
363
  "framework": "CycloneDX v1.6 (OWASP SBOM standard)",
@@ -282,7 +383,17 @@
282
383
  ],
283
384
  "attack_refs": [
284
385
  "T1195.001"
285
- ]
386
+ ],
387
+ "theater_test": {
388
+ "claim": "We ship a CycloneDX 1.6 SBOM with every release; supply-chain transparency is satisfied.",
389
+ "test": "Pull the SBOM for the most recent release. Confirm presence of an `mlComponent` (or equivalent ML-BOM) section enumerating model + adapters + tokenizer. Check provenance fields (signature, supplier, training data source) for empty values. Confirm MCP servers in the build environment are reflected. Theater verdict if ML components are absent, or if more than 20% of components have an empty provenance field.",
390
+ "evidence_required": [
391
+ "latest CycloneDX 1.6 SBOM JSON",
392
+ "ML-BOM section specifically",
393
+ "MCP server manifest from build environment"
394
+ ],
395
+ "verdict_when_failed": "compliance-theater"
396
+ }
286
397
  },
287
398
  "DORA-Art28": {
288
399
  "framework": "EU DORA (Regulation 2022/2554)",
@@ -306,7 +417,17 @@
306
417
  ],
307
418
  "attack_refs": [
308
419
  "T1195.002"
309
- ]
420
+ ],
421
+ "theater_test": {
422
+ "claim": "Our DORA Art. 28 ICT third-party register covers all critical or important function dependencies.",
423
+ "test": "From the Art. 28 register, sample 5 third-party ICT services consumed in CIF (critical or important function) flows. For each, verify presence of build-provenance metadata (SLSA producer identifier, workflow file hash, cache key surface). Check for monthly producer-side cache verification evidence. Theater verdict if any sampled CIF dependency lacks build-provenance metadata, or if cache verification has not run in the last 90 days.",
424
+ "evidence_required": [
425
+ "Art. 28 register export with provenance fields",
426
+ "monthly cache-verification job logs",
427
+ "SLSA attestations from sampled producers"
428
+ ],
429
+ "verdict_when_failed": "compliance-theater"
430
+ }
310
431
  },
311
432
  "DORA-RTS-Subcontracting": {
312
433
  "framework": "EU DORA (Regulation 2022/2554) — RTS on subcontracting of ICT services supporting critical or important functions",
@@ -331,7 +452,17 @@
331
452
  "attack_refs": [
332
453
  "T1195.001",
333
454
  "T1195.002"
334
- ]
455
+ ],
456
+ "theater_test": {
457
+ "claim": "Our DORA RTS subcontracting register lists every sub-processor for ICT services supporting CIF.",
458
+ "test": "Pull the subcontracting register. Confirm enumeration of AI sub-processors per ICT service line: model providers, embedding providers, vector stores, RAG corpus hosts, MCP server providers. Compute foundation-model concentration (% of CIF flows that share a single foundation model). Theater verdict if AI sub-processors are absent from any service line that consumes AI, or if foundation-model concentration is undocumented.",
459
+ "evidence_required": [
460
+ "subcontracting register export with AI sub-processor entries",
461
+ "foundation-model concentration analysis report",
462
+ "exit-strategy evidence per critical AI sub-processor"
463
+ ],
464
+ "verdict_when_failed": "compliance-theater"
465
+ }
335
466
  },
336
467
  "DORA-ITS-TLPT": {
337
468
  "framework": "EU DORA (Regulation 2022/2554) — ITS on threat-led penetration testing under Art. 26",
@@ -359,7 +490,17 @@
359
490
  "attack_refs": [
360
491
  "T1195.001",
361
492
  "T1059"
362
- ]
493
+ ],
494
+ "theater_test": {
495
+ "claim": "Our most recent threat-led penetration test under DORA Art. 26 covered the full CIF estate.",
496
+ "test": "Pull the TLPT scoping template and final report. Confirm AI/MCP assets are enumerated in scope. Verify the threat-intel inputs cite ATLAS TTPs and AI-discovered CVE classes. Confirm the TLPT team includes documented AI/MCP competency. Inspect the report for at least one finding originating from an AI/MCP attack path. Theater verdict if the scoping template excludes AI/MCP assets despite their presence in CIF flows, or if the team lacks documented AI competency.",
497
+ "evidence_required": [
498
+ "TLPT scoping template",
499
+ "TLPT final report with AI/MCP findings section",
500
+ "TLPT team CVs covering AI/MCP red-team experience"
501
+ ],
502
+ "verdict_when_failed": "compliance-theater"
503
+ }
363
504
  },
364
505
  "DORA-RTS-Incident-Classification": {
365
506
  "framework": "EU DORA (Regulation 2022/2554) — RTS on classification of major ICT-related incidents under Art. 18(3)",
@@ -385,7 +526,17 @@
385
526
  ],
386
527
  "attack_refs": [
387
528
  "T1059"
388
- ]
529
+ ],
530
+ "theater_test": {
531
+ "claim": "Our incident-classification process implements the DORA RTS criteria for major ICT incidents.",
532
+ "test": "Pull the incident register for the last 12 months. For each major-classified incident, confirm presence of qualitative criteria evaluation. Then ask whether AI-incident classes (model invocations on injected intent, RAG corpus integrity loss, agent actions outside scope) would surface a major classification under the current criteria. Theater verdict if AI-class quantitative measures are absent, or if a synthetic AI-incident scenario evaluated against current criteria fails to trigger major classification when impact warrants it.",
533
+ "evidence_required": [
534
+ "incident register CSV with classification rationale per entry",
535
+ "RTS criteria mapping document",
536
+ "synthetic AI-incident classification dry-run record"
537
+ ],
538
+ "verdict_when_failed": "compliance-theater"
539
+ }
389
540
  },
390
541
  "DORA-IA-CTPP-Oversight": {
391
542
  "framework": "EU DORA (Regulation 2022/2554) — Implementing Acts for critical-third-party-provider (CTPP) oversight under Art. 31-44",
@@ -408,7 +559,17 @@
408
559
  ],
409
560
  "attack_refs": [
410
561
  "T1195.001"
411
- ]
562
+ ],
563
+ "theater_test": {
564
+ "claim": "We track designated critical third-party providers (CTPPs) per DORA Art. 31-44.",
565
+ "test": "Pull the CTPP designation list. Confirm whether frontier-AI providers and MCP/agent-runtime providers consumed by the entity appear or have a documented evaluation against designation criteria. Check Lead Overseer audit deliverables for AI-specific artefacts (model cards, system cards, eval results, training data manifests). Theater verdict if AI providers consumed at scale are absent without an evaluation record, or if Lead Overseer artefacts lack AI-specific content.",
566
+ "evidence_required": [
567
+ "CTPP designation list with evaluation rationale",
568
+ "Lead Overseer engagement record with deliverable list",
569
+ "AI-provider concentration analysis"
570
+ ],
571
+ "verdict_when_failed": "compliance-theater"
572
+ }
412
573
  },
413
574
  "EU-AI-Act-Art-15": {
414
575
  "framework": "EU Artificial Intelligence Act (2024/1689)",
@@ -434,7 +595,17 @@
434
595
  "AML.T0054",
435
596
  "AML.T0057"
436
597
  ],
437
- "attack_refs": []
598
+ "attack_refs": [],
599
+ "theater_test": {
600
+ "claim": "Our high-risk AI system meets the EU AI Act Art. 15 'appropriate level of cybersecurity'.",
601
+ "test": "Request the cybersecurity test pack. Confirm presence of (a) prompt-injection red-team results bound to OWASP LLM Top 10, (b) RAG-corpus integrity test results, (c) model-extraction-resistance assessment, (d) MCP/plugin trust verification log. Then check incident-reporting bridge to NIS2 + DORA. Theater verdict if any of (a)-(d) are absent or older than 12 months, or if the bridge to NIS2/DORA notification clocks is undocumented.",
602
+ "evidence_required": [
603
+ "adversarial test pack covering OWASP LLM Top 10",
604
+ "RAG corpus integrity test report",
605
+ "incident-reporting playbook with NIS2/DORA bridge"
606
+ ],
607
+ "verdict_when_failed": "compliance-theater"
608
+ }
438
609
  },
439
610
  "EU-AI-Act-Art-53-GPAI": {
440
611
  "framework": "EU Artificial Intelligence Act (2024/1689) — General-Purpose AI provider obligations",
@@ -456,7 +627,17 @@
456
627
  "AML.T0018",
457
628
  "AML.T0020"
458
629
  ],
459
- "attack_refs": []
630
+ "attack_refs": [],
631
+ "theater_test": {
632
+ "claim": "We comply with EU AI Act Art. 53 GPAI provider obligations including training-data summary publication.",
633
+ "test": "Pull the published training-data summary. Confirm machine-readable corpus-level granularity sufficient for copyright audit (per-corpus identifier + size + collection method + opt-out evidence). Walk downstream-provider documentation; confirm signed bindings to a production model fingerprint. Theater verdict if the summary is prose-only without machine-readable structure, or if downstream docs reference an unsigned/floating model identity.",
634
+ "evidence_required": [
635
+ "machine-readable training-data summary file (YAML/JSON)",
636
+ "downstream documentation bundle with signed model fingerprint",
637
+ "per-corpus copyright-policy attestations"
638
+ ],
639
+ "verdict_when_failed": "compliance-theater"
640
+ }
460
641
  },
461
642
  "EU-AI-Act-Art-55-Systemic": {
462
643
  "framework": "EU Artificial Intelligence Act (2024/1689) — GPAI with systemic risk",
@@ -485,7 +666,17 @@
485
666
  ],
486
667
  "attack_refs": [
487
668
  "T1059"
488
- ]
669
+ ],
670
+ "theater_test": {
671
+ "claim": "Our GPAI model with systemic risk meets the additional Art. 55 obligations.",
672
+ "test": "Pull the adversarial-evaluation report. Confirm coverage of OWASP LLM Top 10 + ATLAS TTPs + MCP-trust scenarios. Pull the energy report; confirm kWh-per-million-tokens and training compute under ISO/IEC TR 24028 framing. Cross-walk the incident-reporting clock with DORA Art. 19 timing. Theater verdict if the eval omits any of OWASP/ATLAS/MCP coverage, if energy reporting is qualitative only, or if the incident-clock cross-walk is missing.",
673
+ "evidence_required": [
674
+ "adversarial eval report with method per attack class",
675
+ "energy reporting per ISO/IEC TR 24028",
676
+ "incident-clock cross-walk to DORA"
677
+ ],
678
+ "verdict_when_failed": "compliance-theater"
679
+ }
489
680
  },
490
681
  "EU-AI-Act-Annex-IX-Conformity": {
491
682
  "framework": "EU Artificial Intelligence Act (2024/1689) — Annex IX conformity assessment",
@@ -506,7 +697,17 @@
506
697
  "AML.T0010",
507
698
  "AML.T0018"
508
699
  ],
509
- "attack_refs": []
700
+ "attack_refs": [],
701
+ "theater_test": {
702
+ "claim": "Our high-risk AI system passed conformity assessment per Annex IX.",
703
+ "test": "If internal-control route was used: request the third-party sample audit (e.g. AI-Office annual sampling) outcome. If notified-body route: request the body's scope letter and confirm AI-specific competency. For both, confirm an operational definition of 'substantial modification' covers fine-tuning, RAG changes, and system-prompt changes — and that a recent change was assessed against it. Theater verdict if the sampling/notified-body record is absent, or if substantial-modification gating has never fired despite a known fine-tune or RAG change.",
704
+ "evidence_required": [
705
+ "internal-control attestation + sampling outcome OR notified-body scope letter",
706
+ "substantial-modification policy document",
707
+ "change log showing modifications assessed against the policy"
708
+ ],
709
+ "verdict_when_failed": "compliance-theater"
710
+ }
510
711
  },
511
712
  "EU-AI-Act-GPAI-CoP": {
512
713
  "framework": "EU Artificial Intelligence Act (2024/1689) — Code of Practice for GPAI",
@@ -528,7 +729,17 @@
528
729
  "AML.T0018",
529
730
  "AML.T0020"
530
731
  ],
531
- "attack_refs": []
732
+ "attack_refs": [],
733
+ "theater_test": {
734
+ "claim": "We follow the GPAI Code of Practice as our presumed-compliance route for Art. 53/55.",
735
+ "test": "Confirm signatory status. Pull the AI Office's published enforcement-deference position for code-conformant signatories. For each evidentiary commitment in the Code, locate the artefact (training-data summary, eval report, downstream-distributor list, energy report) and confirm it is current. Theater verdict if signatory but any required Code artefact is missing or older than the Code's refresh cadence.",
736
+ "evidence_required": [
737
+ "Code-of-Practice signatory confirmation",
738
+ "evidentiary artefact bundle keyed to Code commitments",
739
+ "AI Office enforcement-deference reference"
740
+ ],
741
+ "verdict_when_failed": "compliance-theater"
742
+ }
532
743
  },
533
744
  "EU-CRA-Art13": {
534
745
  "framework": "EU Cyber Resilience Act (2024/2847)",
@@ -554,7 +765,17 @@
554
765
  "attack_refs": [
555
766
  "T1195.001",
556
767
  "T1195.002"
557
- ]
768
+ ],
769
+ "theater_test": {
770
+ "claim": "We satisfy EU CRA Art. 13 essential cybersecurity requirements with technical documentation on file.",
771
+ "test": "Request the canonical build-pipeline definition for the most recent release. Confirm publication alongside the release artifact (workflow file hash, runner attestation, secrets scope). Pick the release-being-installed at a downstream operator; verify its build pipeline matches the published definition by comparing producer-side hashes. Confirm the incident-notification clock starts from FIRST awareness (not from confirmed exploit). Theater verdict if pipeline definitions are unpublished, hashes diverge, or the clock policy starts later than first awareness.",
772
+ "evidence_required": [
773
+ "published build-pipeline definition with hashes",
774
+ "downstream-side hash verification log",
775
+ "incident-notification policy document"
776
+ ],
777
+ "verdict_when_failed": "compliance-theater"
778
+ }
558
779
  },
559
780
  "FedRAMP-Rev5-Moderate": {
560
781
  "framework": "FedRAMP Rev 5 Moderate",
@@ -581,7 +802,17 @@
581
802
  "attack_refs": [
582
803
  "T1071",
583
804
  "T1059"
584
- ]
805
+ ],
806
+ "theater_test": {
807
+ "claim": "All cloud services in our boundary are FedRAMP Moderate authorised; AI services are covered.",
808
+ "test": "Enumerate every AI/ML service consumed within the authorisation boundary. For each, locate either (a) a FedRAMP Moderate ATO letter, (b) a documented exception with risk acceptance signed by the AO, or (c) an equivalence path (StateRAMP, FedRAMP Tailored, etc.). Verify the SSP includes shared-responsibility language covering prompt data, output data, training opt-out, and retention. Theater verdict if any AI service is in use without one of (a)-(c), or if the SSP shared-responsibility matrix lacks AI-specific clauses.",
809
+ "evidence_required": [
810
+ "AI service inventory keyed to FedRAMP marketplace IDs",
811
+ "AO-signed risk acceptance for non-authorised AI services",
812
+ "SSP excerpts showing AI shared-responsibility language"
813
+ ],
814
+ "verdict_when_failed": "compliance-theater"
815
+ }
585
816
  },
586
817
  "HIPAA-Security-Rule-164.312(a)(1)": {
587
818
  "framework": "HIPAA Security Rule (45 CFR § 164.312)",
@@ -607,7 +838,17 @@
607
838
  "attack_refs": [
608
839
  "T1071",
609
840
  "T1530"
610
- ]
841
+ ],
842
+ "theater_test": {
843
+ "claim": "We meet HIPAA 164.312(a)(1) access controls; PHI is access-controlled with unique user IDs.",
844
+ "test": "Inventory AI providers in use; for each consuming PHI, locate a BAA covering prompt retention + training opt-out + breach notification within HIPAA timelines. Inspect prompt-flow telemetry for PHI; confirm DLP minimisation runs pre-egress. Confirm AI agent sessions have controls separate from human user controls. Theater verdict if any AI provider consuming PHI lacks a BAA, if DLP is absent on prompt egress, or if AI agent sessions inherit human controls without separation.",
845
+ "evidence_required": [
846
+ "AI-provider BAA bundle",
847
+ "DLP rule export for prompt egress",
848
+ "agent-session control configuration"
849
+ ],
850
+ "verdict_when_failed": "compliance-theater"
851
+ }
611
852
  },
612
853
  "HIPAA-Security-Rule-2026-NPRM-164.308": {
613
854
  "framework": "HIPAA Security Rule (45 CFR § 164.308) — 2026 Notice of Proposed Rulemaking",
@@ -633,7 +874,17 @@
633
874
  "attack_refs": [
634
875
  "T1071",
635
876
  "T1530"
636
- ]
877
+ ],
878
+ "theater_test": {
879
+ "claim": "Our administrative safeguards meet the HIPAA Security Rule including 2026 NPRM updates.",
880
+ "test": "Walk the technology-asset register; confirm AI assistants and model-API providers are enumerated as asset categories. Pull the network map; confirm AI-API egress routes are marked with BAA and training-opt-out attestation. Confirm the tabletop catalogue contains at least one AI-specific PHI loss scenario exercised in the past 12 months. Theater verdict if AI assets are absent, network-map AI routes lack attestations, or the tabletop catalogue has no AI scenario.",
881
+ "evidence_required": [
882
+ "technology-asset register with AI categories",
883
+ "network map with AI-API egress annotations",
884
+ "tabletop exercise catalogue with execution dates"
885
+ ],
886
+ "verdict_when_failed": "compliance-theater"
887
+ }
637
888
  },
638
889
  "HIPAA-Security-Rule-2026-NPRM-164.310": {
639
890
  "framework": "HIPAA Security Rule (45 CFR § 164.310) — 2026 Notice of Proposed Rulemaking",
@@ -658,7 +909,17 @@
658
909
  ],
659
910
  "attack_refs": [
660
911
  "T1071"
661
- ]
912
+ ],
913
+ "theater_test": {
914
+ "claim": "Our physical safeguards meet HIPAA 164.310 including network-access logging in the 2026 NPRM.",
915
+ "test": "Sample developer endpoints with PHI exposure. Confirm AI-API session logging is captured under the network-access-logging mandate (timestamp, user, prompt hash, response hash, destination provider). Confirm media-disposal verification extends to AI training-data opt-out attestation per provider. Theater verdict if AI-API sessions are unlogged, or if any departed user retained AI provider credentials past their termination date.",
916
+ "evidence_required": [
917
+ "AI-API session log sample for sampled endpoints",
918
+ "training-data opt-out attestation per AI provider",
919
+ "departed-user credential-revocation evidence"
920
+ ],
921
+ "verdict_when_failed": "compliance-theater"
922
+ }
662
923
  },
663
924
  "HIPAA-Security-Rule-2026-NPRM-164.312": {
664
925
  "framework": "HIPAA Security Rule (45 CFR § 164.312) — 2026 Notice of Proposed Rulemaking",
@@ -688,7 +949,17 @@
688
949
  "T1059",
689
950
  "T1068",
690
951
  "T1078"
691
- ]
952
+ ],
953
+ "theater_test": {
954
+ "claim": "Our technical safeguards meet HIPAA 164.312 including the 2026 NPRM expansions.",
955
+ "test": "Pick 5 AI-agent flows that touch PHI. For each, confirm a per-action MFA-equivalent (delegated-authority attestation) is captured. Inspect storage of AI-provider artifacts (conversation history, embeddings, fine-tune sets) for encryption-at-rest. Confirm prompt-injection and RAG-poisoning detection rules exist as anti-malware-equivalents. Theater verdict if per-action attestations are absent, AI artifacts are stored unencrypted, or no prompt-injection/RAG-poisoning detection rules exist.",
956
+ "evidence_required": [
957
+ "delegated-authority attestation samples",
958
+ "encryption-at-rest configuration for AI artifacts",
959
+ "prompt-injection / RAG-poisoning detection rule export"
960
+ ],
961
+ "verdict_when_failed": "compliance-theater"
962
+ }
692
963
  },
693
964
  "HIPAA-Security-Rule-2026-NPRM-164.314": {
694
965
  "framework": "HIPAA Security Rule (45 CFR § 164.314) — 2026 Notice of Proposed Rulemaking",
@@ -713,7 +984,17 @@
713
984
  ],
714
985
  "attack_refs": [
715
986
  "T1195.001"
716
- ]
987
+ ],
988
+ "theater_test": {
989
+ "claim": "Our BAAs satisfy HIPAA 164.314 organisational requirements including 2026 NPRM AI provisions.",
990
+ "test": "Pull the AI-provider BAA portfolio. Confirm each contract covers (a) prompt retention policy with explicit duration, (b) training opt-out with attestation evidence, (c) breach-notification timeline aligned with HIPAA, (d) sub-processor disclosure. Theater verdict if any AI provider's BAA is silent on prompt retention, training opt-out, or sub-processors, or if 'training opt-out' is contractual without an evidence path.",
991
+ "evidence_required": [
992
+ "AI-provider BAA portfolio with clause-by-clause checklist",
993
+ "training-opt-out attestation evidence per provider",
994
+ "sub-processor disclosure inventories"
995
+ ],
996
+ "verdict_when_failed": "compliance-theater"
997
+ }
717
998
  },
718
999
  "HITRUST-CSF-v11.4-09.l": {
719
1000
  "framework": "HITRUST CSF v11.4",
@@ -739,7 +1020,17 @@
739
1020
  ],
740
1021
  "attack_refs": [
741
1022
  "T1195.001"
742
- ]
1023
+ ],
1024
+ "theater_test": {
1025
+ "claim": "We meet HITRUST CSF 09.l outsourced services management for all third-party providers.",
1026
+ "test": "Pull the third-party register. Filter for AI providers; confirm AI vendors are inventoried separately from general SaaS. Spot-check 5 AI vendors for AI-specific contractual clauses (prompt retention, training opt-out, residency, model version pinning, prompt-breach notification). Search for self-signup AI usage on developer endpoints; confirm a policy prohibits it for in-scope data. Theater verdict if AI is bucketed inside generic SaaS, if any sampled AI vendor lacks AI-specific clauses, or if self-signup AI is in evidence on a developer endpoint that touches in-scope data.",
1027
+ "evidence_required": [
1028
+ "third-party register with AI subset",
1029
+ "AI-specific contract clause checklist per vendor",
1030
+ "endpoint scan for self-signup AI tools"
1031
+ ],
1032
+ "verdict_when_failed": "compliance-theater"
1033
+ }
743
1034
  },
744
1035
  "IEC-62443-3-3": {
745
1036
  "framework": "IEC 62443-3-3 (Industrial communication networks — security for IACS)",
@@ -767,7 +1058,17 @@
767
1058
  "T0883",
768
1059
  "T0855",
769
1060
  "T1071"
770
- ]
1061
+ ],
1062
+ "theater_test": {
1063
+ "claim": "Our IACS architecture meets IEC 62443-3-3 system security requirements.",
1064
+ "test": "Inspect the zone-and-conduit diagram. Confirm AI operator assistants and AI-API egress paths from the corporate-to-OT boundary are enumerated as conduits with documented security levels. Sample 3 OT operator workstations; confirm any installed AI assistants are inventoried and that prompt-injection-class threats appear in the threat model. Theater verdict if AI conduits are absent from the zone diagram, or if AI assistants on OT operator workstations are not threat-modelled.",
1065
+ "evidence_required": [
1066
+ "zone-and-conduit diagram with AI annotations",
1067
+ "OT operator workstation inventory",
1068
+ "threat-model document covering AI conduit threats"
1069
+ ],
1070
+ "verdict_when_failed": "compliance-theater"
1071
+ }
771
1072
  },
772
1073
  "ISO-27001-2022-A.8.16": {
773
1074
  "framework": "ISO/IEC 27001:2022",
@@ -789,7 +1090,17 @@
789
1090
  ],
790
1091
  "attack_refs": [
791
1092
  "T1071"
792
- ]
1093
+ ],
1094
+ "theater_test": {
1095
+ "claim": "Our monitoring activities under ISO 27001:2022 A.8.16 cover all in-scope systems.",
1096
+ "test": "From the SIEM event-source inventory, confirm AI-API egress events, MCP server invocations, and AI-agent action audit logs are ingested. Sample one alert from each class in the past 30 days; confirm an analyst reviewed it. Theater verdict if any of those source classes are missing from the SIEM, or if no AI/MCP-related alert has been triaged in the past 90 days despite traffic being present.",
1097
+ "evidence_required": [
1098
+ "SIEM event-source inventory",
1099
+ "alert triage records for AI/MCP-class alerts",
1100
+ "telemetry volume report by source class"
1101
+ ],
1102
+ "verdict_when_failed": "compliance-theater"
1103
+ }
793
1104
  },
794
1105
  "ISO-27001-2022-A.8.28": {
795
1106
  "framework": "ISO/IEC 27001:2022",
@@ -812,7 +1123,17 @@
812
1123
  "AML.T0051",
813
1124
  "AML.T0054"
814
1125
  ],
815
- "attack_refs": []
1126
+ "attack_refs": [],
1127
+ "theater_test": {
1128
+ "claim": "We follow secure coding practices per ISO 27001:2022 A.8.28.",
1129
+ "test": "Pull the secure-coding standard. Confirm it addresses AI-generated code (Copilot, Claude Code, Cursor diffs) with reviewer-attestation requirements and prompt-injection-class CWE coverage. Check git history for AI-coauthored commits; confirm the pre-merge review record is preserved. Theater verdict if the standard is silent on AI-generated code, or if AI-attributed commits lack a reviewer-attestation trail.",
1130
+ "evidence_required": [
1131
+ "secure-coding standard document with version date",
1132
+ "git history sample with AI-attribution analysis",
1133
+ "code-review records for AI-attributed diffs"
1134
+ ],
1135
+ "verdict_when_failed": "compliance-theater"
1136
+ }
816
1137
  },
817
1138
  "ISO-27001-2022-A.8.30": {
818
1139
  "framework": "ISO/IEC 27001:2022",
@@ -836,7 +1157,17 @@
836
1157
  ],
837
1158
  "attack_refs": [
838
1159
  "T1195.001"
839
- ]
1160
+ ],
1161
+ "theater_test": {
1162
+ "claim": "Our outsourced development meets ISO 27001:2022 A.8.30 oversight requirements.",
1163
+ "test": "Pull the outsourced-dev contract bundle. Confirm clauses naming AI tool usage by the contractor (which AI assistants, which models, which prompt destinations) and reviewer attestation for AI-generated diffs. Sample one delivered build; confirm SBOM enumerates AI-build dependencies. Theater verdict if contracts are silent on contractor AI usage, or if delivered SBOMs omit AI build-environment components.",
1164
+ "evidence_required": [
1165
+ "outsourced-dev contract clause export",
1166
+ "delivered build SBOM",
1167
+ "contractor AI-usage attestation"
1168
+ ],
1169
+ "verdict_when_failed": "compliance-theater"
1170
+ }
840
1171
  },
841
1172
  "ISO-27001-2022-A.8.8": {
842
1173
  "framework": "ISO/IEC 27001:2022",
@@ -858,7 +1189,17 @@
858
1189
  "atlas_refs": [],
859
1190
  "attack_refs": [
860
1191
  "T1068"
861
- ]
1192
+ ],
1193
+ "theater_test": {
1194
+ "claim": "We manage technical vulnerabilities per ISO 27001:2022 A.8.8.",
1195
+ "test": "Pull the vuln-management procedure. Confirm a CISA-KEV-anchored response tier (4h to verified mitigation for KEV+PoC). Pull the past 12 months of KEV-listed CVEs in scope; measure time-to-mitigation. Theater verdict if the procedure has only a generic 'critical = 30 days' SLA, or if any KEV+PoC entry exceeded the documented tier.",
1196
+ "evidence_required": [
1197
+ "A.8.8 procedure document",
1198
+ "KEV-listed CVE list with mitigation timestamps",
1199
+ "live-patching capability evidence"
1200
+ ],
1201
+ "verdict_when_failed": "compliance-theater"
1202
+ }
862
1203
  },
863
1204
  "ISO-IEC-23894-2023-clause-7": {
864
1205
  "framework": "ISO/IEC 23894:2023 (AI Risk Management Guidance)",
@@ -884,7 +1225,17 @@
884
1225
  ],
885
1226
  "attack_refs": [
886
1227
  "T1059"
887
- ]
1228
+ ],
1229
+ "theater_test": {
1230
+ "claim": "We perform AI risk assessment per ISO/IEC 23894:2023 clause 7.",
1231
+ "test": "Pull the most recent AI risk assessment. Confirm coverage of supply-chain risks (model provenance, MCP/plugin trust, training-data integrity), prompt-injection as a current threat, and operational AI-incident scenarios. Confirm the assessment is dated within the framework's review cadence. Theater verdict if supply-chain or prompt-injection risks are absent, or if the assessment has no documented owner who acted on findings.",
1232
+ "evidence_required": [
1233
+ "AI risk assessment document",
1234
+ "risk-treatment plan with action owner",
1235
+ "review-cadence schedule"
1236
+ ],
1237
+ "verdict_when_failed": "compliance-theater"
1238
+ }
888
1239
  },
889
1240
  "ISO-IEC-42001-2023-clause-6.1.2": {
890
1241
  "framework": "ISO/IEC 42001:2023 (AI Management System)",
@@ -912,7 +1263,17 @@
912
1263
  "attack_refs": [
913
1264
  "T1059",
914
1265
  "T1071"
915
- ]
1266
+ ],
1267
+ "theater_test": {
1268
+ "claim": "Our AI Management System satisfies ISO/IEC 42001:2023 clause 6.1.2 risk-treatment requirements.",
1269
+ "test": "Walk the AIMS risk-treatment register. Confirm prompt injection, MCP/agent trust, RAG-poisoning, and model-supply-chain compromise appear as named risks with treatment plans. Confirm owner + due-date + verification path for each. Theater verdict if any of those risk classes are absent, or if treatments have no verification path documented.",
1270
+ "evidence_required": [
1271
+ "AIMS risk-treatment register export",
1272
+ "risk-treatment plan with verification paths",
1273
+ "AIMS internal audit report"
1274
+ ],
1275
+ "verdict_when_failed": "compliance-theater"
1276
+ }
916
1277
  },
917
1278
  "NERC-CIP-007-6-R4": {
918
1279
  "framework": "NERC CIP-007-6 (BES Cyber System Security Management)",
@@ -940,7 +1301,17 @@
940
1301
  "T0883",
941
1302
  "T0855",
942
1303
  "T1071"
943
- ]
1304
+ ],
1305
+ "theater_test": {
1306
+ "claim": "We satisfy NERC CIP-007-6 R4 security event monitoring for our BES Cyber Systems.",
1307
+ "test": "Pull the R4 monitored-event source list. Confirm AI operator assistants are enumerated with explicit alerting on assistant-initiated operator commands. Confirm AI-API egress at the corporate-to-OT boundary is monitored. Confirm prompt-injection indicators are present as a distinct event class. Theater verdict if AI assistants are not monitored event sources, or if no NIS2 24h/72h alignment is documented for multinational operators.",
1308
+ "evidence_required": [
1309
+ "R4 event source inventory",
1310
+ "alerting rule export for AI-initiated commands",
1311
+ "NIS2 alignment document where applicable"
1312
+ ],
1313
+ "verdict_when_failed": "compliance-theater"
1314
+ }
944
1315
  },
945
1316
  "NIS2-Art21-incident-handling": {
946
1317
  "framework": "EU NIS2 Directive (2022/2555)",
@@ -968,7 +1339,17 @@
968
1339
  "attack_refs": [
969
1340
  "T1059",
970
1341
  "T1567"
971
- ]
1342
+ ],
1343
+ "theater_test": {
1344
+ "claim": "We can meet NIS2 Art. 21 incident handling obligations including the 24h early warning.",
1345
+ "test": "Run a tabletop with a synthetic significant-incident inject affecting an essential-service flow at T0. Stopwatch elapsed time to a Competent Authority early warning containing initial assessment, severity, and impact. Theater verdict if elapsed exceeds 24h, if no on-call is named to start the clock, or if the playbook has not been exercised in the past 12 months.",
1346
+ "evidence_required": [
1347
+ "tabletop execution log",
1348
+ "early-warning notification draft",
1349
+ "on-call rota and playbook ownership"
1350
+ ],
1351
+ "verdict_when_failed": "compliance-theater"
1352
+ }
972
1353
  },
973
1354
  "NIS2-Art21-patch-management": {
974
1355
  "framework": "EU NIS2 Directive",
@@ -990,7 +1371,17 @@
990
1371
  "atlas_refs": [],
991
1372
  "attack_refs": [
992
1373
  "T1068"
993
- ]
1374
+ ],
1375
+ "theater_test": {
1376
+ "claim": "Our patch-management posture meets NIS2 Art. 21(2)(e) for technical and organisational measures.",
1377
+ "test": "Pull the patch SLA document. Confirm a CISA-KEV-anchored tier (4h to verified mitigation for KEV+PoC). Cross-reference past 12 months of KEV-listed CVEs in scope; measure compliance. Confirm live-patching capability for hosts that cannot reboot in window. Theater verdict if the SLA collapses to 'critical = 30 days' across the board, or if any KEV+PoC entry breached the documented tier.",
1378
+ "evidence_required": [
1379
+ "patch SLA document",
1380
+ "KEV listing→mitigation telemetry",
1381
+ "live-patching agent inventory"
1382
+ ],
1383
+ "verdict_when_failed": "compliance-theater"
1384
+ }
994
1385
  },
995
1386
  "NIST-800-115": {
996
1387
  "framework": "NIST SP 800-115 (Technical Guide to Information Security Testing and Assessment)",
@@ -1021,7 +1412,17 @@
1021
1412
  "T1059",
1022
1413
  "T1071",
1023
1414
  "T1195.001"
1024
- ]
1415
+ ],
1416
+ "theater_test": {
1417
+ "claim": "Our pen-test methodology aligns with NIST SP 800-115 technical guidance.",
1418
+ "test": "Pull the most recent pen-test report. Confirm coverage of AI/MCP attack surfaces (prompt injection, MCP plugin trust, RAG corpus integrity, AI-API egress). Confirm the testing methodology document references AI-specific test classes and tooling. Theater verdict if AI/MCP testing is absent from the methodology, or if the pen-test report contains no AI-class findings despite AI being in production.",
1419
+ "evidence_required": [
1420
+ "pen-test methodology document",
1421
+ "most-recent pen-test report with AI/MCP test sections",
1422
+ "tester competency CV/credentials"
1423
+ ],
1424
+ "verdict_when_failed": "compliance-theater"
1425
+ }
1025
1426
  },
1026
1427
  "NIST-800-218-SSDF": {
1027
1428
  "framework": "NIST SP 800-218 (Secure Software Development Framework v1.1)",
@@ -1048,7 +1449,17 @@
1048
1449
  ],
1049
1450
  "attack_refs": [
1050
1451
  "T1195.001"
1051
- ]
1452
+ ],
1453
+ "theater_test": {
1454
+ "claim": "We follow NIST SSDF practices for secure software development.",
1455
+ "test": "Pull the SSDF mapping document. Confirm AI-generated code provenance practices (per-block AI authorship attestation, reviewer identity, human approval before merge). Inspect git history; confirm AI-attributed commits have linked review records. Pull build-time SBOM; confirm AI build-tooling is enumerated. Theater verdict if AI authorship is unattributed, AI commits bypass review, or build-time SBOM omits AI tooling.",
1456
+ "evidence_required": [
1457
+ "SSDF mapping document",
1458
+ "AI-attribution policy + recent merge sample",
1459
+ "build-time SBOM"
1460
+ ],
1461
+ "verdict_when_failed": "compliance-theater"
1462
+ }
1052
1463
  },
1053
1464
  "NIST-800-53-AC-2": {
1054
1465
  "framework": "NIST SP 800-53 Rev 5",
@@ -1073,7 +1484,17 @@
1073
1484
  ],
1074
1485
  "attack_refs": [
1075
1486
  "T1059"
1076
- ]
1487
+ ],
1488
+ "theater_test": {
1489
+ "claim": "Our account management satisfies NIST 800-53 AC-2 across all account types.",
1490
+ "test": "Inventory AI-agent service accounts. For each, confirm an authorization context defines (who initiated each invocation, what actions are in scope, what tools are authorised). Pull AC-2 audit log for one agent over 7 days; confirm prompt-level access decisions are reconstructable. Theater verdict if AI-agent accounts have no per-session authorisation context, or if AC-2 logs collapse to 'service account X did Y' without prompt-input chain.",
1491
+ "evidence_required": [
1492
+ "AI-agent service account inventory",
1493
+ "authorization-context policy document",
1494
+ "7-day audit log sample with prompt input chain"
1495
+ ],
1496
+ "verdict_when_failed": "compliance-theater"
1497
+ }
1077
1498
  },
1078
1499
  "NIST-800-53-CM-7": {
1079
1500
  "framework": "NIST SP 800-53 Rev 5",
@@ -1097,7 +1518,17 @@
1097
1518
  ],
1098
1519
  "attack_refs": [
1099
1520
  "T1195.001"
1100
- ]
1521
+ ],
1522
+ "theater_test": {
1523
+ "claim": "We enforce least-functionality per NIST 800-53 CM-7 across all configuration items.",
1524
+ "test": "Sample 5 developer endpoints. Enumerate installed MCP servers + AI plugins; confirm each is on an organisational allowlist with documented business justification. Confirm tool-grant default is deny with explicit per-tool prompts. Theater verdict if any sampled endpoint runs an MCP server absent from the allowlist, or if any tool-grant defaults to allow without prompting.",
1525
+ "evidence_required": [
1526
+ "endpoint MCP/plugin inventory for sampled hosts",
1527
+ "organisational allowlist with justifications",
1528
+ "tool-grant default-policy export"
1529
+ ],
1530
+ "verdict_when_failed": "compliance-theater"
1531
+ }
1101
1532
  },
1102
1533
  "NIST-800-53-SA-12": {
1103
1534
  "framework": "NIST SP 800-53 Rev 5",
@@ -1121,7 +1552,17 @@
1121
1552
  ],
1122
1553
  "attack_refs": [
1123
1554
  "T1195.001"
1124
- ]
1555
+ ],
1556
+ "theater_test": {
1557
+ "claim": "Our supply chain protection practices meet NIST 800-53 SA-12.",
1558
+ "test": "Pull the supplier-protection program. Confirm AI providers are enumerated with the same diligence as software suppliers (security questionnaire, SOC 2 review, contractual breach-notification). Confirm model and MCP-server provenance attestation is collected at consumption. Theater verdict if AI providers are exempt from supplier diligence, or if model artefacts are consumed without provenance attestation.",
1559
+ "evidence_required": [
1560
+ "supplier-protection program document",
1561
+ "AI-provider diligence record sample",
1562
+ "model-provenance attestations at consumption"
1563
+ ],
1564
+ "verdict_when_failed": "compliance-theater"
1565
+ }
1125
1566
  },
1126
1567
  "NIST-800-53-SC-28": {
1127
1568
  "framework": "NIST SP 800-53 Rev 5",
@@ -1143,7 +1584,17 @@
1143
1584
  "atlas_refs": [],
1144
1585
  "attack_refs": [
1145
1586
  "T1068"
1146
- ]
1587
+ ],
1588
+ "theater_test": {
1589
+ "claim": "Information at rest is protected per NIST 800-53 SC-28 with encryption.",
1590
+ "test": "Inventory AI-provider artefact storage (conversation history, embeddings, fine-tune sets, vector indices). Confirm encryption-at-rest with key management by an in-scope KMS. Spot-check 3 storage locations; confirm key access is logged. Theater verdict if any AI artefact storage is unencrypted, key management is provider-default with no in-scope KMS, or key access is unlogged.",
1591
+ "evidence_required": [
1592
+ "AI artefact storage inventory",
1593
+ "KMS key-policy export",
1594
+ "key access log sample"
1595
+ ],
1596
+ "verdict_when_failed": "compliance-theater"
1597
+ }
1147
1598
  },
1148
1599
  "NIST-800-53-SC-7": {
1149
1600
  "framework": "NIST SP 800-53 Rev 5",
@@ -1168,7 +1619,17 @@
1168
1619
  "T1071",
1169
1620
  "T1102",
1170
1621
  "T1568"
1171
- ]
1622
+ ],
1623
+ "theater_test": {
1624
+ "claim": "Boundary protection is enforced per NIST 800-53 SC-7 for the system boundary.",
1625
+ "test": "Inspect egress firewall rules for AI-API destinations (api.openai.com, api.anthropic.com, generativelanguage.googleapis.com, etc.). Confirm allowlist with documented business justification per destination. Confirm logging captures prompt hash + identity per egress. Theater verdict if AI destinations are reachable from any source without allowlist enforcement, or if egress logs lack identity binding.",
1626
+ "evidence_required": [
1627
+ "egress firewall rule export",
1628
+ "AI destination allowlist with justifications",
1629
+ "egress log sample with identity binding"
1630
+ ],
1631
+ "verdict_when_failed": "compliance-theater"
1632
+ }
1172
1633
  },
1173
1634
  "NIST-800-53-SC-8": {
1174
1635
  "framework": "NIST SP 800-53 Rev 5",
@@ -1189,7 +1650,17 @@
1189
1650
  "atlas_refs": [],
1190
1651
  "attack_refs": [
1191
1652
  "T1068"
1192
- ]
1653
+ ],
1654
+ "theater_test": {
1655
+ "claim": "Transmission confidentiality and integrity is protected per NIST 800-53 SC-8.",
1656
+ "test": "Confirm TLS 1.3 (or PQC-hybrid where deployed) on every AI-API destination, including any internal gateways. Inspect MCP server transport; confirm authentication and integrity (signed JWT or mTLS) on MCP traffic. Theater verdict if any AI-API egress allows TLS<1.2 or unauthenticated MCP transport.",
1657
+ "evidence_required": [
1658
+ "TLS configuration audit per destination",
1659
+ "MCP transport configuration",
1660
+ "PQC migration roadmap if claimed"
1661
+ ],
1662
+ "verdict_when_failed": "compliance-theater"
1663
+ }
1193
1664
  },
1194
1665
  "NIST-800-53-SI-10": {
1195
1666
  "framework": "NIST SP 800-53 Rev 5",
@@ -1215,7 +1686,17 @@
1215
1686
  "attack_refs": [
1216
1687
  "T1190",
1217
1688
  "T1059"
1218
- ]
1689
+ ],
1690
+ "theater_test": {
1691
+ "claim": "We validate information inputs per NIST 800-53 SI-10.",
1692
+ "test": "Inspect input-validation rules at AI prompt boundaries: system-prompt protection from third-party content, RAG-corpus content sanitisation, tool-output sanitisation before re-injection. Theater verdict if no input validation exists at any of those boundaries, or if SI-10 evidence cites only HTML/SQL escaping without prompt-injection treatment.",
1693
+ "evidence_required": [
1694
+ "input-validation policy at prompt boundaries",
1695
+ "RAG-corpus sanitisation rule export",
1696
+ "tool-output sanitisation logic"
1697
+ ],
1698
+ "verdict_when_failed": "compliance-theater"
1699
+ }
1219
1700
  },
1220
1701
  "NIST-800-53-SI-12": {
1221
1702
  "framework": "NIST SP 800-53 Rev 5",
@@ -1239,7 +1720,17 @@
1239
1720
  ],
1240
1721
  "attack_refs": [
1241
1722
  "T1059"
1242
- ]
1723
+ ],
1724
+ "theater_test": {
1725
+ "claim": "Information handling and retention satisfies NIST 800-53 SI-12.",
1726
+ "test": "Pull the records-retention schedule. Confirm AI artefacts (prompts, outputs, embeddings, fine-tune sets) appear with explicit retention periods aligned to data-classification. Confirm provider-side retention is documented per AI provider with attestation. Theater verdict if AI artefacts are absent from the retention schedule, or if provider-side retention is undocumented.",
1727
+ "evidence_required": [
1728
+ "records-retention schedule with AI categories",
1729
+ "provider retention attestation per AI provider",
1730
+ "deletion verification log"
1731
+ ],
1732
+ "verdict_when_failed": "compliance-theater"
1733
+ }
1243
1734
  },
1244
1735
  "NIST-800-53-SI-2": {
1245
1736
  "framework": "NIST SP 800-53 Rev 5",
@@ -1262,7 +1753,17 @@
1262
1753
  "atlas_refs": [],
1263
1754
  "attack_refs": [
1264
1755
  "T1068"
1265
- ]
1756
+ ],
1757
+ "theater_test": {
1758
+ "claim": "Flaw remediation is timely per NIST 800-53 SI-2.",
1759
+ "test": "Pull the flaw-remediation SLA. Confirm a KEV-anchored tier (≤4h for KEV+PoC). Pull the past 12 months of KEV listings affecting in-scope assets; measure deployment compliance. Confirm live-patching is provisioned for hosts that can't reboot in window. Theater verdict if the SLA does not have a KEV tier or if KEV compliance dropped below 95%.",
1760
+ "evidence_required": [
1761
+ "SI-2 SLA document",
1762
+ "KEV deployment timeline per CVE",
1763
+ "live-patching agent inventory"
1764
+ ],
1765
+ "verdict_when_failed": "compliance-theater"
1766
+ }
1266
1767
  },
1267
1768
  "NIST-800-53-SI-3": {
1268
1769
  "framework": "NIST SP 800-53 Rev 5",
@@ -1283,7 +1784,17 @@
1283
1784
  ],
1284
1785
  "attack_refs": [
1285
1786
  "T1059"
1286
- ]
1787
+ ],
1788
+ "theater_test": {
1789
+ "claim": "Malicious code protection is in place per NIST 800-53 SI-3.",
1790
+ "test": "Confirm SI-3 controls cover prompt-injection (input-side malicious instructions delivered via third-party content) and RAG-poisoning (corpus-side malicious instructions). Confirm detection rules exist and have triggered at least once on synthetic test inputs. Theater verdict if SI-3 evidence cites only AV signatures without prompt-injection or RAG-poisoning treatment.",
1791
+ "evidence_required": [
1792
+ "SI-3 control description with AI extensions",
1793
+ "prompt-injection / RAG-poisoning detection rule export",
1794
+ "synthetic-input test results"
1795
+ ],
1796
+ "verdict_when_failed": "compliance-theater"
1797
+ }
1287
1798
  },
1288
1799
  "NIST-800-63B-rev4": {
1289
1800
  "framework": "NIST SP 800-63B Rev 4 (Digital Identity Guidelines — Authentication & Lifecycle Mgmt)",
@@ -1309,7 +1820,17 @@
1309
1820
  "attack_refs": [
1310
1821
  "T1078",
1311
1822
  "T1059"
1312
- ]
1823
+ ],
1824
+ "theater_test": {
1825
+ "claim": "Our digital-identity authentication satisfies NIST SP 800-63B Rev 4 at the targeted AAL.",
1826
+ "test": "Sample 10 admin identities; confirm registered authenticator class is FIDO2/WebAuthn-bound (phishing-resistant). Confirm session re-authentication on high-risk actions. Confirm service-account token lifecycles match the AAL claim (no long-lived bearer tokens for AAL3-claimed scopes). Theater verdict if any admin uses SMS/voice/TOTP for an AAL3-claimed scope, or if AAL3-claimed service accounts use static long-lived tokens.",
1827
+ "evidence_required": [
1828
+ "IdP authenticator export for sampled admins",
1829
+ "session-management policy document",
1830
+ "service-account token lifecycle export"
1831
+ ],
1832
+ "verdict_when_failed": "compliance-theater"
1833
+ }
1313
1834
  },
1314
1835
  "NIST-800-82r3": {
1315
1836
  "framework": "NIST SP 800-82 Rev 3 (Guide to OT Security)",
@@ -1337,7 +1858,17 @@
1337
1858
  "T0883",
1338
1859
  "T0855",
1339
1860
  "T1071"
1340
- ]
1861
+ ],
1862
+ "theater_test": {
1863
+ "claim": "Our OT environment is secured per NIST SP 800-82 Rev 3 guidance.",
1864
+ "test": "Confirm the OT asset inventory enumerates AI operator assistants, AI-API egress at the IT/OT boundary, and any MCP servers running on engineering workstations. Inspect monitoring rules for AI-prompted operator actions. Theater verdict if AI assets are absent from the OT inventory, or if no monitoring rule alerts on AI-initiated control-system commands.",
1865
+ "evidence_required": [
1866
+ "OT asset inventory with AI subset",
1867
+ "monitoring rule export for AI-prompted operator actions",
1868
+ "engineering workstation MCP-server scan"
1869
+ ],
1870
+ "verdict_when_failed": "compliance-theater"
1871
+ }
1341
1872
  },
1342
1873
  "NIST-AI-RMF-MEASURE-2.5": {
1343
1874
  "framework": "NIST AI RMF 1.0",
@@ -1362,7 +1893,17 @@
1362
1893
  ],
1363
1894
  "attack_refs": [
1364
1895
  "T1059"
1365
- ]
1896
+ ],
1897
+ "theater_test": {
1898
+ "claim": "We map and measure AI risks per NIST AI RMF MEASURE 2.5 including continuous validity assessment.",
1899
+ "test": "Pull the AI risk-measurement plan. Confirm coverage of OWASP LLM Top 10 + ATLAS TTPs + MCP-trust scenarios with explicit measurement cadence. Confirm a metric exists for each category (e.g. prompt-injection success rate, RAG-poisoning detection rate). Inspect the metrics dashboard for actual measurement data within the past quarter. Theater verdict if metrics are defined but unpopulated, or if any of the OWASP/ATLAS/MCP categories has no measurement plan.",
1900
+ "evidence_required": [
1901
+ "AI risk-measurement plan",
1902
+ "metrics dashboard with current quarter data",
1903
+ "ATLAS/OWASP coverage matrix"
1904
+ ],
1905
+ "verdict_when_failed": "compliance-theater"
1906
+ }
1366
1907
  },
1367
1908
  "OWASP-ASVS-v5.0-V14": {
1368
1909
  "framework": "OWASP ASVS v5.0",
@@ -1387,7 +1928,17 @@
1387
1928
  ],
1388
1929
  "attack_refs": [
1389
1930
  "T1195.001"
1390
- ]
1931
+ ],
1932
+ "theater_test": {
1933
+ "claim": "Our application meets OWASP ASVS v5.0 V14 configuration controls.",
1934
+ "test": "For any AI-mediated feature, confirm V14-equivalent controls cover prompt-isolation, output-sanitisation, and tool-grant defaults. Confirm SDK pinning and provider-version pinning where supported. Theater verdict if AI-feature configuration management is informal (no pinned versions, no documented prompt-isolation policy).",
1935
+ "evidence_required": [
1936
+ "AI-feature configuration policy",
1937
+ "SDK + provider version pinning manifest",
1938
+ "prompt-isolation design document"
1939
+ ],
1940
+ "verdict_when_failed": "compliance-theater"
1941
+ }
1391
1942
  },
1392
1943
  "OWASP-LLM-Top-10-2025-LLM01": {
1393
1944
  "framework": "OWASP Top 10 for LLM Applications 2025",
@@ -1414,7 +1965,17 @@
1414
1965
  "attack_refs": [
1415
1966
  "T1059",
1416
1967
  "T1071"
1417
- ]
1968
+ ],
1969
+ "theater_test": {
1970
+ "claim": "We mitigate prompt injection per OWASP LLM Top 10 LLM01.",
1971
+ "test": "Inspect SDK-level prompt logging; confirm identity binding per call (which user, which agent, which scope). Confirm AI-provider domains are network-allowlisted with business justification. Confirm anomaly detection runs on prompt shape/volume/timing with alerting. Inspect SOC tooling for ATLAS+ATT&CK dual-mapping on LLM01 findings. Theater verdict if prompt logging is absent, allowlists are wildcard, or LLM01 findings are not dual-mapped.",
1972
+ "evidence_required": [
1973
+ "SDK prompt-logging configuration",
1974
+ "AI-provider allowlist with justifications",
1975
+ "anomaly detection rule export with recent alerts"
1976
+ ],
1977
+ "verdict_when_failed": "compliance-theater"
1978
+ }
1418
1979
  },
1419
1980
  "OWASP-LLM-Top-10-2025-LLM02": {
1420
1981
  "framework": "OWASP Top 10 for LLM Applications 2025",
@@ -1439,7 +2000,17 @@
1439
2000
  "attack_refs": [
1440
2001
  "T1059",
1441
2002
  "T1530"
1442
- ]
2003
+ ],
2004
+ "theater_test": {
2005
+ "claim": "We mitigate insecure output handling per OWASP LLM Top 10 LLM02.",
2006
+ "test": "Inspect every code path that consumes LLM output and routes it to a downstream sink (HTML, SQL, shell, eval, tool dispatch). Confirm sink-specific encoding/escaping or schema validation. Theater verdict if any LLM output reaches a sensitive sink without validation.",
2007
+ "evidence_required": [
2008
+ "LLM-output sink inventory",
2009
+ "output-validation logic per sink",
2010
+ "test cases proving validation fires on malicious payloads"
2011
+ ],
2012
+ "verdict_when_failed": "compliance-theater"
2013
+ }
1443
2014
  },
1444
2015
  "OWASP-LLM-Top-10-2025-LLM06": {
1445
2016
  "framework": "OWASP Top 10 for LLM Applications 2025",
@@ -1467,7 +2038,17 @@
1467
2038
  "attack_refs": [
1468
2039
  "T1195.001",
1469
2040
  "T1059"
1470
- ]
2041
+ ],
2042
+ "theater_test": {
2043
+ "claim": "We mitigate sensitive information disclosure per OWASP LLM Top 10 LLM06.",
2044
+ "test": "Inspect prompt egress for DLP rules covering PII, credentials, source-code-with-comments, and customer-data identifiers. Run a synthetic prompt containing planted secrets; confirm DLP triggers before egress to the AI provider. Theater verdict if DLP is not on the egress path, or if the synthetic test does not trigger.",
2045
+ "evidence_required": [
2046
+ "DLP rule export for prompt egress",
2047
+ "synthetic prompt test result",
2048
+ "data classification policy"
2049
+ ],
2050
+ "verdict_when_failed": "compliance-theater"
2051
+ }
1471
2052
  },
1472
2053
  "OWASP-LLM-Top-10-2025-LLM08": {
1473
2054
  "framework": "OWASP Top 10 for LLM Applications 2025",
@@ -1493,7 +2074,17 @@
1493
2074
  "attack_refs": [
1494
2075
  "T1565",
1495
2076
  "T1530"
1496
- ]
2077
+ ],
2078
+ "theater_test": {
2079
+ "claim": "We mitigate excessive agency per OWASP LLM Top 10 LLM08.",
2080
+ "test": "Pick an AI agent in production. Enumerate the tools it can call. For each tool, confirm scope-of-action limits (read-only by default, write requires per-action attestation, destructive requires user confirmation). Theater verdict if any agent has wildcard write access or destructive actions without per-call confirmation.",
2081
+ "evidence_required": [
2082
+ "agent tool inventory with scope limits",
2083
+ "per-action attestation policy",
2084
+ "destructive-action confirmation flow evidence"
2085
+ ],
2086
+ "verdict_when_failed": "compliance-theater"
2087
+ }
1497
2088
  },
1498
2089
  "OWASP-Pen-Testing-Guide-v5": {
1499
2090
  "framework": "OWASP Web Security Testing Guide v5 (WSTG)",
@@ -1524,7 +2115,17 @@
1524
2115
  "T1195.001",
1525
2116
  "T1059",
1526
2117
  "T1071"
1527
- ]
2118
+ ],
2119
+ "theater_test": {
2120
+ "claim": "Our web app pen-tests follow OWASP WSTG v5 methodology.",
2121
+ "test": "Pull the most-recent pen-test report. Confirm test cases for AI-mediated features (prompt injection in chatbot widgets, AI-augmented input flows, agent-mediated workflows). Confirm tester used WSTG-aligned methodology with explicit AI-test extensions. Theater verdict if AI-mediated features are excluded from the pen-test scope.",
2122
+ "evidence_required": [
2123
+ "pen-test methodology document",
2124
+ "pen-test report covering AI-mediated features",
2125
+ "scope-of-engagement document"
2126
+ ],
2127
+ "verdict_when_failed": "compliance-theater"
2128
+ }
1528
2129
  },
1529
2130
  "PCI-DSS-4.0-6.3.3": {
1530
2131
  "framework": "PCI DSS 4.0",
@@ -1546,7 +2147,17 @@
1546
2147
  "atlas_refs": [],
1547
2148
  "attack_refs": [
1548
2149
  "T1068"
1549
- ]
2150
+ ],
2151
+ "theater_test": {
2152
+ "claim": "We address security vulnerabilities in custom and bespoke software per PCI DSS 6.3.3.",
2153
+ "test": "Confirm the SDLC includes prompt-injection-class CWE coverage in code review for AI-mediated features. Inspect change tickets for AI-feature changes; confirm reviewer attestation includes AI-class threat sign-off. Theater verdict if AI-mediated changes bypass the prompt-injection threat-review gate.",
2154
+ "evidence_required": [
2155
+ "SDLC document with AI-class CWE coverage",
2156
+ "AI-feature change tickets with reviewer attestation",
2157
+ "code review checklist"
2158
+ ],
2159
+ "verdict_when_failed": "compliance-theater"
2160
+ }
1550
2161
  },
1551
2162
  "PCI-DSS-4.0.1-6.4.3": {
1552
2163
  "framework": "PCI DSS 4.0.1 (effective 2025-03-31 — supersedes 4.0)",
@@ -1572,7 +2183,17 @@
1572
2183
  "attack_refs": [
1573
2184
  "T1059",
1574
2185
  "T1195.001"
1575
- ]
2186
+ ],
2187
+ "theater_test": {
2188
+ "claim": "We meet PCI DSS 4.0.1 6.4.3 inventory of payment-page scripts.",
2189
+ "test": "Pull the payment-page script inventory. Confirm completeness against a fresh DOM snapshot of the live payment page. Confirm authorisation attestation per script (who approved, when, why). Confirm SRI hashes are pinned per script. Theater verdict if the inventory diverges from the live DOM, or if any script lacks attestation/SRI pinning.",
2190
+ "evidence_required": [
2191
+ "payment-page script inventory",
2192
+ "live DOM snapshot per page",
2193
+ "SRI configuration export"
2194
+ ],
2195
+ "verdict_when_failed": "compliance-theater"
2196
+ }
1576
2197
  },
1577
2198
  "PCI-DSS-4.0.1-11.6.1": {
1578
2199
  "framework": "PCI DSS 4.0.1 (effective 2025-03-31)",
@@ -1594,7 +2215,17 @@
1594
2215
  ],
1595
2216
  "attack_refs": [
1596
2217
  "T1059"
1597
- ]
2218
+ ],
2219
+ "theater_test": {
2220
+ "claim": "We perform tamper detection on payment pages per PCI DSS 4.0.1 11.6.1.",
2221
+ "test": "Confirm tamper-detection cadence is sub-hour, not weekly. Confirm baselines distinguish AI-driven dynamic content from injection. Confirm coverage extends to mobile-app SDKs, kiosks, and agent-mediated checkout. Confirm CSP report-uri + Reporting API correlation. Theater verdict if cadence is weekly, baselining cannot tell legitimate dynamic content from injection, or non-browser surfaces are uncovered.",
2222
+ "evidence_required": [
2223
+ "tamper-detection cadence configuration",
2224
+ "baseline document with AI-aware logic",
2225
+ "CSP report-uri correlation pipeline"
2226
+ ],
2227
+ "verdict_when_failed": "compliance-theater"
2228
+ }
1598
2229
  },
1599
2230
  "PCI-DSS-4.0.1-12.3.3": {
1600
2231
  "framework": "PCI DSS 4.0.1 (effective 2025-03-31)",
@@ -1612,7 +2243,17 @@
1612
2243
  "opened_date": "2026-05-15",
1613
2244
  "evidence_cves": [],
1614
2245
  "atlas_refs": [],
1615
- "attack_refs": []
2246
+ "attack_refs": [],
2247
+ "theater_test": {
2248
+ "claim": "Our cryptographic suite review meets PCI DSS 4.0.1 12.3.3 annual cadence.",
2249
+ "test": "Pull the cryptographic suite inventory and most-recent annual review. Confirm enumeration of in-use algorithms with deprecation status. Confirm a PQC-readiness assessment exists with migration roadmap for long-lived keys (TLS for >5y data, signing for code/SBOM). Theater verdict if PQC is absent from the review, or if deprecated algorithms remain in use without a documented exception.",
2250
+ "evidence_required": [
2251
+ "cryptographic suite inventory",
2252
+ "annual review document with date",
2253
+ "PQC migration roadmap"
2254
+ ],
2255
+ "verdict_when_failed": "compliance-theater"
2256
+ }
1616
2257
  },
1617
2258
  "PCI-DSS-4.0.1-12.10.7": {
1618
2259
  "framework": "PCI DSS 4.0.1 (effective 2025-03-31)",
@@ -1638,7 +2279,17 @@
1638
2279
  "attack_refs": [
1639
2280
  "T1071",
1640
2281
  "T1530"
1641
- ]
2282
+ ],
2283
+ "theater_test": {
2284
+ "claim": "Our incident response procedures address suspected ransomware per PCI DSS 4.0.1 12.10.7.",
2285
+ "test": "Pull the IR playbook for ransomware. Confirm pre-rehearsed sanctions-screening (OFAC SDN + EU 2014/833 + UK OFSI + AU DFAT + JP MOF) as a precondition to any payment posture. Confirm decryptor-availability lookup, immutability test on backup recovery path, and exfil-before-encrypt detection. Confirm 24h cyber-insurance carrier notification workflow is rehearsed end-to-end. Theater verdict if any of those is undocumented or not exercised in the past 12 months.",
2286
+ "evidence_required": [
2287
+ "ransomware IR playbook with sub-procedures",
2288
+ "tabletop exercise log within past 12 months",
2289
+ "carrier-notification workflow record"
2290
+ ],
2291
+ "verdict_when_failed": "compliance-theater"
2292
+ }
1642
2293
  },
1643
2294
  "PSD2-RTS-SCA": {
1644
2295
  "framework": "EU PSD2 Regulatory Technical Standards on Strong Customer Authentication (Commission Delegated Regulation (EU) 2018/389)",
@@ -1664,7 +2315,17 @@
1664
2315
  "attack_refs": [
1665
2316
  "T1078",
1666
2317
  "T1059"
1667
- ]
2318
+ ],
2319
+ "theater_test": {
2320
+ "claim": "Our payment authentication satisfies PSD2 RTS-SCA strong customer authentication requirements.",
2321
+ "test": "Inventory payment-initiation flows. For any AI-mediated initiation (agent-initiated transactions, copilot-drafted payments), confirm an explicit delegated-authority attestation per transaction class with scope (amount, counterparty, frequency). Confirm a distinct audit indicator marks AI-mediated transactions. Theater verdict if AI initiations inherit the human-user SCA evidence path without delegated-authority attestation.",
2322
+ "evidence_required": [
2323
+ "payment-initiation flow inventory",
2324
+ "delegated-authority policy document",
2325
+ "audit log sample with AI-mediated indicator"
2326
+ ],
2327
+ "verdict_when_failed": "compliance-theater"
2328
+ }
1668
2329
  },
1669
2330
  "PTES-Pre-engagement": {
1670
2331
  "framework": "Penetration Testing Execution Standard (PTES)",
@@ -1692,7 +2353,17 @@
1692
2353
  "attack_refs": [
1693
2354
  "T1195.001",
1694
2355
  "T1071"
1695
- ]
2356
+ ],
2357
+ "theater_test": {
2358
+ "claim": "Our pen-test scoping follows PTES pre-engagement methodology.",
2359
+ "test": "Pull the most-recent PTES scoping document. Confirm AI/MCP assets are enumerated, AI-class attack vectors are in-scope, and the rules-of-engagement permit prompt-injection and MCP-trust testing. Confirm tester competency on AI-class attacks. Theater verdict if AI/MCP is excluded from scope, or if rules-of-engagement prohibit AI-class testing without documented justification.",
2360
+ "evidence_required": [
2361
+ "PTES scoping document",
2362
+ "rules-of-engagement document",
2363
+ "tester competency CV"
2364
+ ],
2365
+ "verdict_when_failed": "compliance-theater"
2366
+ }
1696
2367
  },
1697
2368
  "SLSA-v1.0-Build-L3": {
1698
2369
  "framework": "SLSA v1.0 (Supply-chain Levels for Software Artifacts) — Build Track",
@@ -1720,7 +2391,17 @@
1720
2391
  "attack_refs": [
1721
2392
  "T1195.001",
1722
2393
  "T1195.002"
1723
- ]
2394
+ ],
2395
+ "theater_test": {
2396
+ "claim": "Our build pipeline is SLSA Build L3 with non-falsifiable provenance signed by a hardened build platform.",
2397
+ "test": "Pull the SLSA provenance attestation for the most-recent release. Confirm the build platform is hosted/hardened, the attestation is signed, and the materials cover the full source-of-truth. Then confirm AI-authorship attestation (per-block provenance for AI-generated code with reviewer identity) is present. Confirm any model artefacts shipped have a Model Track equivalent attestation. Theater verdict if attestations exist but AI-authored diffs lack reviewer attestation, or if model artefacts ship at SLSA L0/L1 equivalent without explicit model-track attestation.",
2398
+ "evidence_required": [
2399
+ "SLSA provenance attestation for latest release",
2400
+ "AI-authorship attestation policy and recent merge sample",
2401
+ "model-track attestation if model artefacts shipped"
2402
+ ],
2403
+ "verdict_when_failed": "compliance-theater"
2404
+ }
1724
2405
  },
1725
2406
  "SOC2-CC6-logical-access": {
1726
2407
  "framework": "SOC 2 (AICPA Trust Services Criteria)",
@@ -1741,7 +2422,17 @@
1741
2422
  "atlas_refs": [
1742
2423
  "AML.T0051"
1743
2424
  ],
1744
- "attack_refs": []
2425
+ "attack_refs": [],
2426
+ "theater_test": {
2427
+ "claim": "Our SOC 2 CC6 logical and physical access controls cover all in-scope systems.",
2428
+ "test": "Sample AI-agent invocation flows. Confirm authorisation-context evidence per invocation (scope, tools, data sensitivity). Confirm prompt logging captures sufficient detail for post-incident analysis (input chain, output, tool calls). Confirm anomaly detection alerts on AI-agent actions outside baseline. Theater verdict if AI-agent actions are not separately authorised, prompts are unlogged, or anomaly detection is absent.",
2429
+ "evidence_required": [
2430
+ "AI-agent authorisation-context policy",
2431
+ "prompt-logging configuration with retention",
2432
+ "anomaly-detection rule export"
2433
+ ],
2434
+ "verdict_when_failed": "compliance-theater"
2435
+ }
1745
2436
  },
1746
2437
  "SOC2-CC7-anomaly-detection": {
1747
2438
  "framework": "SOC 2 (AICPA Trust Services Criteria)",
@@ -1765,7 +2456,17 @@
1765
2456
  "attack_refs": [
1766
2457
  "T1071",
1767
2458
  "T1059"
1768
- ]
2459
+ ],
2460
+ "theater_test": {
2461
+ "claim": "Our SOC 2 CC7 system monitoring detects anomalous behaviour.",
2462
+ "test": "Inspect monitoring rules for AI-class anomalies (prompt injection patterns, RAG-corpus drift, agent action volume spikes, tool-call sequence deviations). Confirm at least one alert per class triggered in the past 90 days; confirm triage records exist. Theater verdict if AI-class anomaly rules are absent, or if no alerts triggered despite AI being in production for 90+ days.",
2463
+ "evidence_required": [
2464
+ "AI-class anomaly rule export",
2465
+ "alert-triage records past 90 days",
2466
+ "telemetry volume report"
2467
+ ],
2468
+ "verdict_when_failed": "compliance-theater"
2469
+ }
1769
2470
  },
1770
2471
  "SOC2-CC9-vendor-management": {
1771
2472
  "framework": "SOC 2 (AICPA Trust Services Criteria)",
@@ -1789,7 +2490,17 @@
1789
2490
  ],
1790
2491
  "attack_refs": [
1791
2492
  "T1195.001"
1792
- ]
2493
+ ],
2494
+ "theater_test": {
2495
+ "claim": "Our SOC 2 CC9 vendor management covers all third parties with system access.",
2496
+ "test": "Pull the vendor register. Filter for AI providers; confirm AI-specific contractual clauses (prompt retention, training opt-out, residency, sub-processor disclosure, breach notification). Confirm self-signup AI usage by employees is policy-prohibited and detection is in place. Theater verdict if AI vendors have generic SaaS contracts without AI clauses, or if self-signup is undetected.",
2497
+ "evidence_required": [
2498
+ "vendor register AI subset",
2499
+ "AI-vendor contract clause checklist",
2500
+ "self-signup detection telemetry"
2501
+ ],
2502
+ "verdict_when_failed": "compliance-theater"
2503
+ }
1793
2504
  },
1794
2505
  "SPDX-v3.0-SBOM": {
1795
2506
  "framework": "SPDX v3.0 (ISO/IEC 5962-aligned SBOM standard)",
@@ -1815,7 +2526,17 @@
1815
2526
  ],
1816
2527
  "attack_refs": [
1817
2528
  "T1195.001"
1818
- ]
2529
+ ],
2530
+ "theater_test": {
2531
+ "claim": "We publish SPDX 3.0 SBOMs and they include AI-BOM coverage per the AI profile.",
2532
+ "test": "Pull the SPDX 3.0 document for the most recent release. Confirm the `Build` profile and `AI` profile are both declared. Inspect AI-profile sections for populated `useSensitivePersonalInformation`, `safetyRiskAssessment`, `modelDataPreprocessing`, and training-data fields. Cross-walk SPDX AI-BOM identifiers against CycloneDX ML-BOM identifiers to confirm consistency. Theater verdict if the AI profile is declared but key fields are empty, or if SPDX↔CycloneDX cross-walk produces conflicting model identities.",
2533
+ "evidence_required": [
2534
+ "latest SPDX 3.0 document with profile declarations",
2535
+ "AI-profile field-population coverage report",
2536
+ "SPDX↔CycloneDX cross-walk mapping"
2537
+ ],
2538
+ "verdict_when_failed": "compliance-theater"
2539
+ }
1819
2540
  },
1820
2541
  "SWIFT-CSCF-v2026-1.1": {
1821
2542
  "framework": "SWIFT Customer Security Controls Framework v2026",
@@ -1842,7 +2563,17 @@
1842
2563
  "attack_refs": [
1843
2564
  "T1071",
1844
2565
  "T1078"
1845
- ]
2566
+ ],
2567
+ "theater_test": {
2568
+ "claim": "Our SWIFT secure zone is segregated and protected per CSCF v2026 1.1.",
2569
+ "test": "Inspect the secure-zone policy. Confirm explicit prohibition or strict gating of LLM assistants inside the secure zone. Confirm AI-API egress from administrative jump zones is enumerated as a named conduit with monitoring. Confirm AI-generated MT/MX message drafts are flagged as a distinct review class. Cross-walk to DORA Art. 28 register. Theater verdict if LLM assistants are silently permitted, AI-API egress is unmonitored, or no DORA cross-walk exists.",
2570
+ "evidence_required": [
2571
+ "secure-zone policy document",
2572
+ "AI-API egress monitoring configuration",
2573
+ "DORA Art. 28 cross-walk record"
2574
+ ],
2575
+ "verdict_when_failed": "compliance-theater"
2576
+ }
1846
2577
  },
1847
2578
  "UK-CAF-A1": {
1848
2579
  "framework": "UK NCSC Cyber Assessment Framework v3.2",
@@ -1863,7 +2594,17 @@
1863
2594
  "atlas_refs": [
1864
2595
  "AML.T0010"
1865
2596
  ],
1866
- "attack_refs": []
2597
+ "attack_refs": [],
2598
+ "theater_test": {
2599
+ "claim": "Our governance satisfies UK CAF A1 with board-level cyber risk accountability.",
2600
+ "test": "Pull the board governance pack. Confirm an AI-systems-in-use inventory is reviewed at board cadence, an MCP/plugin trust register exists, and accountability for AI security outcomes maps to a named executive in the NIS2/CCRA scope. Theater verdict if AI is absent from board-pack contents, or if AI accountability is unassigned at executive level.",
2601
+ "evidence_required": [
2602
+ "board governance pack table-of-contents",
2603
+ "AI-systems inventory with board-review cadence",
2604
+ "executive accountability matrix"
2605
+ ],
2606
+ "verdict_when_failed": "compliance-theater"
2607
+ }
1867
2608
  },
1868
2609
  "UK-CAF-B2": {
1869
2610
  "framework": "UK NCSC Cyber Assessment Framework v3.2",
@@ -1888,7 +2629,17 @@
1888
2629
  ],
1889
2630
  "attack_refs": [
1890
2631
  "T1078"
1891
- ]
2632
+ ],
2633
+ "theater_test": {
2634
+ "claim": "Our identity and access management satisfies UK CAF B2.",
2635
+ "test": "Inventory identities including AI-agent service accounts. Confirm authentication strength matches sensitivity (FIDO2 for admin, scope-limited tokens for agents). Confirm continuous verification, not just provisioning-time. Theater verdict if AI-agent accounts use long-lived bearer tokens for admin-equivalent scope, or if verification is provisioning-only.",
2636
+ "evidence_required": [
2637
+ "identity inventory including AI agents",
2638
+ "authentication-strength policy",
2639
+ "continuous-verification configuration"
2640
+ ],
2641
+ "verdict_when_failed": "compliance-theater"
2642
+ }
1892
2643
  },
1893
2644
  "UK-CAF-C1": {
1894
2645
  "framework": "UK NCSC Cyber Assessment Framework v3.2",
@@ -1914,7 +2665,17 @@
1914
2665
  ],
1915
2666
  "attack_refs": [
1916
2667
  "T1567"
1917
- ]
2668
+ ],
2669
+ "theater_test": {
2670
+ "claim": "Our security monitoring satisfies UK CAF C1 across essential service flows.",
2671
+ "test": "Pull the monitoring coverage matrix. Confirm AI-API egress, MCP server invocations, and AI-agent action telemetry are ingested. Confirm alerting on AI-class anomalies has triaged alerts in the past 90 days. Theater verdict if any AI source class is unmonitored or if no AI-class alert has been triaged despite production AI activity.",
2672
+ "evidence_required": [
2673
+ "monitoring coverage matrix",
2674
+ "AI-source ingestion configuration",
2675
+ "alert-triage records past 90 days"
2676
+ ],
2677
+ "verdict_when_failed": "compliance-theater"
2678
+ }
1918
2679
  },
1919
2680
  "UK-CAF-D1": {
1920
2681
  "framework": "UK NCSC Cyber Assessment Framework v3.2",
@@ -1937,7 +2698,17 @@
1937
2698
  "atlas_refs": [],
1938
2699
  "attack_refs": [
1939
2700
  "T1068"
1940
- ]
2701
+ ],
2702
+ "theater_test": {
2703
+ "claim": "Our response and recovery planning satisfies UK CAF D1.",
2704
+ "test": "Pull the incident response plan. Confirm AI-incident scenarios (prompt-injection RCE, RAG-poisoning, agent-action-on-injected-intent, AI-API supply-chain compromise) are exercised in the past 12 months. Confirm the plan integrates with NIS2 24h notification timing. Theater verdict if AI scenarios are absent from the exercise catalogue, or if NIS2 timing is not integrated.",
2705
+ "evidence_required": [
2706
+ "incident response plan",
2707
+ "exercise catalogue with execution dates",
2708
+ "NIS2 timing integration document"
2709
+ ],
2710
+ "verdict_when_failed": "compliance-theater"
2711
+ }
1941
2712
  },
1942
2713
  "VEX-CSAF-v2.1": {
1943
2714
  "framework": "VEX via OASIS CSAF 2.1 (Common Security Advisory Framework)",
@@ -1963,7 +2734,17 @@
1963
2734
  ],
1964
2735
  "attack_refs": [
1965
2736
  "T1195.001"
1966
- ]
2737
+ ],
2738
+ "theater_test": {
2739
+ "claim": "We publish VEX statements via OASIS CSAF 2.1 for our products.",
2740
+ "test": "Pull the published CSAF 2.1 documents. Confirm AI-component identifier scheme presence (model + version + adapters + tokenizer). Confirm at least one VEX statement covers an AI-class vulnerability (jailbreak, prompt injection, embedding inversion). Confirm chaining of base-model VEX statements to derived-model VEX statements where applicable. Theater verdict if AI components are absent from the identifier scheme, or if no AI-class VEX statements exist despite AI components shipping.",
2741
+ "evidence_required": [
2742
+ "CSAF 2.1 published documents",
2743
+ "AI-component identifier mapping",
2744
+ "VEX chain example for base→derived model"
2745
+ ],
2746
+ "verdict_when_failed": "compliance-theater"
2747
+ }
1967
2748
  },
1968
2749
  "FCC-CPNI-4.1": {
1969
2750
  "framework": "FCC-CPNI",
@@ -1987,7 +2768,17 @@
1987
2768
  "T1078",
1988
2769
  "T1098",
1989
2770
  "T1199"
1990
- ]
2771
+ ],
2772
+ "theater_test": {
2773
+ "claim": "Our annual CPNI certification satisfies FCC CPNI obligations.",
2774
+ "test": "Confirm quarterly LI-gateway activation auditing (Salt-Typhoon/PRC threat model). Confirm gNB firmware hash attestation and signaling-anomaly baselines per PLMN-pair. Pull the most recent CPNI certification; confirm those operational artefacts are referenced. Theater verdict if certification is annual-only without LI-gateway/firmware-hash/signaling artefacts.",
2775
+ "evidence_required": [
2776
+ "LI-gateway audit log",
2777
+ "gNB firmware hash telemetry",
2778
+ "signaling baseline document"
2779
+ ],
2780
+ "verdict_when_failed": "compliance-theater"
2781
+ }
1991
2782
  },
1992
2783
  "FCC-Cyber-Incident-Notification-2024": {
1993
2784
  "framework": "FCC",
@@ -2008,7 +2799,17 @@
2008
2799
  "attack_refs": [
2009
2800
  "T1199",
2010
2801
  "T1078"
2011
- ]
2802
+ ],
2803
+ "theater_test": {
2804
+ "claim": "We can meet the FCC 2024 cyber incident notification rule for telecom carriers.",
2805
+ "test": "Run a tabletop with a synthetic significant-incident inject affecting CPNI. Stopwatch elapsed time to a draft FCC notification. Confirm cross-walk to NIS2 24h / DORA 4h timing for multinational operators. Theater verdict if no on-call is named, the playbook hasn't been exercised in 12 months, or cross-walks are absent.",
2806
+ "evidence_required": [
2807
+ "tabletop execution log",
2808
+ "FCC notification draft",
2809
+ "cross-jurisdiction timing matrix"
2810
+ ],
2811
+ "verdict_when_failed": "compliance-theater"
2812
+ }
2012
2813
  },
2013
2814
  "NIS2-Annex-I-Telecom": {
2014
2815
  "framework": "NIS2",
@@ -2032,7 +2833,17 @@
2032
2833
  "T1199",
2033
2834
  "T1078",
2034
2835
  "T1098"
2035
- ]
2836
+ ],
2837
+ "theater_test": {
2838
+ "claim": "Our NIS2 Annex I telecom obligations are satisfied; signaling and LI-system risks are managed.",
2839
+ "test": "Confirm gNB firmware hash attestation pipeline runs continuously across the production fleet. Confirm signaling-anomaly baselines exist per PLMN-pair and that anomalies trigger SOC tickets. Confirm LI-gateway activation auditing runs at least quarterly. Theater verdict if any of those streams are absent, or if no signaling anomaly has been triaged in 90 days despite carrier-pair traffic.",
2840
+ "evidence_required": [
2841
+ "gNB firmware hash attestation telemetry",
2842
+ "signaling-anomaly baseline document and recent alerts",
2843
+ "LI-gateway activation audit log"
2844
+ ],
2845
+ "verdict_when_failed": "compliance-theater"
2846
+ }
2036
2847
  },
2037
2848
  "DORA-Art-21-Telecom-ICT": {
2038
2849
  "framework": "DORA",
@@ -2052,7 +2863,17 @@
2052
2863
  "atlas_refs": [],
2053
2864
  "attack_refs": [
2054
2865
  "T1199"
2055
- ]
2866
+ ],
2867
+ "theater_test": {
2868
+ "claim": "Our telecom ICT third-party arrangements satisfy DORA Art. 21.",
2869
+ "test": "Pull the Art. 21 ICT register; filter for telecom-class providers (carriers, MVNOs, SMS gateways, voice carriers). Confirm enumeration of LI-gateway access risk, signaling-protocol exposure (SS7/Diameter/HTTP/2 for 5G), and sub-carrier visibility into CIF flows. Theater verdict if telecom providers appear only as 'connectivity vendors' without carrier-class threat-model entries, or if no concentration analysis exists across telecom providers.",
2870
+ "evidence_required": [
2871
+ "Art. 21 ICT register telecom subset",
2872
+ "carrier-class threat-model document",
2873
+ "concentration analysis report"
2874
+ ],
2875
+ "verdict_when_failed": "compliance-theater"
2876
+ }
2056
2877
  },
2057
2878
  "UK-CAF-B5": {
2058
2879
  "framework": "UK-CAF",
@@ -2073,7 +2894,17 @@
2073
2894
  "attack_refs": [
2074
2895
  "T1199",
2075
2896
  "T1078"
2076
- ]
2897
+ ],
2898
+ "theater_test": {
2899
+ "claim": "Our resilient telecom networks satisfy UK CAF B5.",
2900
+ "test": "Confirm gNB firmware hash attestation is continuous, signaling-anomaly baselines exist per PLMN-pair, and LI-gateway access auditing is in place. Confirm sub-carrier visibility risks are documented. Theater verdict if any of those streams are missing or if no signaling anomaly has been triaged in 90 days despite carrier-pair traffic.",
2901
+ "evidence_required": [
2902
+ "gNB attestation telemetry",
2903
+ "signaling baseline document",
2904
+ "LI-gateway audit log"
2905
+ ],
2906
+ "verdict_when_failed": "compliance-theater"
2907
+ }
2077
2908
  },
2078
2909
  "AU-ISM-1556": {
2079
2910
  "framework": "au-ism",
@@ -2094,7 +2925,17 @@
2094
2925
  "attack_refs": [
2095
2926
  "T1078",
2096
2927
  "T1098"
2097
- ]
2928
+ ],
2929
+ "theater_test": {
2930
+ "claim": "Our telecom posture satisfies AU ISM control 1556 for signaling-protocol abuse.",
2931
+ "test": "Confirm signaling-anomaly baselines per PLMN-pair, gNB firmware hash attestation, and LI-gateway audit. Pull the past 90 days of signaling alerts; confirm triage records. Theater verdict if any of those streams is missing, or if signaling anomalies are unmonitored.",
2932
+ "evidence_required": [
2933
+ "signaling baseline document with PLMN-pair coverage",
2934
+ "gNB attestation telemetry",
2935
+ "alert-triage records"
2936
+ ],
2937
+ "verdict_when_failed": "compliance-theater"
2938
+ }
2098
2939
  },
2099
2940
  "GSMA-NESAS-Deployment": {
2100
2941
  "framework": "GSMA-NESAS",
@@ -2114,7 +2955,17 @@
2114
2955
  "atlas_refs": [],
2115
2956
  "attack_refs": [
2116
2957
  "T1199"
2117
- ]
2958
+ ],
2959
+ "theater_test": {
2960
+ "claim": "Our telecom equipment is GSMA NESAS-certified across the network.",
2961
+ "test": "Confirm NESAS product-time certification AND operator-attested-runtime gNB hash AND EMS/OSS NESAS-equivalent scheme. Confirm firmware-update cadence triggers recertification attestation. Theater verdict if certification is product-time-only without runtime-attestation, or if firmware updates bypass recertification.",
2962
+ "evidence_required": [
2963
+ "NESAS certification per product",
2964
+ "runtime-attestation telemetry",
2965
+ "firmware-update → recertification mapping"
2966
+ ],
2967
+ "verdict_when_failed": "compliance-theater"
2968
+ }
2118
2969
  },
2119
2970
  "3GPP-TR-33.926": {
2120
2971
  "framework": "3GPP",
@@ -2134,7 +2985,17 @@
2134
2985
  "atlas_refs": [],
2135
2986
  "attack_refs": [
2136
2987
  "T1199"
2137
- ]
2988
+ ],
2989
+ "theater_test": {
2990
+ "claim": "Our 5G gNB security posture aligns with 3GPP TR 33.926 threat-model assumptions.",
2991
+ "test": "Inspect deployment posture against TR 33.926 threats. Confirm runtime gNB integrity attestation and that LI-system compromise paths and signaling-protocol-abuse paths are addressed. Theater verdict if attestation is product-time-only or LI/signaling threats are not deployment-checklisted.",
2992
+ "evidence_required": [
2993
+ "TR 33.926 → deployment-posture mapping",
2994
+ "runtime gNB attestation telemetry",
2995
+ "LI/signaling threat-treatment document"
2996
+ ],
2997
+ "verdict_when_failed": "compliance-theater"
2998
+ }
2138
2999
  },
2139
3000
  "ITU-T-X.805": {
2140
3001
  "framework": "ITU-T",
@@ -2154,7 +3015,17 @@
2154
3015
  "atlas_refs": [],
2155
3016
  "attack_refs": [
2156
3017
  "T1199"
2157
- ]
3018
+ ],
3019
+ "theater_test": {
3020
+ "claim": "Our network security architecture follows ITU-T X.805 8-dimension framing.",
3021
+ "test": "Pull the X.805 architecture document. Confirm modern-threat-model annexes covering LI-system compromise, signaling-protocol abuse, and slice-isolation are present. Confirm a deployment-validation checklist exists and was executed in the past year. Theater verdict if annexes are absent or the deployment checklist has never been executed.",
3022
+ "evidence_required": [
3023
+ "X.805 architecture document with annexes",
3024
+ "deployment-validation checklist execution log",
3025
+ "slice-isolation test results"
3026
+ ],
3027
+ "verdict_when_failed": "compliance-theater"
3028
+ }
2158
3029
  },
2159
3030
  "NIST-800-53-IA-5-Federated": {
2160
3031
  "framework": "NIST 800-53 Rev.5",
@@ -2175,7 +3046,17 @@
2175
3046
  "T1556.007",
2176
3047
  "T1098.001",
2177
3048
  "T1606.002"
2178
- ]
3049
+ ],
3050
+ "theater_test": {
3051
+ "claim": "Our IA-5 authenticator management covers federated identity providers.",
3052
+ "test": "Inspect IdP control-plane: continuous attestation of token-signing certificate fingerprints, claim-transformation rule baseline with per-modification change-control attestation, management-API-token inventory with TTL + scope + source-IP enforcement. Theater verdict if attestation is snapshot-only (quarterly) rather than continuous, or if management-API tokens lack TTL/scope/source-IP enforcement.",
3053
+ "evidence_required": [
3054
+ "IdP token-signing fingerprint telemetry",
3055
+ "claim-transformation change log",
3056
+ "management-API token inventory"
3057
+ ],
3058
+ "verdict_when_failed": "compliance-theater"
3059
+ }
2179
3060
  },
2180
3061
  "ISO-27001-2022-A.5.16-Federated": {
2181
3062
  "framework": "ISO/IEC 27001:2022",
@@ -2195,7 +3076,17 @@
2195
3076
  "attack_refs": [
2196
3077
  "T1098.001",
2197
3078
  "T1199"
2198
- ]
3079
+ ],
3080
+ "theater_test": {
3081
+ "claim": "Our identity management satisfies ISO 27001:2022 A.5.16 across federated systems.",
3082
+ "test": "Confirm IdP-tenant lifecycle management: tenant-admin discovery, off-boarding alerts, dormant-tenant alerts, claim-transformation review cadence. Theater verdict if dormant tenants exist with no alerting, or if claim transformations have no review cadence.",
3083
+ "evidence_required": [
3084
+ "IdP tenant inventory",
3085
+ "off-boarding/dormant alerting configuration",
3086
+ "claim-transformation review cadence document"
3087
+ ],
3088
+ "verdict_when_failed": "compliance-theater"
3089
+ }
2199
3090
  },
2200
3091
  "SOC2-CC6-OAuth-Consent": {
2201
3092
  "framework": "SOC 2 (AICPA Trust Services Criteria)",
@@ -2214,7 +3105,17 @@
2214
3105
  "atlas_refs": [],
2215
3106
  "attack_refs": [
2216
3107
  "T1098.001"
2217
- ]
3108
+ ],
3109
+ "theater_test": {
3110
+ "claim": "Our SOC 2 CC6 covers OAuth consent grants in our SaaS estate.",
3111
+ "test": "Pull the OAuth consent-grant inventory across the IdP estate. Confirm continuous alerting on high-risk scope grants. Confirm per-grant business-purpose attestation. Confirm unverified-publisher grants are gated. Theater verdict if any of those is missing or if high-risk grants exist without attestation/justification.",
3112
+ "evidence_required": [
3113
+ "OAuth consent-grant inventory",
3114
+ "alerting rule for high-risk scope grants",
3115
+ "business-purpose attestation samples"
3116
+ ],
3117
+ "verdict_when_failed": "compliance-theater"
3118
+ }
2218
3119
  },
2219
3120
  "UK-CAF-B2-IdP-Tenant": {
2220
3121
  "framework": "UK NCSC CAF",
@@ -2235,7 +3136,17 @@
2235
3136
  "T1098.001",
2236
3137
  "T1556.007",
2237
3138
  "T1199"
2238
- ]
3139
+ ],
3140
+ "theater_test": {
3141
+ "claim": "Our IdP tenant access controls satisfy UK CAF B2.",
3142
+ "test": "Inspect IdP tenant management; confirm tenant-admin actions require step-up MFA, management-API tokens are scoped + TTL-bounded + source-IP-locked, and token-signing certificate rotation is alert-attested. Theater verdict if any tenant-admin path lacks step-up MFA, or if management-API tokens are unrotated/unscoped/unbounded.",
3143
+ "evidence_required": [
3144
+ "tenant-admin action flow with MFA evidence",
3145
+ "management-API token inventory with TTL/scope/source-IP",
3146
+ "token-signing rotation alert configuration"
3147
+ ],
3148
+ "verdict_when_failed": "compliance-theater"
3149
+ }
2239
3150
  },
2240
3151
  "AU-ISM-1559-IdP": {
2241
3152
  "framework": "AU ISM",
@@ -2255,7 +3166,17 @@
2255
3166
  "attack_refs": [
2256
3167
  "T1078.004",
2257
3168
  "T1098.001"
2258
- ]
3169
+ ],
3170
+ "theater_test": {
3171
+ "claim": "Our IdP posture satisfies AU ISM 1559 for identity provider security.",
3172
+ "test": "Confirm IdP token-signing certificate rotation alerting, claim-transformation change-control, management-API token TTL/scope/source-IP enforcement. Confirm the IdP is treated as critical-infrastructure-tier in the asset inventory. Theater verdict if IdP is in 'IT vendor' tier rather than critical-infrastructure tier.",
3173
+ "evidence_required": [
3174
+ "IdP control-plane monitoring rule export",
3175
+ "asset-tier classification record",
3176
+ "management-API token inventory"
3177
+ ],
3178
+ "verdict_when_failed": "compliance-theater"
3179
+ }
2259
3180
  },
2260
3181
  "NIS2-Art-21-Federated-Identity": {
2261
3182
  "framework": "EU NIS2 Directive",
@@ -2276,7 +3197,17 @@
2276
3197
  "T1098.001",
2277
3198
  "T1556.007",
2278
3199
  "T1199"
2279
- ]
3200
+ ],
3201
+ "theater_test": {
3202
+ "claim": "Our identity-provider risk management satisfies NIS2 Art. 21 for federated-identity dependencies.",
3203
+ "test": "From the supply-chain register, confirm each IdP (Okta, Entra ID, Auth0, Ping, Google Workspace) is listed as an essential-service dependency with concentration analysis. Inspect monitoring rules for token-signing certificate rotation, claim-transformation rule changes, and management-API token activity. Theater verdict if IdPs appear only as 'IT vendor' without dependency-class treatment, or if token-signing rotation events have no alerting rule.",
3204
+ "evidence_required": [
3205
+ "supply-chain register IdP subset",
3206
+ "IdP control-plane monitoring rule export",
3207
+ "IdP concentration analysis"
3208
+ ],
3209
+ "verdict_when_failed": "compliance-theater"
3210
+ }
2280
3211
  },
2281
3212
  "DORA-Art-19-IdP-4h": {
2282
3213
  "framework": "EU DORA",
@@ -2296,7 +3227,17 @@
2296
3227
  "attack_refs": [
2297
3228
  "T1098.001",
2298
3229
  "T1556.007"
2299
- ]
3230
+ ],
3231
+ "theater_test": {
3232
+ "claim": "We can meet the DORA Art. 19 4-hour major-ICT-incident notification clock for IdP compromise.",
3233
+ "test": "Run a tabletop: at T0 a SIEM alert fires for IdP token-signing certificate rotation by an unrecognised principal. Stopwatch the elapsed time from T0 to a draft notification ready for the Competent Authority covering scope, root cause hypothesis, impacted services, and recovery posture. Theater verdict if elapsed time exceeds 4h, or if the playbook does not name the on-call who initiates the clock, or if the tabletop has not been run in the last 12 months.",
3234
+ "evidence_required": [
3235
+ "tabletop execution log with stopwatch timestamps",
3236
+ "DORA notification draft produced under exercise",
3237
+ "on-call rota covering 24/7 IdP-incident response"
3238
+ ],
3239
+ "verdict_when_failed": "compliance-theater"
3240
+ }
2300
3241
  },
2301
3242
  "OFAC-Sanctions-Threat-Actor-Negotiation": {
2302
3243
  "framework": "US Treasury OFAC + EU sanctions overlay + UK OFSI",
@@ -2316,7 +3257,17 @@
2316
3257
  "attack_refs": [
2317
3258
  "T1486",
2318
3259
  "T1078.004"
2319
- ]
3260
+ ],
3261
+ "theater_test": {
3262
+ "claim": "Our sanctions compliance covers any threat-actor negotiation scenario.",
3263
+ "test": "Pull the IR playbook. Confirm pre-rehearsed sanctions screening (US OFAC SDN + EU 2014/833 + UK OFSI + AU DFAT + JP MOF) as a precondition to any negotiator engagement. Confirm counsel-signed attestation workflow with timestamp. Confirm an annual tabletop with a sanctions-match inject under time-pressure. Theater verdict if screening is not pre-rehearsed or if the tabletop has not been run.",
3264
+ "evidence_required": [
3265
+ "IR playbook with sanctions sub-procedure",
3266
+ "counsel-signed attestation template",
3267
+ "tabletop execution log"
3268
+ ],
3269
+ "verdict_when_failed": "compliance-theater"
3270
+ }
2320
3271
  },
2321
3272
  "FedRAMP-IL5-IAM-Federated": {
2322
3273
  "framework": "FedRAMP (US)",
@@ -2340,7 +3291,17 @@
2340
3291
  "attack_refs": [
2341
3292
  "T1078.004",
2342
3293
  "T1098.001"
2343
- ]
3294
+ ],
3295
+ "theater_test": {
3296
+ "claim": "Our FedRAMP IL5 IAM posture covers federated identity for high-impact authorisations.",
3297
+ "test": "Confirm IdP control-plane controls (token-signing rotation alerting, claim-transformation change-control, management-API TTL/scope/source-IP) at IL5 evidence-quality. Confirm cross-account assume-role with subject-claim specificity > wildcard. Theater verdict if controls exist at SP-quality without IL5 evidence-rigor, or if any cross-account chain has wildcard subject claims.",
3298
+ "evidence_required": [
3299
+ "IL5-quality IdP control evidence bundle",
3300
+ "cross-account assume-role policy export",
3301
+ "evidence retention per IL5 cadence"
3302
+ ],
3303
+ "verdict_when_failed": "compliance-theater"
3304
+ }
2344
3305
  },
2345
3306
  "CISA-Snowflake-AA24-IdP-Cloud": {
2346
3307
  "framework": "CISA (US) - Cross-framework advisory",
@@ -2364,7 +3325,17 @@
2364
3325
  "attack_refs": [
2365
3326
  "T1078",
2366
3327
  "T1078.004"
2367
- ]
3328
+ ],
3329
+ "theater_test": {
3330
+ "claim": "We have remediated against the AA24 Snowflake-class advisory pattern (IdP/cloud credential abuse).",
3331
+ "test": "For SaaS data platforms (Snowflake, Databricks, BigQuery, Redshift), confirm SSO-required posture (no local user/password fallback), MFA on every login, and network policies restricting access to known IPs. Pull the user inventory; confirm zero local-auth users and zero MFA exemptions. Theater verdict if any local-auth user persists, MFA exemption exists, or network policies are absent.",
3332
+ "evidence_required": [
3333
+ "data-platform user inventory with auth method",
3334
+ "MFA exemption list",
3335
+ "network policy configuration"
3336
+ ],
3337
+ "verdict_when_failed": "compliance-theater"
3338
+ }
2368
3339
  },
2369
3340
  "NIST-800-53-AC-2-Cross-Account": {
2370
3341
  "framework": "NIST 800-53 Rev 5",
@@ -2388,7 +3359,17 @@
2388
3359
  "attack_refs": [
2389
3360
  "T1078.004",
2390
3361
  "T1098.001"
2391
- ]
3362
+ ],
3363
+ "theater_test": {
3364
+ "claim": "Our cross-account access management satisfies NIST 800-53 AC-2.",
3365
+ "test": "Sample 10 cross-account assume-role chains. For each, confirm subject-claim specificity (no wildcard principal), session-policy scoping, and external-ID where third-party assume-role. Inspect monitoring rules for assume-role chain depth and unusual chain shapes. Theater verdict if any sampled chain has wildcard subject claims or external-ID is missing in third-party scenarios.",
3366
+ "evidence_required": [
3367
+ "cross-account assume-role policy sample",
3368
+ "monitoring rule for chain depth",
3369
+ "external-ID enforcement evidence"
3370
+ ],
3371
+ "verdict_when_failed": "compliance-theater"
3372
+ }
2392
3373
  },
2393
3374
  "ISO-27017-Cloud-IAM": {
2394
3375
  "framework": "ISO/IEC 27017:2015",
@@ -2410,7 +3391,17 @@
2410
3391
  "attack_refs": [
2411
3392
  "T1552.005",
2412
3393
  "T1078.004"
2413
- ]
3394
+ ],
3395
+ "theater_test": {
3396
+ "claim": "Our cloud-IAM posture is hardened per ISO/IEC 27017:2015 cloud-services controls.",
3397
+ "test": "Inspect cloud-IAM configuration: managed identities token-bound to instance identity (where supported); IMDSv2 required with hop-limit and short token TTL; bearer-token TTLs ≤1h non-CAE / ≤24h with Continuous Access Evaluation. Spot-check 10 cross-account assume-role chains and confirm subject-claim specificity > 'wildcard'. Theater verdict if IMDSv1 is in use anywhere, if bearer TTLs exceed the ceilings, or if any sampled cross-account chain has wildcard subject claims.",
3398
+ "evidence_required": [
3399
+ "cloud-IAM configuration export per CSP",
3400
+ "IMDSv2 enforcement audit",
3401
+ "assume-role policy document sample"
3402
+ ],
3403
+ "verdict_when_failed": "compliance-theater"
3404
+ }
2414
3405
  },
2415
3406
  "SOC2-CC6-Access-Key-Leak-Public-Repo": {
2416
3407
  "framework": "AICPA SOC 2 Trust Services Criteria",
@@ -2432,7 +3423,17 @@
2432
3423
  "attack_refs": [
2433
3424
  "T1078.004",
2434
3425
  "T1552.005"
2435
- ]
3426
+ ],
3427
+ "theater_test": {
3428
+ "claim": "Our SOC 2 CC6 covers credential leakage detection across public repositories.",
3429
+ "test": "Confirm continuous secret-scanning across public repos and developer-affiliated personal repos. Confirm leaked-credential auto-revocation (≤5 minutes) integrated with the IdP/CSP. Pull the past 12 months of credential leaks; measure time-from-leak-to-revocation. Theater verdict if scanning is not continuous, auto-revocation is absent, or any leak exceeded 5 minutes to revocation.",
3430
+ "evidence_required": [
3431
+ "secret-scanning configuration",
3432
+ "auto-revocation pipeline architecture",
3433
+ "leak-to-revocation timing per incident"
3434
+ ],
3435
+ "verdict_when_failed": "compliance-theater"
3436
+ }
2436
3437
  },
2437
3438
  "AWS-Security-Hub-Coverage-Gap": {
2438
3439
  "framework": "AWS Security Hub Foundational Security Best Practices (also GCP SCC, Azure Defender for Cloud)",
@@ -2456,7 +3457,17 @@
2456
3457
  "T1078.004",
2457
3458
  "T1098.001",
2458
3459
  "T1562.008"
2459
- ]
3460
+ ],
3461
+ "theater_test": {
3462
+ "claim": "Our cloud posture is monitored end-to-end by AWS Security Hub (or equivalent CSP-native posture tool).",
3463
+ "test": "Pull the past 90 days of Security Hub findings. Cross-reference against IR ticket-tracker. Theater verdict if more than 5 findings closed without remediation evidence (suppression rules only). Then run the project's `cloud-iam-incident` playbook detect-indicator inventory against CloudTrail; theater verdict if Security Hub did not surface indicators that the behavioural inventory does (posture-tool deployment ≠ behavioural coverage).",
3464
+ "evidence_required": [
3465
+ "Security Hub findings export 90 days",
3466
+ "IR ticket-tracker correlation",
3467
+ "cloud-iam-incident detect-indicator → CloudTrail behavioural-rule mapping"
3468
+ ],
3469
+ "verdict_when_failed": "compliance-theater"
3470
+ }
2460
3471
  },
2461
3472
  "UK-CAF-B2-Cloud-IAM": {
2462
3473
  "framework": "UK NCSC CAF (Cyber Assessment Framework) v3.x",
@@ -2478,7 +3489,17 @@
2478
3489
  "attack_refs": [
2479
3490
  "T1078.004",
2480
3491
  "T1098.001"
2481
- ]
3492
+ ],
3493
+ "theater_test": {
3494
+ "claim": "Our cloud-IAM posture satisfies UK CAF B2 across CSPs.",
3495
+ "test": "Pull cloud-IAM configuration: managed-identity binding to instance identity, IMDSv2 required with short token TTL, bearer-token TTL ≤1h non-CAE / ≤24h with CAE, cross-account assume-role with subject-claim specificity. Theater verdict if IMDSv1 is in use, TTLs exceed ceilings, or cross-account claims are wildcard.",
3496
+ "evidence_required": [
3497
+ "cloud-IAM configuration export per CSP",
3498
+ "IMDSv2 enforcement audit",
3499
+ "cross-account assume-role policy export"
3500
+ ],
3501
+ "verdict_when_failed": "compliance-theater"
3502
+ }
2482
3503
  },
2483
3504
  "AU-ISM-1546-Cloud-Service-Account": {
2484
3505
  "framework": "ACSC ISM (Australian Government Information Security Manual)",
@@ -2500,7 +3521,17 @@
2500
3521
  "attack_refs": [
2501
3522
  "T1078.004",
2502
3523
  "T1552.005"
2503
- ]
3524
+ ],
3525
+ "theater_test": {
3526
+ "claim": "Our cloud service-account posture satisfies AU ISM 1546.",
3527
+ "test": "Inventory cloud service accounts. Confirm short-lived OIDC tokens (workload identity federation) are used in preference to static keys; for any remaining static keys, confirm rotation policy ≤90 days and source-IP allowlisting. Theater verdict if static keys exist without rotation/IP-allowlisting, or if workload identity federation is available but not adopted.",
3528
+ "evidence_required": [
3529
+ "cloud service-account inventory by auth method",
3530
+ "rotation policy document",
3531
+ "source-IP allowlist configuration"
3532
+ ],
3533
+ "verdict_when_failed": "compliance-theater"
3534
+ }
2504
3535
  },
2505
3536
  "OFAC-SDN-Payment-Block": {
2506
3537
  "framework": "ALL",
@@ -2518,7 +3549,19 @@
2518
3549
  "opened_date": "2026-05-15",
2519
3550
  "evidence_cves": [],
2520
3551
  "atlas_refs": [],
2521
- "attack_refs": ["T1486"]
3552
+ "attack_refs": [
3553
+ "T1486"
3554
+ ],
3555
+ "theater_test": {
3556
+ "claim": "Our incident response covers OFAC sanctions screening before any ransomware payment.",
3557
+ "test": "Run a tabletop where the inject is a ransomware demand from an attribution-likely-sanctioned actor. Stopwatch the workflow: attribution-evidence package assembled → cross-jurisdiction lookup (OFAC SDN + EU 2014/833 + UK OFSI + AU DFAT + JP MOF) → counsel-signed attestation → pay/restore decision. Theater verdict if any cross-jurisdiction list is missing, counsel-signed attestation is unrehearsed, or the tabletop has not been exercised in the past 12 months.",
3558
+ "evidence_required": [
3559
+ "sanctions-screening sub-procedure document",
3560
+ "tabletop execution log with decision artefacts",
3561
+ "counsel-signed attestation template"
3562
+ ],
3563
+ "verdict_when_failed": "compliance-theater"
3564
+ }
2522
3565
  },
2523
3566
  "Insurance-Carrier-24h-Notification": {
2524
3567
  "framework": "ALL",
@@ -2537,7 +3580,19 @@
2537
3580
  "opened_date": "2026-05-15",
2538
3581
  "evidence_cves": [],
2539
3582
  "atlas_refs": [],
2540
- "attack_refs": ["T1486"]
3583
+ "attack_refs": [
3584
+ "T1486"
3585
+ ],
3586
+ "theater_test": {
3587
+ "claim": "We can meet the 24h cyber insurance carrier notification clock with pre-approval workflow rehearsed.",
3588
+ "test": "Run a tabletop with carrier-notification as an inject. Stopwatch from T0 to (a) loss-notice form submitted via carrier-reachable channel, (b) broker after-hours contact engaged, (c) on-panel IR firm engagement attestation, (d) pre-approval workflow exercised end-to-end. Theater verdict if any sub-step is unrehearsed, the IR firm is off the carrier panel, or the broker after-hours channel is undocumented.",
3589
+ "evidence_required": [
3590
+ "tabletop execution log with stopwatch timestamps",
3591
+ "carrier panel + retained IR firm attestation",
3592
+ "broker after-hours contact + loss-notice form"
3593
+ ],
3594
+ "verdict_when_failed": "compliance-theater"
3595
+ }
2541
3596
  },
2542
3597
  "EU-Sanctions-Reg-2014-833-Cyber": {
2543
3598
  "framework": "EU",
@@ -2555,7 +3610,19 @@
2555
3610
  "opened_date": "2026-05-15",
2556
3611
  "evidence_cves": [],
2557
3612
  "atlas_refs": [],
2558
- "attack_refs": ["T1486"]
3613
+ "attack_refs": [
3614
+ "T1486"
3615
+ ],
3616
+ "theater_test": {
3617
+ "claim": "Our incident response includes EU Regulation 2014/833 cyber sanctions screening.",
3618
+ "test": "Confirm IR playbook integrates EU Reg 2014/833 lookup as a precondition to ransomware payment posture, alongside OFAC + UK + AU + JP. Confirm counsel-signature workflow includes EU jurisdiction-specific counsel where the entity has EU exposure. Theater verdict if EU 2014/833 lookup is absent from the IR playbook, or if EU-jurisdiction counsel is not pre-identified.",
3619
+ "evidence_required": [
3620
+ "IR playbook with EU 2014/833 sub-procedure",
3621
+ "EU-jurisdiction counsel pre-identification record",
3622
+ "tabletop execution log covering EU sanctions inject"
3623
+ ],
3624
+ "verdict_when_failed": "compliance-theater"
3625
+ }
2559
3626
  },
2560
3627
  "Immutable-Backup-Recovery": {
2561
3628
  "framework": "ALL",
@@ -2574,7 +3641,19 @@
2574
3641
  "opened_date": "2026-05-15",
2575
3642
  "evidence_cves": [],
2576
3643
  "atlas_refs": [],
2577
- "attack_refs": ["T1486"]
3644
+ "attack_refs": [
3645
+ "T1486"
3646
+ ],
3647
+ "theater_test": {
3648
+ "claim": "Our backups are immutable and survive a production-admin-credential adversary.",
3649
+ "test": "Annual exercise: take a copy of a production-admin credential to a test environment with replica immutable backups. Attempt deletion via every API the production admin can invoke. Theater verdict if any deletion succeeds without a separate immutability-admin credential, or if 'immutable' resolves to versioning/write-protect/governance-retention that admin can override. Also confirm storage-side compliance-lock (S3 Object Lock compliance-retention, Azure immutable blob with legal hold, Veeam Hardened Repository) is in use.",
3650
+ "evidence_required": [
3651
+ "immutability adversary-test execution log",
3652
+ "storage-side compliance-lock configuration",
3653
+ "admin-separation policy document"
3654
+ ],
3655
+ "verdict_when_failed": "compliance-theater"
3656
+ }
2578
3657
  },
2579
3658
  "Decryptor-Availability-Pre-Decision": {
2580
3659
  "framework": "ALL",
@@ -2593,7 +3672,19 @@
2593
3672
  "opened_date": "2026-05-15",
2594
3673
  "evidence_cves": [],
2595
3674
  "atlas_refs": [],
2596
- "attack_refs": ["T1486"]
3675
+ "attack_refs": [
3676
+ "T1486"
3677
+ ],
3678
+ "theater_test": {
3679
+ "claim": "Our ransomware response checks decryptor availability before any pay/restore decision.",
3680
+ "test": "Run a tabletop. Inject a ransomware family fingerprint (e.g. LockBit 3.0, BlackCat, Akira). Confirm IR playbook executes a curated decryptor catalogue lookup (No More Ransom + Emsisoft + Kaspersky NoMoreCry + Bitdefender + Avast + law-enforcement releases) and records the result with timestamp before the pay/restore decision. Confirm decryptor known-failure-mode review (e.g. ~35% partial-decryption rate per Coveware) is documented as decision input. Theater verdict if catalogue lookup is absent, failure-mode review is missing, or quarterly catalogue refresh is undocumented.",
3681
+ "evidence_required": [
3682
+ "IR playbook decryptor sub-procedure",
3683
+ "tabletop execution log",
3684
+ "quarterly catalogue refresh evidence"
3685
+ ],
3686
+ "verdict_when_failed": "compliance-theater"
3687
+ }
2597
3688
  },
2598
3689
  "PHI-Exfil-Before-Encrypt-Breach-Class": {
2599
3690
  "framework": "ALL",
@@ -2612,6 +3703,19 @@
2612
3703
  "opened_date": "2026-05-15",
2613
3704
  "evidence_cves": [],
2614
3705
  "atlas_refs": [],
2615
- "attack_refs": ["T1486", "T1567"]
3706
+ "attack_refs": [
3707
+ "T1486",
3708
+ "T1567"
3709
+ ],
3710
+ "theater_test": {
3711
+ "claim": "Our HIPAA incident response treats exfil-before-encrypt as a parallel breach class.",
3712
+ "test": "Pull the IR playbook. Confirm exfil-before-encrypt detection (24-72h egress profile preceding encryption event) is integrated. Confirm exfil-scope determination is a parallel obligation independent of encryption-recovery status. Confirm HIPAA 164.402 breach risk assessment auto-triggers on exfil event. Confirm GDPR Art.33/34 + state breach laws + UK GDPR + AU NDB parallel-clock matrix is framework-mandated output. Confirm tabletop exercise injected an exfil-before-encrypt scenario in past 12 months. Theater verdict if any of those is absent.",
3713
+ "evidence_required": [
3714
+ "IR playbook with exfil-before-encrypt sub-procedure",
3715
+ "parallel-clock matrix document",
3716
+ "tabletop execution log within past 12 months"
3717
+ ],
3718
+ "verdict_when_failed": "compliance-theater"
3719
+ }
2616
3720
  }
2617
3721
  }