@blamejs/exceptd-skills 0.20.1 → 0.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/data/_indexes/_meta.json +50 -50
  3. package/data/_indexes/activity-feed.json +21 -21
  4. package/data/_indexes/catalog-summaries.json +10 -10
  5. package/data/_indexes/chains.json +2 -2
  6. package/data/_indexes/did-ladders.json +1 -1
  7. package/data/_indexes/frequency.json +122 -76
  8. package/data/_indexes/jurisdiction-clocks.json +2 -2
  9. package/data/_indexes/section-offsets.json +654 -654
  10. package/data/_indexes/summary-cards.json +34 -28
  11. package/data/_indexes/theater-fingerprints.json +1 -1
  12. package/data/_indexes/token-budget.json +241 -241
  13. package/data/_indexes/xref.json +34 -14
  14. package/data/atlas-ttps.json +246 -292
  15. package/data/attack-techniques.json +13 -1
  16. package/data/cve-catalog.json +833 -246
  17. package/data/cwe-catalog.json +6 -2
  18. package/data/d3fend-catalog.json +2 -3
  19. package/data/framework-control-gaps.json +479 -293
  20. package/data/global-frameworks.json +12 -12
  21. package/data/playbooks/ai-api.json +5 -5
  22. package/data/playbooks/ai-discovered-cve-triage.json +7 -7
  23. package/data/playbooks/cicd-pipeline-compromise.json +1 -2
  24. package/data/playbooks/cloud-iam-incident.json +11 -11
  25. package/data/playbooks/containers.json +3 -3
  26. package/data/playbooks/cred-stores.json +4 -4
  27. package/data/playbooks/crypto-codebase.json +1 -1
  28. package/data/playbooks/crypto.json +4 -4
  29. package/data/playbooks/hardening.json +3 -3
  30. package/data/playbooks/identity-sso-compromise.json +4 -3
  31. package/data/playbooks/idp-incident.json +14 -14
  32. package/data/playbooks/kernel.json +3 -3
  33. package/data/playbooks/llm-tool-use-exfil.json +1 -1
  34. package/data/playbooks/mcp.json +4 -4
  35. package/data/playbooks/post-quantum-migration.json +10 -10
  36. package/data/playbooks/ransomware.json +3 -3
  37. package/data/playbooks/runtime.json +3 -3
  38. package/data/playbooks/sbom.json +3 -3
  39. package/data/playbooks/secrets.json +7 -7
  40. package/data/playbooks/supply-chain-recovery.json +1 -2
  41. package/data/playbooks/webhook-callback-abuse.json +1 -1
  42. package/data/zeroday-lessons.json +804 -399
  43. package/lib/ttp-mapper.js +1 -1
  44. package/manifest-snapshot.json +23 -17
  45. package/manifest-snapshot.sha256 +1 -1
  46. package/manifest.json +126 -120
  47. package/package.json +2 -2
  48. package/sbom.cdx.json +184 -169
  49. package/scripts/backfill-theater-test.js +10 -10
  50. package/scripts/builders/did-ladders.js +1 -1
  51. package/scripts/builders/theater-fingerprints.js +1 -1
  52. package/scripts/check-atlas-catalog-currency.js +47 -4
  53. package/scripts/check-ism-control-references.js +221 -0
  54. package/scripts/check-test-count.js +9 -3
  55. package/scripts/predeploy.js +9 -0
  56. package/scripts/refresh-upstream-catalogs.js +9 -2
  57. package/scripts/release.js +6 -6
  58. package/scripts/sync-manifest-metadata.js +6 -6
  59. package/skills/ai-attack-surface/skill.md +11 -9
  60. package/skills/ai-c2-detection/skill.md +5 -6
  61. package/skills/ai-risk-management/skill.md +6 -5
  62. package/skills/api-security/skill.md +8 -8
  63. package/skills/attack-surface-pentest/skill.md +1 -1
  64. package/skills/cloud-iam-incident/skill.md +2 -2
  65. package/skills/cloud-security/skill.md +2 -1
  66. package/skills/compliance-theater/skill.md +4 -4
  67. package/skills/coordinated-vuln-disclosure/skill.md +1 -1
  68. package/skills/decompression-dos/skill.md +1 -1
  69. package/skills/dlp-gap-analysis/skill.md +3 -3
  70. package/skills/exploit-scoring/skill.md +3 -3
  71. package/skills/framework-gap-analysis/skill.md +3 -3
  72. package/skills/global-grc/skill.md +11 -11
  73. package/skills/idp-incident-response/skill.md +2 -2
  74. package/skills/incident-response-playbook/skill.md +18 -17
  75. package/skills/kernel-lpe-triage/skill.md +1 -1
  76. package/skills/log-injection-telemetry/skill.md +1 -1
  77. package/skills/mcp-agent-trust/skill.md +5 -4
  78. package/skills/mlops-security/skill.md +5 -5
  79. package/skills/multitenancy-isolation/skill.md +1 -1
  80. package/skills/policy-exception-gen/skill.md +1 -1
  81. package/skills/pqc-first/skill.md +1 -1
  82. package/skills/privacy-consent-ops/skill.md +1 -1
  83. package/skills/rag-pipeline-security/skill.md +1 -1
  84. package/skills/ransomware-response/skill.md +2 -2
  85. package/skills/researcher/skill.md +3 -3
  86. package/skills/sector-financial/skill.md +4 -4
  87. package/skills/sector-healthcare/skill.md +3 -2
  88. package/skills/sector-telecom/skill.md +8 -8
  89. package/skills/security-maturity-tiers/skill.md +8 -8
  90. package/skills/self-update-integrity/skill.md +1 -1
  91. package/skills/skill-update-loop/skill.md +3 -3
  92. package/skills/threat-model-currency/skill.md +6 -6
  93. package/skills/threat-modeling-methodology/skill.md +4 -4
  94. package/skills/zeroday-gap-learn/skill.md +3 -3
