@blamejs/exceptd-skills 0.16.10 → 0.16.11

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.
@@ -6,7 +6,7 @@
6
6
  "decay_formula": "100 base; -30/-20/-10/-5 at 180/90/60/30-day thresholds. forward_watch count does NOT affect the score (it's a maintenance signal, not a staleness one). Label thresholds: ≥90 current, ≥70 acceptable, ≥50 stale, <50 critical_stale."
7
7
  },
8
8
  "summary": {
9
- "current": 42,
9
+ "current": 43,
10
10
  "acceptable": 0,
11
11
  "stale": 0,
12
12
  "critical_stale": 0,
@@ -373,6 +373,15 @@
373
373
  "forward_watch_count": 6,
374
374
  "action_required": false
375
375
  },
376
+ {
377
+ "skill": "vc-wallet-trust",
378
+ "last_threat_review": "2026-06-02",
379
+ "days_since_review": -18,
380
+ "currency_score": 100,
381
+ "currency_label": "current",
382
+ "forward_watch_count": 0,
383
+ "action_required": false
384
+ },
376
385
  {
377
386
  "skill": "webapp-security",
378
387
  "last_threat_review": "2026-05-11",
@@ -36,9 +36,10 @@
36
36
  ]
37
37
  },
38
38
  "CWE-672": {
39
- "count": 1,
39
+ "count": 2,
40
40
  "skills": [
41
- "kernel-lpe-triage"
41
+ "kernel-lpe-triage",
42
+ "vc-wallet-trust"
42
43
  ]
43
44
  },
44
45
  "CWE-787": {
@@ -214,13 +215,14 @@
214
215
  ]
215
216
  },
216
217
  "CWE-200": {
217
- "count": 6,
218
+ "count": 7,
218
219
  "skills": [
219
220
  "age-gates-child-safety",
220
221
  "api-security",
221
222
  "cloud-security",
222
223
  "dlp-gap-analysis",
223
224
  "sector-healthcare",
225
+ "vc-wallet-trust",
224
226
  "webapp-security"
225
227
  ]
226
228
  },
@@ -300,13 +302,14 @@
300
302
  ]
301
303
  },
302
304
  "CWE-863": {
303
- "count": 6,
305
+ "count": 7,
304
306
  "skills": [
305
307
  "api-security",
306
308
  "cloud-iam-incident",
307
309
  "identity-assurance",
308
310
  "idp-incident-response",
309
311
  "sector-financial",
312
+ "vc-wallet-trust",
310
313
  "webapp-security"
311
314
  ]
312
315
  },
@@ -329,6 +332,18 @@
329
332
  "skills": [
330
333
  "idp-incident-response"
331
334
  ]
335
+ },
336
+ "CWE-347": {
337
+ "count": 1,
338
+ "skills": [
339
+ "vc-wallet-trust"
340
+ ]
341
+ },
342
+ "CWE-290": {
343
+ "count": 1,
344
+ "skills": [
345
+ "vc-wallet-trust"
346
+ ]
332
347
  }
333
348
  },
334
349
  "d3fend_refs": {
@@ -851,9 +866,10 @@
851
866
  ]
852
867
  },
853
868
  "NIST-800-63B-rev4": {
854
- "count": 1,
869
+ "count": 2,
855
870
  "skills": [
856
- "identity-assurance"
871
+ "identity-assurance",
872
+ "vc-wallet-trust"
857
873
  ]
858
874
  },
859
875
  "PSD2-RTS-SCA": {
@@ -1023,15 +1039,17 @@
1023
1039
  ]
1024
1040
  },
1025
1041
  "NIST-800-53-IA-5-Federated": {
1026
- "count": 1,
1042
+ "count": 2,
1027
1043
  "skills": [
1028
- "idp-incident-response"
1044
+ "idp-incident-response",
1045
+ "vc-wallet-trust"
1029
1046
  ]
1030
1047
  },
1031
1048
  "ISO-27001-2022-A.5.16-Federated": {
1032
- "count": 1,
1049
+ "count": 2,
1033
1050
  "skills": [
1034
- "idp-incident-response"
1051
+ "idp-incident-response",
1052
+ "vc-wallet-trust"
1035
1053
  ]
1036
1054
  },
