@blamejs/exceptd-skills 0.12.11 → 0.12.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CHANGELOG.md +243 -0
  2. package/bin/exceptd.js +299 -48
  3. package/data/_indexes/_meta.json +49 -48
  4. package/data/_indexes/activity-feed.json +13 -5
  5. package/data/_indexes/catalog-summaries.json +51 -29
  6. package/data/_indexes/chains.json +3238 -3210
  7. package/data/_indexes/frequency.json +3 -0
  8. package/data/_indexes/jurisdiction-map.json +5 -3
  9. package/data/_indexes/section-offsets.json +712 -685
  10. package/data/_indexes/theater-fingerprints.json +1 -1
  11. package/data/_indexes/token-budget.json +355 -340
  12. package/data/atlas-ttps.json +144 -129
  13. package/data/attack-techniques.json +339 -0
  14. package/data/cve-catalog.json +515 -475
  15. package/data/cwe-catalog.json +1081 -759
  16. package/data/exploit-availability.json +63 -15
  17. package/data/framework-control-gaps.json +867 -843
  18. package/data/rfc-references.json +276 -276
  19. package/keys/EXPECTED_FINGERPRINT +1 -0
  20. package/lib/auto-discovery.js +21 -4
  21. package/lib/cross-ref-api.js +39 -6
  22. package/lib/cve-curation.js +505 -47
  23. package/lib/lint-skills.js +217 -15
  24. package/lib/playbook-runner.js +1224 -183
  25. package/lib/prefetch.js +121 -8
  26. package/lib/refresh-external.js +261 -95
  27. package/lib/refresh-network.js +208 -18
  28. package/lib/schemas/manifest.schema.json +16 -0
  29. package/lib/scoring.js +83 -7
  30. package/lib/sign.js +112 -3
  31. package/lib/source-ghsa.js +219 -37
  32. package/lib/source-osv.js +381 -122
  33. package/lib/validate-catalog-meta.js +64 -9
  34. package/lib/validate-cve-catalog.js +213 -7
  35. package/lib/validate-indexes.js +88 -37
  36. package/lib/validate-playbooks.js +469 -0
  37. package/lib/verify.js +313 -16
  38. package/manifest-snapshot.json +1 -1
  39. package/manifest-snapshot.sha256 +1 -0
  40. package/manifest.json +73 -73
  41. package/orchestrator/dispatcher.js +21 -1
  42. package/orchestrator/event-bus.js +52 -8
  43. package/orchestrator/index.js +279 -20
  44. package/orchestrator/pipeline.js +63 -2
  45. package/orchestrator/scanner.js +32 -10
  46. package/orchestrator/scheduler.js +196 -20
  47. package/package.json +3 -1
  48. package/sbom.cdx.json +9 -9
  49. package/scripts/check-manifest-snapshot.js +32 -0
  50. package/scripts/check-sbom-currency.js +65 -3
  51. package/scripts/check-test-coverage.js +142 -19
  52. package/scripts/predeploy.js +110 -40
  53. package/scripts/refresh-manifest-snapshot.js +55 -4
  54. package/scripts/validate-vendor-online.js +169 -0
  55. package/scripts/verify-shipped-tarball.js +106 -3
  56. package/skills/ai-attack-surface/skill.md +18 -10
  57. package/skills/ai-c2-detection/skill.md +7 -2
  58. package/skills/ai-risk-management/skill.md +5 -4
  59. package/skills/api-security/skill.md +3 -3
  60. package/skills/attack-surface-pentest/skill.md +5 -5
  61. package/skills/cloud-security/skill.md +1 -1
  62. package/skills/compliance-theater/skill.md +8 -8
  63. package/skills/container-runtime-security/skill.md +1 -1
  64. package/skills/dlp-gap-analysis/skill.md +5 -1
  65. package/skills/email-security-anti-phishing/skill.md +1 -1
  66. package/skills/exploit-scoring/skill.md +18 -18
  67. package/skills/framework-gap-analysis/skill.md +6 -6
  68. package/skills/global-grc/skill.md +3 -2
  69. package/skills/identity-assurance/skill.md +2 -2
  70. package/skills/incident-response-playbook/skill.md +4 -4
  71. package/skills/kernel-lpe-triage/skill.md +21 -2
  72. package/skills/mcp-agent-trust/skill.md +17 -10
  73. package/skills/mlops-security/skill.md +2 -1
  74. package/skills/ot-ics-security/skill.md +1 -1
  75. package/skills/policy-exception-gen/skill.md +3 -3
  76. package/skills/pqc-first/skill.md +1 -1
  77. package/skills/rag-pipeline-security/skill.md +7 -3
  78. package/skills/researcher/skill.md +20 -3
  79. package/skills/sector-energy/skill.md +1 -1
  80. package/skills/sector-federal-government/skill.md +1 -1
  81. package/skills/sector-financial/skill.md +3 -3
  82. package/skills/sector-healthcare/skill.md +2 -2
  83. package/skills/security-maturity-tiers/skill.md +7 -7
  84. package/skills/skill-update-loop/skill.md +19 -3
  85. package/skills/supply-chain-integrity/skill.md +1 -1
  86. package/skills/threat-model-currency/skill.md +11 -11
  87. package/skills/threat-modeling-methodology/skill.md +3 -3
  88. package/skills/webapp-security/skill.md +1 -1
  89. package/skills/zeroday-gap-learn/skill.md +51 -7
  90. package/vendor/blamejs/_PROVENANCE.json +4 -1
  91. package/vendor/blamejs/worker-pool.js +38 -0