@@ -102,6 +102,7 @@
102
102
  "AML.T0096",
103
103
  "AML.T0016",
104
104
  "AML.T0017",
105
+ "AML.T0013",
105
106
  "AML.T0018"
106
107
  ],
107
108
  "attack_refs": [
@@ -113,7 +114,7 @@
113
114
  "dlp_refs": []
114
115
  },
115
116
  "trigger_count": 9,
116
- "atlas_count": 8,
117
+ "atlas_count": 9,
117
118
  "attack_count": 3,
118
119
  "framework_gap_count": 12,
119
120
  "cwe_count": 3,
@@ -160,7 +161,8 @@
160
161
  ],
161
162
  "atlas_refs": [
162
163
  "AML.T0010",
163
- "AML.T0016",
164
+ "AML.T0053",
165
+ "AML.T0086",
164
166
  "AML.T0096"
165
167
  ],
166
168
  "attack_refs": [
@@ -180,7 +182,7 @@
180
182
  "dlp_refs": []
181
183
  },
182
184
  "trigger_count": 10,
183
- "atlas_count": 3,
185
+ "atlas_count": 4,
184
186
  "attack_count": 3,
185
187
  "framework_gap_count": 10,
186
188
  "cwe_count": 8,
@@ -358,7 +360,7 @@
358
360
  ],
359
361
  "atlas_refs": [
360
362
  "AML.T0096",
361
- "AML.T0017"
363
+ "AML.T0016"
362
364
  ],
363
365
  "attack_refs": [
364
366
  "T1071",
@@ -505,7 +507,7 @@
505
507
  "handoff_targets": []
506
508
  },