1037
1055
  "SOC2-CC6-OAuth-Consent": {
@@ -1053,9 +1071,10 @@
1053
1071
  ]
1054
1072
  },
1055
1073
  "NIS2-Art-21-Federated-Identity": {
1056
- "count": 1,
1074
+ "count": 2,
1057
1075
  "skills": [
1058
- "idp-incident-response"
1076
+ "idp-incident-response",
1077
+ "vc-wallet-trust"
1059
1078
  ]
1060
1079
  },
1061
1080
  "DORA-Art-19-IdP-4h": {
@@ -1069,6 +1088,12 @@
1069
1088
  "skills": [
1070
1089
  "idp-incident-response"
1071
1090
  ]
1091
+ },
1092
+ "UK-CAF-B2": {
1093
+ "count": 1,
1094
+ "skills": [
1095
+ "vc-wallet-trust"
1096
+ ]
1072
1097
  }
1073
1098
  },
1074
1099
  "atlas_refs": {
@@ -1330,10 +1355,11 @@
1330
1355
  ]
1331
1356
  },
1332
1357
  "T1556": {
1333
- "count": 2,
1358
+ "count": 3,
1334
1359
  "skills": [
1335
1360
  "identity-assurance",
1336
- "sector-telecom"
1361
+ "sector-telecom",
1362
+ "vc-wallet-trust"
1337
1363
  ]
1338
1364
  },
1339
1365
  "T1110": {
@@ -1462,6 +1488,18 @@
1462
1488
  "skills": [
1463
1489
  "idp-incident-response"
1464
1490
  ]
1491
+ },
1492
+ "T1606": {
1493
+ "count": 1,
1494
+ "skills": [
1495
+ "vc-wallet-trust"
1496
+ ]
1497
+ },
1498
+ "T1550": {
1499
+ "count": 1,
1500
+ "skills": [
1501
+ "vc-wallet-trust"
1502
+ ]
1465
1503
  }
1466
1504
  },
1467
1505
  "rfc_refs": {
@@ -1671,6 +1709,19 @@
1671
1709
  "webapp-security"
1672
1710
  ]
1673
1711
  },
1712
+ {
1713
+ "id": "CWE-200",
1714
+ "count": 7,
1715
+ "skills": [
1716
+ "age-gates-child-safety",
1717
+ "api-security",
1718
+ "cloud-security",
1719
+ "dlp-gap-analysis",
1720
+ "sector-healthcare",
1721
+ "vc-wallet-trust",
1722
+ "webapp-security"
1723
+ ]
1724
+ },
1674
1725
  {
1675
1726
  "id": "CWE-798",
1676
1727
  "count": 7,
@@ -1697,6 +1748,19 @@
1697
1748
  "webapp-security"
1698
1749
  ]
1699
1750
  },
1751
+ {
1752
+ "id": "CWE-863",
1753
+ "count": 7,
1754
+ "skills": [
1755
+ "api-security",
1756
+ "cloud-iam-incident",
1757
+ "identity-assurance",
1758
+ "idp-incident-response",
1759
+ "sector-financial",
1760
+ "vc-wallet-trust",
1761
+ "webapp-security"
1762
+ ]
1763
+ },
1700
1764
  {
1701
1765
  "id": "CWE-1188",
1702
1766
  "count": 6,
@@ -1733,18 +1797,6 @@
1733
1797
  "sector-healthcare"
1734
1798
  ]
1735
1799
  },
1736
- {
1737
- "id": "CWE-200",
1738
- "count": 6,
1739
- "skills": [
1740
- "age-gates-child-safety",
1741
- "api-security",
1742
- "cloud-security",
1743
- "dlp-gap-analysis",
1744
- "sector-healthcare",
1745
- "webapp-security"
1746
- ]
1747
- },
1748
1800
  {
1749
1801
  "id": "CWE-269",
1750
1802
  "count": 6,
@@ -1768,18 +1820,6 @@
1768
1820
  "identity-assurance",
1769
1821
  "webapp-security"
1770
1822
  ]
