@blamejs/exceptd-skills 0.12.39 → 0.12.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +17 -0
- package/ARCHITECTURE.md +7 -4
- package/CHANGELOG.md +136 -237
- package/CONTEXT.md +2 -2
- package/README.md +2 -8
- package/agents/threat-researcher.md +2 -2
- package/bin/exceptd.js +134 -39
- package/data/_indexes/_meta.json +9 -9
- package/data/_indexes/activity-feed.json +1 -1
- package/data/_indexes/catalog-summaries.json +1 -1
- package/data/_indexes/chains.json +2794 -800
- package/data/_indexes/frequency.json +4 -0
- package/data/_indexes/section-offsets.json +20 -20
- package/data/_indexes/token-budget.json +5 -5
- package/data/cve-catalog.json +21 -28
- package/data/exploit-availability.json +1 -0
- package/data/framework-control-gaps.json +229 -193
- package/data/global-frameworks.json +1 -0
- package/data/playbooks/crypto-codebase.json +13 -0
- package/data/zeroday-lessons.json +1 -0
- package/lib/framework-gap.js +13 -3
- package/lib/lint-skills.js +1 -1
- package/lib/playbook-runner.js +8 -4
- package/lib/scoring.js +9 -1
- package/lib/sign.js +40 -7
- package/lib/verify.js +5 -5
- package/manifest-snapshot.json +1 -1
- package/manifest-snapshot.sha256 +1 -1
- package/manifest.json +45 -45
- package/orchestrator/README.md +7 -7
- package/orchestrator/index.js +32 -14
- package/orchestrator/scheduler.js +2 -2
- package/package.json +1 -1
- package/sbom.cdx.json +36 -36
- package/scripts/check-test-coverage.js +6 -6
- package/scripts/refresh-reverse-refs.js +42 -15
- package/skills/mlops-security/skill.md +1 -1
|
@@ -2520,6 +2520,7 @@
|
|
|
2520
2520
|
"AU-Essential-8-Backup",
|
|
2521
2521
|
"AU-Essential-8-MFA",
|
|
2522
2522
|
"AU-Essential-8-Patch",
|
|
2523
|
+
"AU-ISM-1546",
|
|
2523
2524
|
"CIS-Controls-v8-10.1",
|
|
2524
2525
|
"DORA-Art-9",
|
|
2525
2526
|
"DORA-Art28",
|
|
@@ -2537,9 +2538,11 @@
|
|
|
2537
2538
|
"HIPAA-Security-Rule-2026-NPRM-164.310",
|
|
2538
2539
|
"HIPAA-Security-Rule-2026-NPRM-164.312",
|
|
2539
2540
|
"HIPAA-Security-Rule-2026-NPRM-164.314",
|
|
2541
|
+
"ISO-27001-2022-A.5.7",
|
|
2540
2542
|
"ISO-27001-2022-A.8.7",
|
|
2541
2543
|
"NIS2-Art21-identity-management",
|
|
2542
2544
|
"NIS2-Art21-incident-handling",
|
|
2545
|
+
"NIS2-Art21-supply-chain",
|
|
2543
2546
|
"NIS2-Art21-vulnerability-management",
|
|
2544
2547
|
"NIST-800-53-AC-3",
|
|
2545
2548
|
"NIST-800-53-AC-6",
|
|
@@ -2552,6 +2555,7 @@
|
|
|
2552
2555
|
"PCI-DSS-4.0.1-6.4.3",
|
|
2553
2556
|
"UK-CAF-A1",
|
|
2554
2557
|
"UK-CAF-B2",
|
|
2558
|
+
"UK-CAF-B4",
|
|
2555
2559
|
"UK-CAF-C1",
|
|
2556
2560
|
"UK-CAF-D1"
|
|
2557
2561
|
],
|
|
@@ -3543,21 +3543,21 @@
|
|
|
3543
3543
|
},
|
|
3544
3544
|
"mlops-security": {
|
|
3545
3545
|
"path": "skills/mlops-security/skill.md",
|
|
3546
|
-
"total_bytes":
|
|
3546
|
+
"total_bytes": 45463,
|
|
3547
3547
|
"total_lines": 330,
|
|
3548
3548
|
"frontmatter": {
|
|
3549
3549
|
"line_start": 1,
|
|
3550
3550
|
"line_end": 66,
|
|
3551
3551
|
"byte_start": 0,
|
|
3552
|
-
"byte_end":
|
|
3552
|
+
"byte_end": 2422
|
|
3553
3553
|
},
|
|
3554
3554
|
"sections": [
|
|
3555
3555
|
{
|
|
3556
3556
|
"name": "Threat Context (mid-2026)",
|
|
3557
3557
|
"normalized_name": "threat-context",
|
|
3558
3558
|
"line": 70,
|
|
3559
|
-
"byte_start":
|
|
3560
|
-
"byte_end":
|
|
3559
|
+
"byte_start": 2461,
|
|
3560
|
+
"byte_end": 8291,
|
|
3561
3561
|
"bytes": 5830,
|
|
3562
3562
|
"h3_count": 0
|
|
3563
3563
|
},
|
|
@@ -3565,8 +3565,8 @@
|
|
|
3565
3565
|
"name": "Framework Lag Declaration",
|
|
3566
3566
|
"normalized_name": "framework-lag-declaration",
|
|
3567
3567
|
"line": 88,
|
|
3568
|
-
"byte_start":
|
|
3569
|
-
"byte_end":
|
|
3568
|
+
"byte_start": 8291,
|
|
3569
|
+
"byte_end": 14073,
|
|
3570
3570
|
"bytes": 5782,
|
|
3571
3571
|
"h3_count": 0
|
|
3572
3572
|
},
|
|
@@ -3574,8 +3574,8 @@
|
|
|
3574
3574
|
"name": "TTP Mapping",
|
|
3575
3575
|
"normalized_name": "ttp-mapping",
|
|
3576
3576
|
"line": 112,
|
|
3577
|
-
"byte_start":
|
|
3578
|
-
"byte_end":
|
|
3577
|
+
"byte_start": 14073,
|
|
3578
|
+
"byte_end": 18449,
|
|
3579
3579
|
"bytes": 4376,
|
|
3580
3580
|
"h3_count": 0
|
|
3581
3581
|
},
|
|
@@ -3583,8 +3583,8 @@
|
|
|
3583
3583
|
"name": "Exploit Availability Matrix",
|
|
3584
3584
|
"normalized_name": "exploit-availability-matrix",
|
|
3585
3585
|
"line": 137,
|
|
3586
|
-
"byte_start":
|
|
3587
|
-
"byte_end":
|
|
3586
|
+
"byte_start": 18449,
|
|
3587
|
+
"byte_end": 23935,
|
|
3588
3588
|
"bytes": 5486,
|
|
3589
3589
|
"h3_count": 0
|
|
3590
3590
|
},
|
|
@@ -3592,8 +3592,8 @@
|
|
|
3592
3592
|
"name": "Analysis Procedure",
|
|
3593
3593
|
"normalized_name": "analysis-procedure",
|
|
3594
3594
|
"line": 163,
|
|
3595
|
-
"byte_start":
|
|
3596
|
-
"byte_end":
|
|
3595
|
+
"byte_start": 23935,
|
|
3596
|
+
"byte_end": 33004,
|
|
3597
3597
|
"bytes": 9069,
|
|
3598
3598
|
"h3_count": 4
|
|
3599
3599
|
},
|
|
@@ -3601,8 +3601,8 @@
|
|
|
3601
3601
|
"name": "Output Format",
|
|
3602
3602
|
"normalized_name": "output-format",
|
|
3603
3603
|
"line": 228,
|
|
3604
|
-
"byte_start":
|
|
3605
|
-
"byte_end":
|
|
3604
|
+
"byte_start": 33004,
|
|
3605
|
+
"byte_end": 35682,
|
|
3606
3606
|
"bytes": 2678,
|
|
3607
3607
|
"h3_count": 10
|
|
3608
3608
|
},
|
|
@@ -3610,8 +3610,8 @@
|
|
|
3610
3610
|
"name": "Compliance Theater Check",
|
|
3611
3611
|
"normalized_name": "compliance-theater-check",
|
|
3612
3612
|
"line": 281,
|
|
3613
|
-
"byte_start":
|
|
3614
|
-
"byte_end":
|
|
3613
|
+
"byte_start": 35682,
|
|
3614
|
+
"byte_end": 38613,
|
|
3615
3615
|
"bytes": 2931,
|
|
3616
3616
|
"h3_count": 0
|
|
3617
3617
|
},
|
|
@@ -3619,8 +3619,8 @@
|
|
|
3619
3619
|
"name": "Defensive Countermeasure Mapping",
|
|
3620
3620
|
"normalized_name": "defensive-countermeasure-mapping",
|
|
3621
3621
|
"line": 297,
|
|
3622
|
-
"byte_start":
|
|
3623
|
-
"byte_end":
|
|
3622
|
+
"byte_start": 38613,
|
|
3623
|
+
"byte_end": 42533,
|
|
3624
3624
|
"bytes": 3920,
|
|
3625
3625
|
"h3_count": 0
|
|
3626
3626
|
},
|
|
@@ -3628,8 +3628,8 @@
|
|
|
3628
3628
|
"name": "Hand-Off / Related Skills",
|
|
3629
3629
|
"normalized_name": "hand-off",
|
|
3630
3630
|
"line": 317,
|
|
3631
|
-
"byte_start":
|
|
3632
|
-
"byte_end":
|
|
3631
|
+
"byte_start": 42533,
|
|
3632
|
+
"byte_end": 45463,
|
|
3633
3633
|
"bytes": 2930,
|
|
3634
3634
|
"h3_count": 0
|
|
3635
3635
|
}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"schema_version": "1.0.0",
|
|
4
4
|
"tokenizer_note": "Character-density approximation: 1 token ≈ 4 chars. This is the canonical rule-of-thumb for OpenAI tokenizers on English+technical text. Claude's tokenizer is typically more efficient on prose; treat this as an upper-bound budget for both. Consumers with stricter precision needs should re-tokenize with their own tokenizer.",
|
|
5
5
|
"approx_chars_per_token": 4,
|
|
6
|
-
"total_chars":
|
|
7
|
-
"total_approx_tokens":
|
|
6
|
+
"total_chars": 1591076,
|
|
7
|
+
"total_approx_tokens": 397775,
|
|
8
8
|
"skill_count": 42
|
|
9
9
|
},
|
|
10
10
|
"skills": {
|
|
@@ -2065,10 +2065,10 @@
|
|
|
2065
2065
|
},
|
|
2066
2066
|
"mlops-security": {
|
|
2067
2067
|
"path": "skills/mlops-security/skill.md",
|
|
2068
|
-
"bytes":
|
|
2069
|
-
"chars":
|
|
2068
|
+
"bytes": 45463,
|
|
2069
|
+
"chars": 45171,
|
|
2070
2070
|
"lines": 330,
|
|
2071
|
-
"approx_tokens":
|
|
2071
|
+
"approx_tokens": 11293,
|
|
2072
2072
|
"approx_chars_per_token": 4,
|
|
2073
2073
|
"sections": {
|
|
2074
2074
|
"threat-context": {
|
package/data/cve-catalog.json
CHANGED
|
@@ -36,6 +36,16 @@
|
|
|
36
36
|
},
|
|
37
37
|
"vendor_advisory_field_added": "2026-05-11",
|
|
38
38
|
"vendor_advisory_note": "Each CVE carries a structured vendor_advisories array (vendor, advisory_id, url, severity, published_date) for downstream consumers that route by vendor advisory. Unknown advisory IDs are null with the canonical vendor CVE-resolver URL — never fabricated. Existing free-form references are preserved in verification_sources; vendor_advisories is additive.",
|
|
39
|
+
"active_exploitation_vocabulary": {
|
|
40
|
+
"values": ["confirmed", "suspected", "theoretical", "none", "unknown"],
|
|
41
|
+
"definitions": {
|
|
42
|
+
"confirmed": "Active in-the-wild exploitation observed and attributed",
|
|
43
|
+
"suspected": "Indicators consistent with exploitation; attribution incomplete",
|
|
44
|
+
"theoretical": "Working PoC published; no confirmed exploitation",
|
|
45
|
+
"none": "No exploitation observed; vulnerability disclosed and patched",
|
|
46
|
+
"unknown": "Insufficient telemetry to classify"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
39
49
|
"ai_discovery_methodology": {
|
|
40
50
|
"field_added": "2026-05-15",
|
|
41
51
|
"agents_md_target": "Hard Rule #7 — '41% of 2025 zero-days were AI-discovered'. Catalog target rate floor: 0.40.",
|
|
@@ -1318,7 +1328,7 @@
|
|
|
1318
1328
|
"NIST-800-53-SI-2": "30-day critical patch SLA is an exploitation window for a deterministic LPE with a public PoC. Module-unload mitigation is non-reboot and available immediately, but no SI-2 implementation requires it as a compensating control.",
|
|
1319
1329
|
"ISO-27001-2022-A.8.8": "'Appropriate timescales' undefined; standard 30-day interpretation is unsafe for deterministic LPE with public PoC. No requirement to track kernel-module-blacklist as a compensating control.",
|
|
1320
1330
|
"NIS2-Art21-patch-management": "Art. 21(2)(c) patch-management measures are undefined for fast-cycle kernel LPEs with public PoC. No guidance on module-blacklist as an interim measure.",
|
|
1321
|
-
"DORA-
|
|
1331
|
+
"DORA-Art-9": "ICT incident management presumes vendor-patch cadence; module-unload as immediate mitigation has no place in the typical DORA evidence pack.",
|
|
1322
1332
|
"UK-CAF-B4": "System security principle is silent on subsystem module disable as a compensating control for unpatched kernel LPE.",
|
|
1323
1333
|
"AU-ISM-1546": "Essential 8 patch-applications maturity ladder anchors on advisory date, not on PoC availability. ML3 48h is still long for a deterministic public exploit.",
|
|
1324
1334
|
"ISO-27001-2022-A.5.7": "Threat-intelligence control collects feeds but does not require the operational pivot (module unload) when intel shows a same-family sequel to a previously-patched bug."
|
|
@@ -1500,9 +1510,7 @@
|
|
|
1500
1510
|
},
|
|
1501
1511
|
"epss_score": 0.65,
|
|
1502
1512
|
"epss_date": "2026-05-14",
|
|
1503
|
-
"cwe_refs": [
|
|
1504
|
-
"CWE-403"
|
|
1505
|
-
],
|
|
1513
|
+
"cwe_refs": [],
|
|
1506
1514
|
"source_verified": "2026-05-14",
|
|
1507
1515
|
"verification_sources": [
|
|
1508
1516
|
"https://nvd.nist.gov/vuln/detail/CVE-2024-21626",
|
|
@@ -1626,8 +1634,7 @@
|
|
|
1626
1634
|
},
|
|
1627
1635
|
"atlas_refs": [],
|
|
1628
1636
|
"attack_refs": [
|
|
1629
|
-
"T1611"
|
|
1630
|
-
"T1547.006"
|
|
1637
|
+
"T1611"
|
|
1631
1638
|
],
|
|
1632
1639
|
"rwep_score": 30,
|
|
1633
1640
|
"rwep_factors": {
|
|
@@ -1689,10 +1696,7 @@
|
|
|
1689
1696
|
"atlas_refs": [
|
|
1690
1697
|
"AML.T0016"
|
|
1691
1698
|
],
|
|
1692
|
-
"attack_refs": [
|
|
1693
|
-
"T1083",
|
|
1694
|
-
"T1005"
|
|
1695
|
-
],
|
|
1699
|
+
"attack_refs": [],
|
|
1696
1700
|
"rwep_score": 30,
|
|
1697
1701
|
"rwep_factors": {
|
|
1698
1702
|
"cisa_kev": 0,
|
|
@@ -1834,7 +1838,6 @@
|
|
|
1834
1838
|
"epss_score": 0.967,
|
|
1835
1839
|
"epss_date": "2026-05-14",
|
|
1836
1840
|
"cwe_refs": [
|
|
1837
|
-
"CWE-119",
|
|
1838
1841
|
"CWE-787"
|
|
1839
1842
|
],
|
|
1840
1843
|
"source_verified": "2026-05-14",
|
|
@@ -1896,9 +1899,7 @@
|
|
|
1896
1899
|
},
|
|
1897
1900
|
"epss_score": 0.973,
|
|
1898
1901
|
"epss_date": "2026-05-14",
|
|
1899
|
-
"cwe_refs": [
|
|
1900
|
-
"CWE-288"
|
|
1901
|
-
],
|
|
1902
|
+
"cwe_refs": [],
|
|
1902
1903
|
"source_verified": "2026-05-14",
|
|
1903
1904
|
"verification_sources": [
|
|
1904
1905
|
"https://nvd.nist.gov/vuln/detail/CVE-2024-1709",
|
|
@@ -2006,8 +2007,7 @@
|
|
|
2006
2007
|
},
|
|
2007
2008
|
"atlas_refs": [],
|
|
2008
2009
|
"attack_refs": [
|
|
2009
|
-
"T1525"
|
|
2010
|
-
"T1046"
|
|
2010
|
+
"T1525"
|
|
2011
2011
|
],
|
|
2012
2012
|
"rwep_score": 30,
|
|
2013
2013
|
"rwep_factors": {
|
|
@@ -2022,9 +2022,7 @@
|
|
|
2022
2022
|
},
|
|
2023
2023
|
"epss_score": 0.005,
|
|
2024
2024
|
"epss_date": "2026-05-14",
|
|
2025
|
-
"cwe_refs": [
|
|
2026
|
-
"CWE-190"
|
|
2027
|
-
],
|
|
2025
|
+
"cwe_refs": [],
|
|
2028
2026
|
"source_verified": "2026-05-14",
|
|
2029
2027
|
"verification_sources": [
|
|
2030
2028
|
"https://nvd.nist.gov/vuln/detail/CVE-2024-40635",
|
|
@@ -2073,8 +2071,7 @@
|
|
|
2073
2071
|
"NIS2-Art21-supply-chain": "Generic supply chain controls without npm-ecosystem-specific guidance."
|
|
2074
2072
|
},
|
|
2075
2073
|
"atlas_refs": [
|
|
2076
|
-
"AML.T0010"
|
|
2077
|
-
"AML.T0019"
|
|
2074
|
+
"AML.T0010"
|
|
2078
2075
|
],
|
|
2079
2076
|
"attack_refs": [
|
|
2080
2077
|
"T1195.001",
|
|
@@ -2238,8 +2235,7 @@
|
|
|
2238
2235
|
"epss_score": null,
|
|
2239
2236
|
"epss_date": "2026-05-14",
|
|
2240
2237
|
"cwe_refs": [
|
|
2241
|
-
"CWE-287"
|
|
2242
|
-
"CWE-841"
|
|
2238
|
+
"CWE-287"
|
|
2243
2239
|
],
|
|
2244
2240
|
"source_verified": "2026-05-14",
|
|
2245
2241
|
"verification_sources": [
|
|
@@ -2597,8 +2593,7 @@
|
|
|
2597
2593
|
},
|
|
2598
2594
|
"atlas_refs": [],
|
|
2599
2595
|
"attack_refs": [
|
|
2600
|
-
"T1190"
|
|
2601
|
-
"T1490"
|
|
2596
|
+
"T1190"
|
|
2602
2597
|
],
|
|
2603
2598
|
"rwep_score": 45,
|
|
2604
2599
|
"rwep_factors": {
|
|
@@ -2737,8 +2732,7 @@
|
|
|
2737
2732
|
"AML.T0040"
|
|
2738
2733
|
],
|
|
2739
2734
|
"attack_refs": [
|
|
2740
|
-
"T1190"
|
|
2741
|
-
"T1505.003"
|
|
2735
|
+
"T1190"
|
|
2742
2736
|
],
|
|
2743
2737
|
"rwep_score": 40,
|
|
2744
2738
|
"rwep_factors": {
|
|
@@ -2755,7 +2749,6 @@
|
|
|
2755
2749
|
"epss_score": null,
|
|
2756
2750
|
"epss_date": "2026-05-14",
|
|
2757
2751
|
"cwe_refs": [
|
|
2758
|
-
"CWE-122",
|
|
2759
2752
|
"CWE-787"
|
|
2760
2753
|
],
|
|
2761
2754
|
"source_verified": "2026-05-14",
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"_meta": {
|
|
3
3
|
"schema_version": "1.1.0",
|
|
4
4
|
"last_updated": "2026-05-15",
|
|
5
|
+
"last_threat_review": "2026-05-17",
|
|
5
6
|
"note": "Tracks PoC availability and weaponization stage per CVE. Update when status changes. last_verified must be within 90 days. v1.1.0 (2026-05-15): added ai_discovery_source enum + ai_assist_factor ladder (low|moderate|high|very_high) per AGENTS.md Hard Rule #7.",
|
|
6
7
|
"tlp": "CLEAR",
|
|
7
8
|
"source_confidence": {
|