507
509
  "pqc-first": {
508
- "description": "Post-quantum cryptography first mentality — hard version gates, algorithm sunset tracking, loopback learning for NIST/IETF standards evolution",
510
+ "description": "Post-quantum cryptography first mentality — hard version gates (OpenSSL 3.5+), algorithm sunset tracking, HNDL assessment, loopback learning for NIST/IETF standards evolution",
509
511
  "threat_context_excerpt": "The post-quantum migration is not a planning exercise. It is an operational deadline against an adversary that is already collecting ciphertext.",
510
512
  "produces": "The skill produces a structured PQC Readiness Assessment that scores the org's post-quantum migration posture against the NIST PQC standards (ML-KEM / FIPS 203, ML-DSA / FIPS 204, SLH-DSA / FIPS 205), CNSA 2.0, and the BSI / ANSSI / NCSC migration guidance. The shape below is consumed downstream by `crypto` playbook runs (which feed the assessment into the analysis correlation step), by `framework-gap-analysis` (for SC-8 / SC-13 / A.8.24 / A.10 lag declarations), and by `compliance-theater` (which compares the harvest-now-decrypt-later exposure against the org's data-classification claims). Pr ...",
511
513
  "key_xrefs": {
@@ -547,7 +549,7 @@
547
549
  "handoff_targets": []
548
550
  },
549
551
  "skill-update-loop": {
550
- "description": "Meta-skill for keeping all exceptd skills current — fires on new CVEs, ATLAS updates, framework changes, and forward_watch triggers",
552
+ "description": "Meta-skill for keeping all exceptd skills current — fires on new CVEs and CISA KEV listings, ATLAS updates, framework changes, and forward_watch triggers, and scores each skill's currency",
551
553
  "threat_context_excerpt": "The threat context this skill defends against is not a specific adversary technique — it is the **drift attack against the platform's own currency**: an exceptd installation whose skills, catalogs, framework references, and ATLAS pins age silently between releases until the operator-facing analysis is calibrated to a threat model that no longer exists.",
552
554
  "produces": "The skill produces a Skill Update Loop Report covering per-skill `last_threat_review` currency, ATLAS / ATT&CK / D3FEND / CWE catalog version drift, CISA KEV additions since the last review, and the priority queue of skills requiring body updates before the next release. The shape below is consumed downstream by the release-cadence maintainer workflow, by `data/_meta` tracking, and by the predeploy `watchlist` gate. Preserve the per-skill drift columns verbatim — they are the auditable trigger for each forced body refresh.\n\n```\n## Skill Update Loop Report\n\n**Date:** YYYY-MM-DD\n**Last Full Revi ...",
553
555
  "key_xrefs": {
@@ -571,7 +573,7 @@
571
573
  "handoff_targets": []
572
574
  },
573
575
  "security-maturity-tiers": {
574
- "description": "Three-tier implementation roadmap — MVP you can ship today, practical best practices useable now, overkill gold standard for defense-in-depth",
576
+ "description": "Three-tier implementation roadmap — MVP you can ship today, practical best practices usable now, overkill gold standard for defense-in-depth",
575
577
  "threat_context_excerpt": "The 2026 threat baseline forces an MVP that would have looked like a Practical tier in 2022. The cardinal observed change: attacker capability now compresses the time from disclosure to reliable exploitation to hours for an entire class of vulnerabilities, and AI-mediated attack surfaces (prompt injection, MCP supply chain, AI-API C2) sit outside the perimeter and identity controls every framework relies on. The implications by tier:",
576
578
  "produces": "The skill produces a Security Maturity Roadmap that scores each in-scope domain against the published tier definitions and surfaces the next-tier upgrade path with budget bands and dependency ordering. The shape below is consumed downstream by `policy-exception-gen` (for domains where the operator chooses a lower tier than the threat model requires), by `compliance-theater` (which compares the claimed tier against deployed controls), and by `global-grc` (for cross-jurisdictional tier obligations). Preserve the per-domain tier rows verbatim — they are the auditable baseline for the upgrade plan ...",
577
579
  "key_xrefs": {
@@ -765,7 +767,7 @@
765
767
  ],
766
768
  "atlas_refs": [
767
769
  "AML.T0096",
768
- "AML.T0017",
770
+ "AML.T0024",
769
771
  "AML.T0051"
770
772
  ],
771
773
  "attack_refs": [
@@ -1200,14 +1202,15 @@
1200
1202
  "atlas_refs": [
1201
1203
  "AML.T0051",
1202
1204
  "AML.T0096",
1203
- "AML.T0017"
1205
+ "AML.T0017",
1206
+ "AML.T0013"
1204
1207
  ],
1205
1208
  "attack_refs": [],
1206
1209
  "rfc_refs": [],
1207
1210
  "dlp_refs": []
1208
1211
  },
1209
1212
  "trigger_count": 13,
1210
- "atlas_count": 3,
1213
+ "atlas_count": 4,
1211
1214
  "attack_count": 0,
1212
1215
  "framework_gap_count": 7,
1213
1216
  "cwe_count": 2,
@@ -1256,7 +1259,8 @@
1256
1259
  ],
1257
1260
  "atlas_refs": [
1258
1261
  "AML.T0051",
1259
- "AML.T0017"
1262
+ "AML.T0017",
1263
+ "AML.T0013"
1260
1264
  ],
1261
1265
  "attack_refs": [
1262
1266
  "T1078",
@@ -1270,7 +1274,7 @@
1270
1274
  "dlp_refs": []
1271
1275
  },
1272
1276
  "trigger_count": 14,
1273
- "atlas_count": 2,
1277
+ "atlas_count": 3,
1274
1278
  "attack_count": 3,
1275
1279
  "framework_gap_count": 7,
1276
1280
  "cwe_count": 4,
@@ -1322,7 +1326,7 @@
1322
1326
  ],
1323
1327
  "atlas_refs": [
1324
1328
  "AML.T0096",
1325
- "AML.T0017"
1329
+ "AML.T0013"
1326
1330
  ],
1327
1331
  "attack_refs": [
1328
1332
  "T1078",
@@ -1502,13 +1506,13 @@
1502
1506
  "NIS2-Annex-I-Telecom",
1503
1507
  "DORA-Art-21-Telecom-ICT",
1504
1508
  "UK-CAF-B5",
1505
- "AU-ISM-1556",
1509
+ "AU-ISM-1173-Telecom-NMS",
1506
1510
  "GSMA-NESAS-Deployment",
1507
1511
  "3GPP-TR-33.926",
1508
1512
  "ITU-T-X.805"
1509
1513
  ],
1510
1514
  "atlas_refs": [
1511
- "AML.T0040"
1515
+ "AML.T0010"
1512
1516
  ],
1513
1517
  "attack_refs": [
1514
1518
  "T1071",
@@ -1568,7 +1572,7 @@
1568
1572
  ],
1569
1573
  "atlas_refs": [
1570
1574
  "AML.T0096",
1571
- "AML.T0017"
1575
+ "AML.T0013"
1572
1576
  ],
1573
1577
  "attack_refs": [
1574
1578
  "T1190",
@@ -1635,7 +1639,8 @@
1635
1639
  ],
1636
1640
  "atlas_refs": [
1637
1641
  "AML.T0010",
1638
- "AML.T0017"
1642
+ "AML.T0017",
1643
+ "AML.T0013"
1639
1644
  ],
1640
1645
  "attack_refs": [
1641
1646
  "T1078",
@@ -1652,7 +1657,7 @@
1652
1657
  "dlp_refs": []
1653
1658
  },
1654
1659
  "trigger_count": 15,
1655
- "atlas_count": 2,
1660
+ "atlas_count": 3,
1656
1661
  "attack_count": 4,
1657
1662
  "framework_gap_count": 7,
1658
1663
  "cwe_count": 6,
@@ -1778,7 +1783,7 @@
1778
1783
  "AML.T0018",
1779
1784
  "AML.T0020",
1780
1785
  "AML.T0043",
1781
- "AML.T0017"
1786
+ "AML.T0013"
1782
1787
  ],