1771
- },
1772
- {
1773
- "id": "CWE-863",
1774
- "count": 6,
1775
- "skills": [
1776
- "api-security",
1777
- "cloud-iam-incident",
1778
- "identity-assurance",
1779
- "idp-incident-response",
1780
- "sector-financial",
1781
- "webapp-security"
1782
- ]
1783
1823
  }
1784
1824
  ],
1785
1825
  "d3fend_refs": [
@@ -2226,15 +2266,16 @@
2226
2266
  ]
2227
2267
  },
2228
2268
  {
2229
- "id": "T0855",
2230
- "count": 2,
2269
+ "id": "T1556",
2270
+ "count": 3,
2231
2271
  "skills": [
2232
- "ot-ics-security",
2233
- "sector-energy"
2272
+ "identity-assurance",
2273
+ "sector-telecom",
2274
+ "vc-wallet-trust"
2234
2275
  ]
2235
2276
  },
2236
2277
  {
2237
- "id": "T0883",
2278
+ "id": "T0855",
2238
2279
  "count": 2,
2239
2280
  "skills": [
2240
2281
  "ot-ics-security",
@@ -2364,8 +2405,9 @@
2364
2405
  "cwe_refs": [
2365
2406
  "CWE-20",
2366
2407
  "CWE-284",
2408
+ "CWE-290",
2367
2409
  "CWE-327",
2368
- "CWE-672"
2410
+ "CWE-347"
2369
2411
  ],
2370
2412
  "d3fend_refs": [
2371
2413
  "D3-CAA",
@@ -2391,18 +2433,14 @@
2391
2433
  "FCC-Cyber-Incident-Notification-2024",
2392
2434
  "FedRAMP-IL5-IAM-Federated",
2393
2435
  "GSMA-NESAS-Deployment",
2394
- "ISO-27001-2022-A.5.16-Federated",
2395
2436
  "ISO-27017-Cloud-IAM",
2396
2437
  "ITU-T-X.805",
2397
2438
  "Immutable-Backup-Recovery",
2398
2439
  "Insurance-Carrier-24h-Notification",
2399
2440
  "NIS2-Annex-I-Telecom",
2400
- "NIS2-Art-21-Federated-Identity",
2401
2441
  "NIST-800-53-AC-2-Cross-Account",
2402
- "NIST-800-53-IA-5-Federated",
2403
2442
  "NIST-800-53-SI-12",
2404
2443
  "NIST-800-53-SI-2",
2405
- "NIST-800-63B-rev4",
2406
2444
  "OFAC-SDN-Payment-Block",
2407
2445
  "OFAC-Sanctions-Threat-Actor-Negotiation",
2408
2446
  "OWASP-LLM-Top-10-2025-LLM02",
@@ -2414,6 +2452,7 @@
2414
2452
  "SOC2-CC6-Access-Key-Leak-Public-Repo",
2415
2453
  "SOC2-CC6-OAuth-Consent",
2416
2454
  "SPDX-v3.0-SBOM",
2455
+ "UK-CAF-B2",
2417
2456
  "UK-CAF-B2-Cloud-IAM",
2418
2457
  "UK-CAF-B2-IdP-Tenant",
2419
2458
  "UK-CAF-B5",
@@ -2432,6 +2471,7 @@
2432
2471
  "T1505",
2433
2472
  "T1538",
2434
2473
  "T1548.001",
2474
+ "T1550",
2435
2475
  "T1552",
2436
2476
  "T1552.005",
2437
2477
  "T1556.007",
@@ -2440,6 +2480,7 @@
2440
2480
  "T1566.003",
2441
2481
  "T1568",
2442
2482
  "T1580",
2483
+ "T1606",
2443
2484
  "T1606.002",
2444
2485
  "T1610",
2445
2486
  "T1611"
@@ -2505,7 +2546,6 @@
2505
2546
  "CWE-282",
2506
2547
  "CWE-285",
2507
2548
  "CWE-288",
2508
- "CWE-290",
2509
2549
  "CWE-305",
2510
2550
  "CWE-310",
2511
2551
  "CWE-312",
@@ -2520,7 +2560,6 @@
2520
2560
  "CWE-338",
2521
2561
  "CWE-340",
2522
2562
  "CWE-346",
2523
- "CWE-347",
2524
2563
  "CWE-35",
2525
2564
  "CWE-353",
2526
2565
  "CWE-367",
@@ -3324,7 +3363,6 @@
3324
3363
  "SLSA-3",
3325
3364
  "SLSA-v1.0-Source-L3",
3326
3365
  "UK-CAF-A1",
3327
- "UK-CAF-B2",
3328
3366
  "UK-CAF-B4",
3329
3367
  "UK-CAF-C1",
3330
3368
  "UK-CAF-D1"
@@ -40,6 +40,7 @@
40
40
  "supply-chain-integrity",
41
41
  "threat-model-currency",
42
42
  "threat-modeling-methodology",
43
+ "vc-wallet-trust",
43
44
  "webapp-security",
44
45
  "zeroday-gap-learn"
45
46
  ],
@@ -513,7 +514,8 @@
513
514
  "sector-federal-government",
514
515
  "sector-financial",
515
516
  "sector-telecom"
516
- ]
517
+ ],
518
+ "vc-wallet-trust": []
517
519
  },
