@blamejs/exceptd-skills 0.13.1 → 0.13.2

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 (38) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/bin/exceptd.js +35 -6
  3. package/data/_indexes/_meta.json +25 -25
  4. package/data/_indexes/activity-feed.json +2 -2
  5. package/data/_indexes/catalog-summaries.json +2 -2
  6. package/data/_indexes/chains.json +1772 -88
  7. package/data/_indexes/frequency.json +8 -0
  8. package/data/_indexes/section-offsets.json +517 -517
  9. package/data/_indexes/token-budget.json +66 -66
  10. package/data/atlas-ttps.json +2 -0
  11. package/data/attack-techniques.json +22 -3
  12. package/data/cve-catalog.json +0 -28
  13. package/data/cwe-catalog.json +19 -3
  14. package/data/framework-control-gaps.json +291 -1
  15. package/data/zeroday-lessons.json +818 -0
  16. package/lib/lint-skills.js +50 -1
  17. package/manifest.json +60 -60
  18. package/orchestrator/index.js +8 -1
  19. package/package.json +1 -1
  20. package/sbom.cdx.json +47 -36
  21. package/scripts/check-test-count.js +146 -0
  22. package/scripts/predeploy.js +16 -0
  23. package/skills/age-gates-child-safety/skill.md +1 -0
  24. package/skills/ai-risk-management/skill.md +1 -0
  25. package/skills/defensive-countermeasure-mapping/skill.md +1 -0
  26. package/skills/email-security-anti-phishing/skill.md +1 -0
  27. package/skills/fuzz-testing-strategy/skill.md +1 -0
  28. package/skills/mlops-security/skill.md +1 -0
  29. package/skills/ot-ics-security/skill.md +1 -0
  30. package/skills/researcher/skill.md +1 -0
  31. package/skills/sector-energy/skill.md +1 -0
  32. package/skills/sector-federal-government/skill.md +1 -0
  33. package/skills/sector-telecom/skill.md +1 -0
  34. package/skills/skill-update-loop/skill.md +1 -0
  35. package/skills/threat-model-currency/skill.md +1 -0
  36. package/skills/threat-modeling-methodology/skill.md +1 -0
  37. package/skills/webapp-security/skill.md +1 -0
  38. package/skills/zeroday-gap-learn/skill.md +1 -0
@@ -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": 1610543,
7
- "total_approx_tokens": 402643,
6
+ "total_chars": 1613380,
7
+ "total_approx_tokens": 403351,
8
8
  "skill_count": 42
9
9
  },
10
10
  "skills": {
@@ -555,10 +555,10 @@
555
555
  },