1783
1788
  "attack_refs": [
1784
1789
  "T1195.001",
@@ -1830,7 +1835,8 @@
1830
1835
  ],
1831
1836
  "atlas_refs": [
1832
1837
  "AML.T0096",
1833
- "AML.T0017",
1838
+ "AML.T0013",
1839
+ "AML.T0024",
1834
1840
  "AML.T0051"
1835
1841
  ],
1836
1842
  "attack_refs": [
@@ -1847,7 +1853,7 @@
1847
1853
  "dlp_refs": []
1848
1854
  },
1849
1855
  "trigger_count": 13,
1850
- "atlas_count": 3,
1856
+ "atlas_count": 4,
1851
1857
  "attack_count": 4,
1852
1858
  "framework_gap_count": 6,
1853
1859
  "cwe_count": 0,
@@ -2065,7 +2071,7 @@
2065
2071
  "SOC2-CC6-Access-Key-Leak-Public-Repo",
2066
2072
  "AWS-Security-Hub-Coverage-Gap",
2067
2073
  "UK-CAF-B2-Cloud-IAM",
2068
- "AU-ISM-1546-Cloud-Service-Account"
2074
+ "AU-ISM-1685-Cloud-Service-Account"
2069
2075
  ],
2070
2076
  "atlas_refs": [
2071
2077
  "AML.T0051"
@@ -2136,7 +2142,7 @@
2136
2142
  "ISO-27001-2022-A.5.16-Federated",
2137
2143
  "SOC2-CC6-OAuth-Consent",
2138
2144
  "UK-CAF-B2-IdP-Tenant",
2139
- "AU-ISM-1559-IdP",
2145
+ "AU-ISM-1685-IdP",
2140
2146
  "NIS2-Art-21-Federated-Identity",
2141
2147
  "DORA-Art-19-IdP-4h",
2142
2148
  "OFAC-Sanctions-Threat-Actor-Negotiation"
@@ -2353,7 +2359,7 @@
2353
2359
  "NIST-800-53-SR-11",
2354
2360
  "NIS2-Art21-network-security",
2355
2361
  "UK-CAF-B4",
2356
- "AU-ISM-1556"
2362
+ "AU-ISM-0298"
2357
2363
  ],