518
520
  "in_degree": {
519
521
  "age-gates-child-safety": 1,
@@ -556,6 +558,7 @@
556
558
  "supply-chain-integrity": 17,
557
559
  "threat-model-currency": 6,
558
560
  "threat-modeling-methodology": 4,
561
+ "vc-wallet-trust": 0,
559
562
  "webapp-security": 3,
560
563
  "zeroday-gap-learn": 8
561
564
  },
@@ -600,6 +603,7 @@
600
603
  "supply-chain-integrity": 4,
601
604
  "threat-model-currency": 5,
602
605
  "threat-modeling-methodology": 9,
606
+ "vc-wallet-trust": 0,
603
607
  "webapp-security": 10,
604
608
  "zeroday-gap-learn": 6
605
609
  }
@@ -41,11 +41,12 @@
41
41
  "supply-chain-integrity",
42
42
  "threat-model-currency",
43
43
  "threat-modeling-methodology",
44
+ "vc-wallet-trust",
44
45
  "webapp-security",
45
46
  "zeroday-gap-learn"
46
47
  ],
47
48
  "example_excerpts": {},
48
- "skill_count": 42
49
+ "skill_count": 43
49
50
  },
50
51
  "UK": {
51
52
  "skills": [
@@ -89,11 +90,12 @@
89
90
  "supply-chain-integrity",
90
91
  "threat-model-currency",
91
92
  "threat-modeling-methodology",
93
+ "vc-wallet-trust",
92
94
  "webapp-security",
93
95
  "zeroday-gap-learn"
94
96
  ],
95
97
  "example_excerpts": {},
96
- "skill_count": 42
98
+ "skill_count": 43
97
99
  },
98
100
  "AU": {
99
101
  "skills": [
@@ -4297,6 +4297,91 @@
4297
4297
  "h3_count": 0
4298
4298
  }
4299
4299
  ]