@@ -2,7 +2,7 @@
2
2
  "_meta": {
3
3
  "schema_version": "1.0.0",
4
4
  "note": "Per-artifact 'last changed' feed sorted descending by date. Skill events from manifest.last_threat_review; catalog events from data/<catalog>.json _meta.last_updated.",
5
- "event_count": 49
5
+ "event_count": 50
6
6
  },
7
7
  "events": [
8
8
  {
@@ -13,6 +13,14 @@
13
13
  "schema_version": "1.0.0",
14
14
  "entry_count": 15
15
15
  },
16
+ {
17
+ "date": "2026-05-13",
18
+ "type": "catalog_update",
19
+ "artifact": "data/attack-techniques.json",
20
+ "path": "data/attack-techniques.json",
21
+ "schema_version": "1.0.0",
22
+ "entry_count": 79
23
+ },
16
24
  {
17
25
  "date": "2026-05-13",
18
26
  "type": "catalog_update",
@@ -27,7 +35,7 @@
27
35
  "artifact": "data/cwe-catalog.json",
28
36
  "path": "data/cwe-catalog.json",
29
37
  "schema_version": "1.0.0",
30
- "entry_count": 53
38
+ "entry_count": 55
31
39
  },
32
40
  {
33
41
  "date": "2026-05-13",
@@ -341,7 +349,7 @@
341
349
  "artifact": "data/exploit-availability.json",
342
350
  "path": "data/exploit-availability.json",
343
351
  "schema_version": "1.0.0",
344
- "entry_count": 5
352
+ "entry_count": 9
345
353
  },
346
354
  {
347
355
  "date": "2026-05-01",
@@ -349,14 +357,14 @@
349
357
  "artifact": "data/framework-control-gaps.json",
350
358
  "path": "data/framework-control-gaps.json",
351
359
  "schema_version": "1.0.0",
352
- "entry_count": 61
360
+ "entry_count": 62
353
361
  },
354
362
  {
355
363
  "date": "2026-05-01",
356
364
  "type": "manifest_review",
357
365
  "artifact": "manifest.json",
358
366
  "path": "manifest.json",
359
- "note": "manifest threat_review_date — 38 skills, 10 catalogs"
367
+ "note": "manifest threat_review_date — 38 skills, 11 catalogs"
360
368
  }
361
369
  ]
362
370
  }
@@ -2,7 +2,7 @@
2
2
  "_meta": {
3
3
  "schema_version": "1.0.0",
4
4
  "note": "Per-catalog compact summary so AI consumers can discover available data without loading every _meta block. Purpose strings are curated in scripts/builders/catalog-summaries.js.",
5
- "catalog_count": 10
5
+ "catalog_count": 11
6
6
  },