2358
2364
  "atlas_refs": [],
2359
2365
  "attack_refs": [
@@ -2391,7 +2397,7 @@
2391
2397
  "NIST-800-53-AC-3",
2392
2398
  "NIS2-Art21-network-security",
2393
2399
  "UK-CAF-B4",
2394
- "AU-ISM-1556"
2400
+ "AU-ISM-1268"
2395
2401
  ],
2396
2402
  "atlas_refs": [],
2397
2403
  "attack_refs": [
@@ -2433,7 +2439,7 @@
2433
2439
  "NIST-800-53-SI-2",
2434
2440
  "NIS2-Art21-network-security",
2435
2441
  "UK-CAF-B4",
2436
- "AU-ISM-1556"
2442
+ "AU-ISM-1240"
2437
2443
  ],
2438
2444
  "atlas_refs": [],
2439
2445
  "attack_refs": [
@@ -2472,7 +2478,7 @@
2472
2478
  "ISO-27001-2022-A.8.15",
2473
2479
  "NIS2-Art21-network-security",
2474
2480
  "UK-CAF-B4",
2475
- "AU-ISM-1556"
2481
+ "AU-ISM-1815"
2476
2482
  ],
2477
2483
  "atlas_refs": [],
2478
2484
  "attack_refs": [
@@ -2510,7 +2516,7 @@
2510
2516
  "NIST-800-53-SI-2",
2511
2517
  "NIS2-Art21-network-security",
2512
2518
  "UK-CAF-B4",
2513
- "AU-ISM-1556"
2519
+ "AU-ISM-1240"
2514
2520
  ],
2515
2521
  "atlas_refs": [],
2516
2522
  "attack_refs": [
@@ -159,7 +159,7 @@
159
159
  ],
160
160
  "evidence": {
161
161
  "campaign": "SesameOp",
162
- "rationale": "AML.T0096 LLM Integration Abuse as C2 — no detection triggers exist, so IR procedures have no input"
162
+ "rationale": "AML.T0096 AI Service API as C2 — no detection triggers exist, so IR procedures have no input"
163
163
  },
164
164
  "ttps": [
165
165
  "AML.T0020",