4300
+ },
4301
+ "vc-wallet-trust": {
4302
+ "path": "skills/vc-wallet-trust/skill.md",
4303
+ "total_bytes": 7626,
4304
+ "total_lines": 85,
4305
+ "frontmatter": {
4306
+ "line_start": 1,
4307
+ "line_end": 50,
4308
+ "byte_start": 0,
4309
+ "byte_end": 1116
4310
+ },
4311
+ "sections": [
4312
+ {
4313
+ "name": "Threat Context (mid-2026)",
4314
+ "normalized_name": "threat-context",
4315
+ "line": 54,
4316
+ "byte_start": 1174,
4317
+ "byte_end": 2038,
4318
+ "bytes": 864,
4319
+ "h3_count": 0
4320
+ },
4321
+ {
4322
+ "name": "Framework Lag Declaration",
4323
+ "normalized_name": "framework-lag-declaration",
4324
+ "line": 58,
4325
+ "byte_start": 2038,
4326
+ "byte_end": 2824,
4327
+ "bytes": 786,
4328
+ "h3_count": 0
4329
+ },
4330
+ {
4331
+ "name": "TTP Mapping",
4332
+ "normalized_name": "ttp-mapping",
4333
+ "line": 62,
4334
+ "byte_start": 2824,
4335
+ "byte_end": 3664,
4336
+ "bytes": 840,
4337
+ "h3_count": 0
4338
+ },
4339
+ {
4340
+ "name": "Exploit Availability Matrix",
4341
+ "normalized_name": "exploit-availability-matrix",
4342
+ "line": 66,
4343
+ "byte_start": 3664,
4344
+ "byte_end": 4457,
4345
+ "bytes": 793,
4346
+ "h3_count": 0
4347
+ },
4348
+ {
4349
+ "name": "Analysis Procedure",
4350
+ "normalized_name": "analysis-procedure",
4351
+ "line": 70,
4352
+ "byte_start": 4457,
4353
+ "byte_end": 5331,
4354
+ "bytes": 874,
4355
+ "h3_count": 0
4356
+ },
4357
+ {
4358
+ "name": "Output Format",
4359
+ "normalized_name": "output-format",
4360
+ "line": 74,
4361
+ "byte_start": 5331,
4362
+ "byte_end": 6089,
4363
+ "bytes": 758,
4364
+ "h3_count": 0
4365
+ },
4366
+ {
4367
+ "name": "Compliance Theater Check",
4368
+ "normalized_name": "compliance-theater-check",
4369
+ "line": 78,
4370
+ "byte_start": 6089,
4371
+ "byte_end": 6850,
4372
+ "bytes": 761,
4373
+ "h3_count": 0
4374
+ },
4375
+ {
4376
+ "name": "Defensive Countermeasure Mapping",
4377
+ "normalized_name": "defensive-countermeasure-mapping",
4378
+ "line": 82,
4379
+ "byte_start": 6850,
4380
+ "byte_end": 7626,
4381
+ "bytes": 776,
4382
+ "h3_count": 0
4383
+ }
4384
+ ]
4300
4385
  }
4301
4386
  }
4302
4387
  }
@@ -3,12 +3,19 @@
3
3
  "schema_version": "1.0.0",
4
4
  "reference_date": "2026-05-15",
5
5
  "note": "Stale-content snapshot derived from audit-cross-skill checks. Re-runs of build-indexes against the same inputs produce byte-identical output (reference_date is manifest.threat_review_date, not 'now'). audit-cross-skill.js remains the canonical interactive audit.",
6
- "finding_count": 0,
6
+ "finding_count": 1,
7
7
  "by_severity": {
8
8
  "high": 0,
9
- "medium": 0,
9
+ "medium": 1,
10
10
  "low": 0
11
11
  }
12
12
  },
13
- "findings": []
13
+ "findings": [
14
+ {
15
+ "severity": "medium",
16
+ "category": "researcher_claim_drift",
17
+ "artifact": "skills/researcher/skill.md",
18
+ "detail": "claims 41 specialized skills downstream; live count is 42"
19
+ }
20
+ ]
14
21
  }
@@ -1983,6 +1983,46 @@
1983
1983
  "sector-financial",
1984
1984
  "sector-telecom"
1985
1985
  ]