556
556
  "threat-model-currency": {
557
557
  "path": "skills/threat-model-currency/skill.md",
558
- "bytes": 27330,
559
- "chars": 27218,
560
- "lines": 411,
561
- "approx_tokens": 6805,
558
+ "bytes": 27509,
559
+ "chars": 27397,
560
+ "lines": 412,
561
+ "approx_tokens": 6849,
562
562
  "approx_chars_per_token": 4,
563
563
  "sections": {
564
564
  "frontmatter-scope": {
@@ -680,10 +680,10 @@
680
680
  },
681
681
  "zeroday-gap-learn": {
682
682
  "path": "skills/zeroday-gap-learn/skill.md",
683
- "bytes": 37609,
684
- "chars": 37453,
685
- "lines": 444,
686
- "approx_tokens": 9363,
683
+ "bytes": 37784,
684
+ "chars": 37628,
685
+ "lines": 445,
686
+ "approx_tokens": 9407,
687
687
  "approx_chars_per_token": 4,
688
688
  "sections": {
689
689
  "frontmatter-scope": {
@@ -820,10 +820,10 @@
820
820
  },
821
821
  "skill-update-loop": {
822
822
  "path": "skills/skill-update-loop/skill.md",
823
- "bytes": 47134,
824
- "chars": 47002,
825
- "lines": 519,
826
- "approx_tokens": 11751,
823
+ "bytes": 47309,
824
+ "chars": 47177,
825
+ "lines": 520,
826
+ "approx_tokens": 11794,
827
827
  "approx_chars_per_token": 4,
828
828
  "sections": {
829
829
  "frontmatter-scope": {
@@ -980,10 +980,10 @@
980
980
  },
981
981
  "researcher": {
982
982
  "path": "skills/researcher/skill.md",
983
- "bytes": 32058,
984
- "chars": 31886,
985
- "lines": 335,
986
- "approx_tokens": 7972,
983
+ "bytes": 32226,
984
+ "chars": 32054,
985
+ "lines": 336,
986
+ "approx_tokens": 8014,
987
987
  "approx_chars_per_token": 4,
988
988
  "sections": {
989
989
  "frontmatter-scope": {
@@ -1085,10 +1085,10 @@
1085
1085
  },
1086
1086
  "fuzz-testing-strategy": {
1087
1087
  "path": "skills/fuzz-testing-strategy/skill.md",
1088
- "bytes": 30523,
1089
- "chars": 30382,
1090
- "lines": 313,
1091
- "approx_tokens": 7596,
1088
+ "bytes": 30702,
1089
+ "chars": 30561,
1090
+ "lines": 314,
1091
+ "approx_tokens": 7640,
1092
1092
  "approx_chars_per_token": 4,
1093
1093
  "sections": {
1094
1094
  "threat-context": {
@@ -1235,10 +1235,10 @@
1235
1235
  },
1236
1236
  "defensive-countermeasure-mapping": {
1237
1237
  "path": "skills/defensive-countermeasure-mapping/skill.md",
1238
- "bytes": 32601,
1239
- "chars": 32465,
1240
- "lines": 301,
1241
- "approx_tokens": 8116,
1238
+ "bytes": 32791,
1239
+ "chars": 32655,
1240
+ "lines": 302,
1241
+ "approx_tokens": 8164,
1242
1242
  "approx_chars_per_token": 4,
1243
1243
  "sections": {
1244
1244
  "threat-context": {
@@ -1340,10 +1340,10 @@
1340
1340
  },
1341
1341
  "ot-ics-security": {
1342
1342
  "path": "skills/ot-ics-security/skill.md",
1343
- "bytes": 36266,
1344
- "chars": 36070,
1345
- "lines": 341,
1346
- "approx_tokens": 9018,
1343
+ "bytes": 36439,
1344
+ "chars": 36243,
1345
+ "lines": 342,
1346
+ "approx_tokens": 9061,
1347
1347
  "approx_chars_per_token": 4,
1348
1348
  "sections": {
1349
1349
  "threat-context": {
@@ -1450,10 +1450,10 @@
1450
1450
  },
1451
1451
  "threat-modeling-methodology": {
1452
1452
  "path": "skills/threat-modeling-methodology/skill.md",
1453
- "bytes": 30617,
1454
- "chars": 30440,
1455
- "lines": 317,
1456
- "approx_tokens": 7610,
1453
+ "bytes": 30802,
1454
+ "chars": 30625,
1455
+ "lines": 318,
1456
+ "approx_tokens": 7656,
1457
1457
  "approx_chars_per_token": 4,
1458
1458
  "sections": {
1459
1459
  "purpose": {
@@ -1510,10 +1510,10 @@
1510
1510
  },
1511
1511
  "webapp-security": {
1512
1512
  "path": "skills/webapp-security/skill.md",
1513
- "bytes": 28963,
1514
- "chars": 28789,
1515
- "lines": 282,
1516
- "approx_tokens": 7197,
1513
+ "bytes": 29136,
1514
+ "chars": 28962,
1515
+ "lines": 283,
1516
+ "approx_tokens": 7241,
1517
1517
  "approx_chars_per_token": 4,
1518
1518
  "sections": {
1519
1519
  "threat-context": {
@@ -1565,10 +1565,10 @@
1565
1565
  },
1566
1566
  "ai-risk-management": {
1567
1567
  "path": "skills/ai-risk-management/skill.md",
1568
- "bytes": 34753,
1569
- "chars": 34571,
1570
- "lines": 320,
1571
- "approx_tokens": 8643,
1568
+ "bytes": 34929,
1569
+ "chars": 34747,
1570
+ "lines": 321,
1571
+ "approx_tokens": 8687,
1572
1572
  "approx_chars_per_token": 4,
1573
1573
  "sections": {
1574
1574
  "purpose": {
@@ -1735,10 +1735,10 @@
1735
1735
  },
1736
1736
  "sector-federal-government": {
1737
1737
  "path": "skills/sector-federal-government/skill.md",
1738
- "bytes": 44140,
1739
- "chars": 43967,
1740
- "lines": 305,
1741
- "approx_tokens": 10992,
1738
+ "bytes": 44323,
1739
+ "chars": 44150,
1740
+ "lines": 306,
1741
+ "approx_tokens": 11038,
1742
1742
  "approx_chars_per_token": 4,
1743
1743
  "sections": {
1744
1744
  "threat-context": {
@@ -1790,10 +1790,10 @@
1790
1790
  },
1791
1791
  "sector-energy": {
1792
1792
  "path": "skills/sector-energy/skill.md",
1793
- "bytes": 53906,
1794
- "chars": 53698,
1795
- "lines": 409,
1796
- "approx_tokens": 13425,
1793
+ "bytes": 54077,
1794
+ "chars": 53869,
1795
+ "lines": 410,
1796
+ "approx_tokens": 13467,
1797
1797
  "approx_chars_per_token": 4,
1798
1798
  "sections": {
1799
1799
  "threat-context": {
@@ -1845,10 +1845,10 @@
1845
1845
  },
1846
1846
  "sector-telecom": {
1847
1847
  "path": "skills/sector-telecom/skill.md",
1848
- "bytes": 20690,
1849
- "chars": 20590,
1850
- "lines": 256,
1851
- "approx_tokens": 5148,
1848
+ "bytes": 20862,
1849
+ "chars": 20762,
1850
+ "lines": 257,
1851
+ "approx_tokens": 5191,
1852
1852
  "approx_chars_per_token": 4,
1853
1853
  "sections": {
1854
1854
  "threat-context": {
@@ -2065,10 +2065,10 @@
2065
2065
  },
2066
2066
  "mlops-security": {
2067
2067
  "path": "skills/mlops-security/skill.md",
2068
- "bytes": 45439,
2069
- "chars": 45147,
2070
- "lines": 329,
2071
- "approx_tokens": 11287,
2068
+ "bytes": 45611,
2069
+ "chars": 45319,
2070
+ "lines": 330,
2071
+ "approx_tokens": 11330,
2072
2072
  "approx_chars_per_token": 4,
2073
2073
  "sections": {
2074
2074
  "threat-context": {
@@ -2230,10 +2230,10 @@
2230
2230
  },
2231
2231
  "email-security-anti-phishing": {
2232
2232
  "path": "skills/email-security-anti-phishing/skill.md",
2233
- "bytes": 26370,
2234
- "chars": 26272,
2235
- "lines": 208,
2236
- "approx_tokens": 6568,
2233
+ "bytes": 26556,
2234
+ "chars": 26458,
2235
+ "lines": 209,
2236
+ "approx_tokens": 6615,
2237
2237
  "approx_chars_per_token": 4,
2238
2238
  "sections": {
2239
2239
  "threat-context": {
@@ -2285,10 +2285,10 @@
2285
2285
  },
2286
2286
  "age-gates-child-safety": {
2287
2287
  "path": "skills/age-gates-child-safety/skill.md",
2288
- "bytes": 69560,
2289
- "chars": 69272,
2290
- "lines": 456,
2291
- "approx_tokens": 17318,
2288
+ "bytes": 69740,
2289
+ "chars": 69452,
2290
+ "lines": 457,
2291
+ "approx_tokens": 17363,
2292
2292
  "approx_chars_per_token": 4,
2293
2293
  "sections": {
2294
2294
  "threat-context": {
@@ -85,6 +85,7 @@
85
85
  "maturity": "high",
86
86
  "last_verified": "2026-05-15",
87
87
  "cve_refs": [
88
+ "CVE-2026-30623",
88
89
  "CVE-2026-42945"
89
90
  ]
90
91
  },
@@ -163,6 +164,7 @@
163
164
  "maturity": "moderate",
164
165
  "last_verified": "2026-05-15",
165
166
  "cve_refs": [
167
+ "CVE-2023-43472",
166
168
  "CVE-2026-30615"
167
169
  ]
168
170
  },
@@ -99,8 +99,10 @@
99
99
  "DS0017"
100
100
  ],
101
101
  "cve_refs": [
102
+ "CVE-2025-11837",
102
103
  "CVE-2025-53773",
103
104
  "CVE-2026-30615",
105
+ "CVE-2026-30623",
104
106
  "CVE-2026-32202",
105
107
  "CVE-2026-39884",
106
108
  "CVE-2026-39987",
@@ -133,6 +135,7 @@
133
135
  "name": "Exploitation for Privilege Escalation",
134
136
  "version": "v19",
135
137
  "cve_refs": [
138
+ "CVE-2025-62849",
136
139
  "CVE-2026-0300",
137
140
  "CVE-2026-31431",
138
141
  "CVE-2026-33825",
@@ -151,6 +154,9 @@
151
154
  "name": "Valid Accounts",
152
155
  "version": "v19",
153
156
  "cve_refs": [
157
+ "CVE-2020-10148",
158
+ "CVE-2024-1709",
159
+ "CVE-2026-20182",
154
160
  "CVE-2026-33825",
155
161
  "CVE-2026-39884",
156
162
  "CVE-2026-42897",
@@ -223,8 +229,16 @@
223
229
  "name": "Exploit Public-Facing Application",
224
230
  "version": "v19",
225
231
  "cve_refs": [
232
+ "CVE-2020-10148",
233
+ "CVE-2023-3519",
234
+ "CVE-2024-1709",
235
+ "CVE-2025-12686",
226
236
  "CVE-2025-53773",
237
+ "CVE-2025-59389",
238
+ "CVE-2025-62847",
239
+ "CVE-2025-62848",
227
240
  "CVE-2026-0300",
241
+ "CVE-2026-20182",
228
242
  "CVE-2026-32202",
229
243
  "CVE-2026-39987",
230
244
  "CVE-2026-42208",
@@ -300,7 +314,10 @@
300
314
  },
301
315
  "T1525": {
302
316
  "name": "Implant Internal Image",
303
- "version": "v19"
317
+ "version": "v19",
318
+ "cve_refs": [
319
+ "CVE-2024-40635"
320
+ ]
304
321
  },
305
322
  "T1528": {
306
323
  "name": "Steal Application Access Token",
@@ -364,7 +381,8 @@
364
381
  "name": "Compromise Host Software Binary",
365
382
  "version": "v19",
366
383
  "cve_refs": [
367
- "CVE-2024-3094"
384
+ "CVE-2024-3094",
385
+ "CVE-2025-11837"
368
386
  ]
369
387
  },
370
388
  "T1555": {
@@ -493,7 +511,8 @@
493
511
  "DS0029"
494
512
  ],
495
513
  "cve_refs": [
496
- "CVE-2024-21626"
514
+ "CVE-2024-21626",
515
+ "CVE-2024-3154"
497
516
  ]
498
517
  },
499
518
  "T1613": {
@@ -1596,8 +1596,6 @@
1596
1596
  "rwep_correction_note": "v0.12.30: canonicalized rwep_factors to satisfy Shape B invariant (Σ factors === rwep_score). Prior values used non-canonical weights and/or blast_radius > 30 (over-cap). Stored rwep_score unchanged; factor block now reproducible from canonical RWEP_WEIGHTS + operational fields."
1597
1597
  },
1598
1598
  "CVE-2024-3154": {
1599
- "_draft": true,
1600
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + Red Hat Bugzilla; CWE-20 and ATT&CK T1611 refs resolve. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
1601
1599
  "ai_assisted_weaponization": false,
1602
1600
  "name": "CRI-O arbitrary kernel-module load",
1603
1601
  "type": "container-escape",
@@ -1663,8 +1661,6 @@
1663
1661
  "discovery_attribution_note": "Reported by the OpenShift / CRI-O upstream security team via Red Hat Bugzilla 2272532; no individual researcher byline in the public advisory and no AI-tool credit. Bug class (systemd property injection through pod annotations) is conventional argument-injection. Source: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2024-3154."
1664
1662
  },
1665
1663
  "CVE-2023-43472": {
1666
- "_draft": true,
1667
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + Protect AI Huntr advisory; ATLAS AML.T0016 and CWE-22 refs resolve. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
1668
1664
  "ai_assisted_weaponization": false,
1669
1665
  "name": "MLflow path-traversal arbitrary file read",
1670
1666
  "type": "path-traversal",
@@ -1724,8 +1720,6 @@
1724
1720
  "discovery_attribution_note": "Discovered by Joseph Beeton, senior security researcher at Contrast Security, via the Protect AI Huntr bug bounty program. Named human researcher; no AI-tool credited. Source: https://securityonline.info/cve-2023-43472-critical-vulnerability-uncovered-in-mlflow/ and https://github.com/advisories/GHSA-wqxf-447m-6f5f."
1725
1721
  },
1726
1722
  "CVE-2020-10148": {
1727
- "_draft": true,
1728
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + CISA AA20-352A; CWE-287 and ATT&CK T1190/T1078 refs resolve. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
1729
1723
  "ai_assisted_weaponization": false,
1730
1724
  "name": "SolarWinds Orion API authentication bypass (SUNBURST chain)",
1731
1725
  "type": "auth-bypass",
@@ -1787,8 +1781,6 @@
1787
1781
  "discovery_attribution_note": "Discovered during the SUNBURST incident-response investigation by FireEye / Mandiant analysts (publicly attributed to the Mandiant team rather than a single researcher) and corroborated by SolarWinds engineering. Documented in CISA AA20-352A and the CERT/CC VU#843464. Named human teams; pre-AI-tooling era for vendor-side attribution. Source: https://kb.cert.org/vuls/id/843464."
1788
1782
  },
1789
1783
  "CVE-2023-3519": {
1790
- "_draft": true,
1791
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + Citrix CTX561482 + CISA AA23-201A; CWE-787 and ATT&CK T1190 refs resolve. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
1792
1784
  "ai_assisted_weaponization": false,
1793
1785
  "name": "Citrix NetScaler ADC/Gateway unauth RCE (CitrixBleed precursor)",
1794
1786
  "type": "RCE",
@@ -1852,8 +1844,6 @@
1852
1844
  "rwep_correction_note": "v0.12.30: canonicalized rwep_factors AND rwep_score to satisfy Shape B invariant. The prior stored rwep_score was internally inconsistent with its rwep_factors block; both now derived from canonical RWEP_WEIGHTS + operational fields. Delta from prior stored: +5 (75 -> 80)."
1853
1845
  },
1854
1846
  "CVE-2024-1709": {
1855
- "_draft": true,
1856
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + ConnectWise advisory; ATT&CK T1190/T1078 refs resolve (cwe_refs empty but ATT&CK satisfies the resolve-at-least-one requirement). Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
1857
1847
  "ai_assisted_weaponization": false,
1858
1848
  "name": "ConnectWise ScreenConnect auth-bypass",
1859
1849
  "type": "auth-bypass",
@@ -1911,8 +1901,6 @@
1911
1901
  "discovery_attribution_note": "Discovered by ConnectWise security engineering and externally reported by Huntress + GreyNoise via in-wild exploitation telemetry within 24 hours of the 2024-02 Patch Tuesday. No individual researcher byline; vendor-internal discovery. No AI-tool credited. Source: https://www.upguard.com/blog/screenconnect-cve-2024."
1912
1902
  },
1913
1903
  "CVE-2026-20182": {
1914
- "_draft": true,
1915
- "_draft_reason": "Hard Rule #1 fields all present and verified against CISA KEV + Rapid7 disclosure; CWE-287 and ATT&CK T1190/T1078 refs resolve. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
1916
1904
  "ai_assisted_weaponization": false,
1917
1905
  "name": "Cisco SD-WAN authentication bypass to admin",
1918
1906
  "type": "auth-bypass",
@@ -1975,8 +1963,6 @@
1975
1963
  "rwep_correction_note": "v0.12.30: canonicalized rwep_factors AND rwep_score to satisfy Shape B invariant. The prior stored rwep_score was internally inconsistent with its rwep_factors block; both now derived from canonical RWEP_WEIGHTS + operational fields. Delta from prior stored: 0."
1976
1964
  },
1977
1965
  "CVE-2024-40635": {
1978
- "_draft": true,
1979
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + Snyk SNYK-GOLANG-GITHUBCOMCONTAINERDCONTAINERDV2PKGOCI-9479987; ATT&CK T1525 ref resolves (cwe_refs empty but ATT&CK satisfies). Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
1980
1966
  "ai_assisted_weaponization": false,
1981
1967
  "name": "containerd integer overflow IP mask leak",
1982
1968
  "type": "information-disclosure",
@@ -2252,8 +2238,6 @@
2252
2238
  "rwep_correction_note": "v0.12.30: canonicalized rwep_factors to satisfy Shape B invariant (Σ factors === rwep_score). Prior values used non-canonical weights and/or blast_radius > 30 (over-cap). Stored rwep_score unchanged; factor block now reproducible from canonical RWEP_WEIGHTS + operational fields."
2253
2239
  },
2254
2240
  "CVE-2026-30623": {
2255
- "_draft": true,
2256
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + OX Security advisory (Moshe Siman Tov Bustan, Mustafa Naamnih, Nir Zadok); CWE-78/88, ATLAS AML.T0040 and ATT&CK T1059 refs resolve. This entry is the published successor of the quarantined MAL-2026-ANTHROPIC-MCP-STDIO placeholder. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
2257
2241
  "ai_assisted_weaponization": false,
2258
2242
  "name": "Anthropic MCP SDK stdio command-injection",
2259
2243
  "type": "command-injection",
@@ -2319,8 +2303,6 @@
2319
2303
  "discovery_attribution_note": "OX Security advisory 2026-04-15; researchers Moshe Siman Tov Bustan, Mustafa Naamnih, Nir Zadok. Same disclosure cluster as CVE-2026-30615. Named-human research; no AI-tool credit. Source: https://www.ox.security/blog/the-mother-of-all-ai-supply-chains-critical-systemic-vulnerability-at-the-core-of-the-mcp/."
2320
2304
  },
2321
2305
  "CVE-2025-12686": {
2322
- "_draft": true,
2323
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + Synacktiv Pwn2Own writeup; CWE-78 and ATT&CK T1190 refs resolve. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
2324
2306
  "ai_assisted_weaponization": false,
2325
2307
  "name": "Synology BeeStation unauth RCE (Pwn2Own Ireland 2025)",
2326
2308
  "type": "RCE",
@@ -2379,8 +2361,6 @@
2379
2361
  "rwep_correction_note": "v0.12.30: canonicalized rwep_factors AND rwep_score to satisfy Shape B invariant. The prior stored rwep_score was internally inconsistent with its rwep_factors block; both now derived from canonical RWEP_WEIGHTS + operational fields. Delta from prior stored: -5 (50 -> 45)."
2380
2362
  },
2381
2363
  "CVE-2025-62847": {
2382
- "_draft": true,
2383
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + ZDI Pwn2Own Ireland 2025 day-one results + DEVCORE Research Team attribution; CWE-78 and ATT&CK T1190 refs resolve. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
2384
2364
  "ai_assisted_weaponization": false,
2385
2365
  "name": "QNAP QTS/QuTS hero RCE (Pwn2Own Ireland 2025, chain 1/3)",
2386
2366
  "type": "RCE",
@@ -2441,8 +2421,6 @@
2441
2421
  "rwep_correction_note": "v0.12.30: canonicalized rwep_factors AND rwep_score to satisfy Shape B invariant. The prior stored rwep_score was internally inconsistent with its rwep_factors block; both now derived from canonical RWEP_WEIGHTS + operational fields. Delta from prior stored: -5 (45 -> 40)."
2442
2422
  },
2443
2423
  "CVE-2025-62848": {
2444
- "_draft": true,
2445
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + ZDI Pwn2Own Ireland 2025 day-one results + DEVCORE Research Team attribution; CWE-94 and ATT&CK T1190 refs resolve. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
2446
2424
  "ai_assisted_weaponization": false,
2447
2425
  "name": "QNAP QTS/QuTS hero RCE (Pwn2Own Ireland 2025, chain 2/3)",
2448
2426
  "type": "RCE",
@@ -2503,8 +2481,6 @@
2503
2481
  "rwep_correction_note": "v0.12.30: canonicalized rwep_factors AND rwep_score to satisfy Shape B invariant. The prior stored rwep_score was internally inconsistent with its rwep_factors block; both now derived from canonical RWEP_WEIGHTS + operational fields. Delta from prior stored: -5 (45 -> 40)."
2504
2482
  },
2505
2483
  "CVE-2025-62849": {
2506
- "_draft": true,
2507
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + ZDI Pwn2Own Ireland 2025 day-one results + DEVCORE Research Team attribution; CWE-269 and ATT&CK T1068 refs resolve. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
2508
2484
  "ai_assisted_weaponization": false,
2509
2485
  "name": "QNAP QTS/QuTS hero RCE (Pwn2Own Ireland 2025, chain 3/3)",
2510
2486
  "type": "RCE",
@@ -2565,8 +2541,6 @@
2565
2541
  "rwep_correction_note": "v0.12.30: canonicalized rwep_factors AND rwep_score to satisfy Shape B invariant. The prior stored rwep_score was internally inconsistent with its rwep_factors block; both now derived from canonical RWEP_WEIGHTS + operational fields. Delta from prior stored: -5 (40 -> 35)."
2566
2542
  },
2567
2543
  "CVE-2025-59389": {
2568
- "_draft": true,
2569
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + QNAP QSA-25-48 + ZDI Pwn2Own attribution (Sina Kheirkhah, Summoning Team); CWE-78 and ATT&CK T1190 refs resolve. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
2570
2544
  "ai_assisted_weaponization": false,
2571
2545
  "name": "QNAP Hyper Data Protector critical RCE (Pwn2Own Ireland 2025)",
2572
2546
  "type": "RCE",
@@ -2626,8 +2600,6 @@
2626
2600
  "rwep_correction_note": "v0.12.30: canonicalized rwep_factors AND rwep_score to satisfy Shape B invariant. The prior stored rwep_score was internally inconsistent with its rwep_factors block; both now derived from canonical RWEP_WEIGHTS + operational fields. Delta from prior stored: 0."
2627
2601
  },
2628
2602
  "CVE-2025-11837": {
2629
- "_draft": true,
2630
- "_draft_reason": "Hard Rule #1 fields all present and verified against NVD + QNAP QSA-25-47 + Pwn2Own attribution (Chumy Tsai, CyCraft Technology); CWE-94 and ATT&CK T1059/T1554 refs resolve. Blocked from verification by missing matching entry in data/zeroday-lessons.json (rule #6: zero-day learning is live). Add the lesson entry, then flip _draft to false.",
2631
2603
  "ai_assisted_weaponization": false,
2632
2604
  "name": "QNAP Malware Remover code-injection",
2633
2605
  "type": "code-injection",
@@ -47,6 +47,7 @@
47
47
  "fuzz-testing-strategy"
48
48
  ],
49
49
  "evidence_cves": [
50
+ "CVE-2024-3154",
50
51
  "CVE-2026-6973"
51
52
  ],
52
53
  "framework_controls_partially_addressing": [
@@ -81,7 +82,9 @@
81
82
  "mcp-agent-trust",
82
83
  "webapp-security"
83
84
  ],
84
- "evidence_cves": [],
85
+ "evidence_cves": [
86
+ "CVE-2023-43472"
87
+ ],
85
88
  "framework_controls_partially_addressing": [
86
89
  "NIST-800-53-AC-3",
87
90
  "NIST-800-53-SI-10",
@@ -148,6 +151,10 @@
148
151
  "webapp-security"
149
152
  ],
150
153
  "evidence_cves": [
154
+ "CVE-2025-12686",
155
+ "CVE-2025-59389",
156
+ "CVE-2025-62847",
157
+ "CVE-2026-30623",
151
158
  "CVE-2026-39987"
152
159
  ],
153
160
  "framework_controls_partially_addressing": [
@@ -211,6 +218,7 @@
211
218
  ],
212
219
  "skills_referencing": [],
213
220
  "evidence_cves": [
221
+ "CVE-2026-30623",
214
222
  "CVE-2026-39884"
215
223
  ],
216
224
  "framework_controls_partially_addressing": [
@@ -277,6 +285,8 @@
277
285
  "webapp-security"
278
286
  ],
279
287
  "evidence_cves": [
288
+ "CVE-2025-11837",
289
+ "CVE-2025-62848",
280
290
  "CVE-2026-6973",
281
291
  "MAL-2026-3083"
282
292
  ],
@@ -463,7 +473,9 @@
463
473
  "idp-incident-response",
464
474
  "webapp-security"
465
475
  ],
466
- "evidence_cves": [],
476
+ "evidence_cves": [
477
+ "CVE-2025-62849"
478
+ ],
467
479
  "framework_controls_partially_addressing": [
468
480
  "NIST-800-53-AC-6",
469
481
  "ISO-27001-2022-A.8.2"
@@ -532,7 +544,10 @@
532
544
  "sector-telecom",
533
545
  "webapp-security"
534
546
  ],
535
- "evidence_cves": [],
547
+ "evidence_cves": [
548
+ "CVE-2020-10148",
549
+ "CVE-2026-20182"
550
+ ],
536
551
  "framework_controls_partially_addressing": [
537
552
  "NIST-800-53-IA-2",
538
553
  "NIST-800-53-IA-8",
@@ -1353,6 +1368,7 @@
1353
1368
  "kernel-lpe-triage"
1354
1369
  ],
1355
1370
  "evidence_cves": [
1371
+ "CVE-2023-3519",
1356
1372
  "CVE-2026-0300",
1357
1373
  "CVE-2026-42945",
1358
1374
  "CVE-2026-43500",