7
7
  "catalogs": {
8
8
  "atlas-ttps.json": {
@@ -20,11 +20,33 @@
20
20
  },
21
21
  "entry_count": 15,
22
22
  "sample_keys": [
23
- "AML.T0043",
24
23
  "AML.T0010",
25
24
  "AML.T0016",
26
25
  "AML.T0017",
27
- "AML.T0018"
26
+ "AML.T0018",
27
+ "AML.T0020"
28
+ ]
29
+ },
30
+ "attack-techniques.json": {
31
+ "path": "data/attack-techniques.json",
32
+ "purpose": null,
33
+ "schema_version": "1.0.0",
34
+ "last_updated": "2026-05-13",
35
+ "tlp": "CLEAR",
36
+ "source_confidence_default": "A1",
37
+ "freshness_policy": {
38
+ "default_review_cadence_days": 90,
39
+ "stale_after_days": 180,
40
+ "rebuild_after_days": 365,
41
+ "note": "Catalog must be rebuilt against the upstream ATT&CK release whenever MITRE publishes a new version. AGENTS.md hard rule #8 requires the bump to be intentional, not silent."
42
+ },
43
+ "entry_count": 79,
44
+ "sample_keys": [
45
+ "T0001",
46
+ "T0017",
47
+ "T0051",
48
+ "T0096",
49
+ "T0853"
28
50
  ]
29
51
  },
30
52
  "cve-catalog.json": {
@@ -42,11 +64,11 @@
42
64
  },
43
65
  "entry_count": 9,
44
66
  "sample_keys": [
45
- "CVE-2026-31431",
46
- "CVE-2026-43284",
47
- "CVE-2026-43500",
48
67
  "CVE-2025-53773",
49
- "CVE-2026-30615"
68
+ "CVE-2026-30615",
69
+ "CVE-2026-31431",
70
+ "CVE-2026-39884",
71
+ "CVE-2026-42208"
50
72
  ]
51
73
  },
52
74
  "cwe-catalog.json": {
@@ -62,13 +84,13 @@
62
84
  "rebuild_after_days": 365,
63
85
  "note": "Per-entry last_verified governs decay. Skills depending on this catalog must check entry freshness before high-stakes use."
64
86
  },
65
- "entry_count": 53,
87
+ "entry_count": 55,
66
88
  "sample_keys": [
67
- "CWE-787",
68
- "CWE-79",
69
- "CWE-89",
70
- "CWE-416",
71
- "CWE-20"
89
+ "CWE-20",
90
+ "CWE-22",
91
+ "CWE-77",
92
+ "CWE-78",
93
+ "CWE-79"
72
94
  ]
73
95
  },
74
96
  "d3fend-catalog.json": {
@@ -128,13 +150,13 @@
128
150
  "rebuild_after_days": 365,
129
151
  "note": "Per-entry last_verified governs decay. Skills depending on this catalog must check entry freshness before high-stakes use."
130
152
  },
131
- "entry_count": 5,
153
+ "entry_count": 9,
132
154
  "sample_keys": [
133
- "CVE-2026-31431",
134
- "CVE-2026-43284",
135
- "CVE-2026-43500",
136
155
  "CVE-2025-53773",
137
- "CVE-2026-30615"
156
+ "CVE-2026-30615",
157
+ "CVE-2026-31431",
158
+ "CVE-2026-39884",
159
+ "CVE-2026-42208"
138
160
  ]
139
161
  },
140
162
  "framework-control-gaps.json": {
@@ -150,13 +172,13 @@
150
172
  "rebuild_after_days": 365,
151
173
  "note": "Per-entry last_verified governs decay. Skills depending on this catalog must check entry freshness before high-stakes use."
152
174
  },
153
- "entry_count": 61,
175
+ "entry_count": 62,
154
176
  "sample_keys": [
155
- "NIST-800-53-SI-2",
156
- "NIST-800-53-SC-8",
157
- "NIST-800-53-AC-2",
158
- "NIST-800-53-SI-3",
159
- "NIST-800-53-SA-12"
177
+ "ALL-AI-PIPELINE-INTEGRITY",
178
+ "ALL-MCP-TOOL-TRUST",
179
+ "ALL-PROMPT-INJECTION-ACCESS-CONTROL",
180
+ "AU-Essential-8-App-Hardening",
181
+ "AU-Essential-8-Backup"
160
182
  ]
161
183
  },
162
184
  "global-frameworks.json": {
@@ -196,11 +218,11 @@
196
218
  },
197
219
  "entry_count": 31,
198
220
  "sample_keys": [
199
- "RFC-8446",
200
- "DRAFT-IETF-TLS-ECDHE-MLKEM",
201
- "DRAFT-IETF-TLS-HYBRID-DESIGN",
202
- "RFC-9180",
203
- "RFC-9458"
221
+ "RFC-4301",
222
+ "RFC-4303",
223
+ "RFC-6376",
224
+ "RFC-6545",
225
+ "RFC-6546"
204
226
  ]
205
227
  },
206
228
  "zeroday-lessons.json": {