1986
+ },
1987
+ "vc-wallet-trust": {
1988
+ "description": "Verifiable-credential / digital-wallet verifier trust for mid-2026 — SD-JWT-VC, OID4VCI/OID4VP, mdoc (ISO 18013-5), DID resolution, OAuth Token Status List revocation, OpenID Federation trust anchors, and the EUDI wallet (eIDAS 2.0) acceptance path",
1989
+ "threat_context_excerpt": "A credential verifier is a trust boundary: every verifiable credential it accepts grants whatever the credential asserts — age, residency, employment, professional licence, payment authority. With the EU Digital Identity Wallet (eIDAS 2.0) rolling out and ISO 18013-5 mobile driving licences in production, verifiers across payments, age-gating, and onboarding now accept SD-JWT-VC, OID4VP, and mdoc presentations from wallets they do not control. The dominant abuse is not breaking the cryptography but exploiting a missing trust check: an issuer key the verifier never pinned to an anchor, a ...",
1990
+ "produces": "Report per accepted credential format, listing each trust check as enforced / missing / inconclusive (visibility gap). For every missing check, state the credential types and downstream entitlements it gates, whether the verifier is internet-facing, and the resulting blast radius. Distinguish a production-reachable gap from a test-only resolver. Provide the prioritised remediation (pin issuer anchors, enforce revocation fail-closed, bind presentations to nonce+audience, verify mdoc device-auth, enforce an algorithm allowlist, filter to requested claims) and the negative validation tests that p ...",
1991
+ "key_xrefs": {
1992
+ "cwe_refs": [
1993
+ "CWE-347",
1994
+ "CWE-290",
1995
+ "CWE-863",
1996
+ "CWE-200",
1997
+ "CWE-672"
1998
+ ],
1999
+ "d3fend_refs": [],
2000
+ "framework_gaps": [
2001
+ "NIST-800-63B-rev4",
2002
+ "NIST-800-53-IA-5-Federated",
2003
+ "ISO-27001-2022-A.5.16-Federated",
2004
+ "NIS2-Art-21-Federated-Identity",
2005
+ "UK-CAF-B2"
2006
+ ],
2007
+ "atlas_refs": [],
2008
+ "attack_refs": [
2009
+ "T1556",
2010
+ "T1606",
2011
+ "T1550"
2012
+ ],
2013
+ "rfc_refs": [],
2014
+ "dlp_refs": []
2015
+ },
2016
+ "trigger_count": 18,
2017
+ "atlas_count": 0,
2018
+ "attack_count": 3,
2019
+ "framework_gap_count": 5,
2020
+ "cwe_count": 5,
2021
+ "d3fend_count": 0,
2022
+ "rfc_count": 0,
2023
+ "last_threat_review": "2026-06-02",
2024
+ "path": "skills/vc-wallet-trust/skill.md",
2025
+ "handoff_targets": []
1986
2026
  }
1987
2027
  }
1988
2028
  }
@@ -3,9 +3,9 @@
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": 1675166,
7
- "total_approx_tokens": 418794,
8
- "skill_count": 42
6
+ "total_chars": 1682784,
7
+ "total_approx_tokens": 420699,
8
+ "skill_count": 43
9
9
  },
10
10
  "skills": {
11
11
  "kernel-lpe-triage": {
@@ -2502,6 +2502,56 @@
2502
2502
  "approx_tokens": 986
2503
2503
  }
2504
2504
  }
2505
+ },
2506
+ "vc-wallet-trust": {
2507
+ "path": "skills/vc-wallet-trust/skill.md",
2508
+ "bytes": 7626,
2509
+ "chars": 7618,
2510
+ "lines": 85,
2511
+ "approx_tokens": 1905,
2512
+ "approx_chars_per_token": 4,
2513
+ "sections": {
2514
+ "threat-context": {
2515
+ "bytes": 864,
2516
+ "chars": 862,
2517
+ "approx_tokens": 216
2518
+ },
2519
+ "framework-lag-declaration": {
2520
+ "bytes": 786,
2521
+ "chars": 786,
2522
+ "approx_tokens": 197
2523
+ },
2524
+ "ttp-mapping": {
2525
+ "bytes": 840,
2526
+ "chars": 840,
2527
+ "approx_tokens": 210
2528
+ },
2529
+ "exploit-availability-matrix": {
2530
+ "bytes": 793,
2531
+ "chars": 791,
2532
+ "approx_tokens": 198
2533
+ },
2534
+ "analysis-procedure": {
2535
+ "bytes": 874,
2536
+ "chars": 874,
2537
+ "approx_tokens": 219
2538
+ },
2539
+ "output-format": {
2540
+ "bytes": 758,
2541
+ "chars": 758,
2542
+ "approx_tokens": 190
2543
+ },
2544
+ "compliance-theater-check": {
2545
+ "bytes": 761,
2546
+ "chars": 761,
2547
+ "approx_tokens": 190
2548
+ },
2549
+ "defensive-countermeasure-mapping": {
2550
+ "bytes": 776,
2551
+ "chars": 774,
2552
+ "approx_tokens": 194
2553
+ }
2554
+ }
2505
2555
  }
2506
2556
  }
2507
2557
  }