@blamejs/exceptd-skills 0.16.14 → 0.16.16

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.
@@ -4637,6 +4637,176 @@
4637
4637
  "h3_count": 0
4638
4638
  }
4639
4639
  ]
4640
+ },
4641
+ "self-update-integrity": {
4642
+ "path": "skills/self-update-integrity/skill.md",
4643
+ "total_bytes": 7619,
4644
+ "total_lines": 80,
4645
+ "frontmatter": {
4646
+ "line_start": 1,
4647
+ "line_end": 45,
4648
+ "byte_start": 0,
4649
+ "byte_end": 1109
4650
+ },
4651
+ "sections": [
4652
+ {
4653
+ "name": "Threat Context (mid-2026)",
4654
+ "normalized_name": "threat-context",
4655
+ "line": 49,
4656
+ "byte_start": 1160,
4657
+ "byte_end": 2001,
4658
+ "bytes": 841,
4659
+ "h3_count": 0
4660
+ },
4661
+ {
4662
+ "name": "Framework Lag Declaration",
4663
+ "normalized_name": "framework-lag-declaration",
4664
+ "line": 53,
4665
+ "byte_start": 2001,
4666
+ "byte_end": 2836,
4667
+ "bytes": 835,
4668
+ "h3_count": 0
4669
+ },
4670
+ {
4671
+ "name": "TTP Mapping",
4672
+ "normalized_name": "ttp-mapping",
4673
+ "line": 57,
4674
+ "byte_start": 2836,
4675
+ "byte_end": 3572,
4676
+ "bytes": 736,
4677
+ "h3_count": 0
4678
+ },
4679
+ {
4680
+ "name": "Exploit Availability Matrix",
4681
+ "normalized_name": "exploit-availability-matrix",
4682
+ "line": 61,
4683
+ "byte_start": 3572,
4684
+ "byte_end": 4288,
4685
+ "bytes": 716,
4686
+ "h3_count": 0
4687
+ },
4688
+ {
4689
+ "name": "Analysis Procedure",
4690
+ "normalized_name": "analysis-procedure",
4691
+ "line": 65,
4692
+ "byte_start": 4288,
4693
+ "byte_end": 5250,
4694
+ "bytes": 962,
4695
+ "h3_count": 0
4696
+ },
4697
+ {
4698
+ "name": "Output Format",
4699
+ "normalized_name": "output-format",
4700
+ "line": 69,
4701
+ "byte_start": 5250,
4702
+ "byte_end": 6035,
4703
+ "bytes": 785,
4704
+ "h3_count": 0
4705
+ },
4706
+ {
4707
+ "name": "Compliance Theater Check",
4708
+ "normalized_name": "compliance-theater-check",
4709
+ "line": 73,
4710
+ "byte_start": 6035,
4711
+ "byte_end": 6733,
4712
+ "bytes": 698,
4713
+ "h3_count": 0
4714
+ },
4715
+ {
4716
+ "name": "Defensive Countermeasure Mapping",
4717
+ "normalized_name": "defensive-countermeasure-mapping",
4718
+ "line": 77,
4719
+ "byte_start": 6733,
4720
+ "byte_end": 7619,
4721
+ "bytes": 886,
4722
+ "h3_count": 0
4723
+ }
4724
+ ]
4725
+ },
4726
+ "multitenancy-isolation": {
4727
+ "path": "skills/multitenancy-isolation/skill.md",
4728
+ "total_bytes": 7794,
4729
+ "total_lines": 84,
4730
+ "frontmatter": {
4731
+ "line_start": 1,
4732
+ "line_end": 49,
4733
+ "byte_start": 0,
4734
+ "byte_end": 1201
4735
+ },
4736
+ "sections": [
4737
+ {
4738
+ "name": "Threat Context (mid-2026)",
4739
+ "normalized_name": "threat-context",
4740
+ "line": 53,
4741
+ "byte_start": 1270,
4742
+ "byte_end": 2091,
4743
+ "bytes": 821,
4744
+ "h3_count": 0
4745
+ },
4746
+ {
4747
+ "name": "Framework Lag Declaration",
4748
+ "normalized_name": "framework-lag-declaration",
4749
+ "line": 57,
4750
+ "byte_start": 2091,
4751
+ "byte_end": 2910,
4752
+ "bytes": 819,
4753
+ "h3_count": 0
4754
+ },
4755
+ {
4756
+ "name": "TTP Mapping",
4757
+ "normalized_name": "ttp-mapping",
4758
+ "line": 61,
4759
+ "byte_start": 2910,
4760
+ "byte_end": 3713,
4761
+ "bytes": 803,
4762
+ "h3_count": 0
4763
+ },
4764
+ {
4765
+ "name": "Exploit Availability Matrix",
4766
+ "normalized_name": "exploit-availability-matrix",
4767
+ "line": 65,
4768
+ "byte_start": 3713,
4769
+ "byte_end": 4438,
4770
+ "bytes": 725,
4771
+ "h3_count": 0
4772
+ },
4773
+ {
4774
+ "name": "Analysis Procedure",
4775
+ "normalized_name": "analysis-procedure",
4776
+ "line": 69,
4777
+ "byte_start": 4438,
4778
+ "byte_end": 5337,
4779
+ "bytes": 899,
4780
+ "h3_count": 0
4781
+ },
4782
+ {
4783
+ "name": "Output Format",
4784
+ "normalized_name": "output-format",
4785
+ "line": 73,
4786
+ "byte_start": 5337,
4787
+ "byte_end": 6219,
4788
+ "bytes": 882,
4789
+ "h3_count": 0
4790
+ },
4791
+ {
4792
+ "name": "Compliance Theater Check",
4793
+ "normalized_name": "compliance-theater-check",
4794
+ "line": 77,
4795
+ "byte_start": 6219,
4796
+ "byte_end": 6970,
4797
+ "bytes": 751,
4798
+ "h3_count": 0
4799
+ },
4800
+ {
4801
+ "name": "Defensive Countermeasure Mapping",
4802
+ "normalized_name": "defensive-countermeasure-mapping",
4803
+ "line": 81,
4804
+ "byte_start": 6970,
4805
+ "byte_end": 7794,
4806
+ "bytes": 824,
4807
+ "h3_count": 0
4808
+ }
4809
+ ]
4640
4810
  }
4641
4811
  }
4642
4812
  }
@@ -15,7 +15,7 @@
15
15
  "severity": "medium",
16
16
  "category": "researcher_claim_drift",
17
17
  "artifact": "skills/researcher/skill.md",
18
- "detail": "claims 41 specialized skills downstream; live count is 45"
18
+ "detail": "claims 41 specialized skills downstream; live count is 47"
19
19
  }
20
20
  ]
21
21
  }
@@ -2139,6 +2139,83 @@
2139
2139
  "last_threat_review": "2026-06-02",
2140
2140
  "path": "skills/audit-log-integrity/skill.md",
2141
2141
  "handoff_targets": []
2142
+ },
2143
+ "self-update-integrity": {
2144
+ "description": "Consumer-side self-update and artifact integrity for mid-2026 — signature-verification-before-apply, out-of-band key pinning, anti-rollback/downgrade protection, channel pinning, Subresource Integrity on browser modules, and C2PA / SCITT-TSA transparency verification on received artifacts",
2145
+ "threat_context_excerpt": "The self-update loop is the highest-privilege code path most products ship: it fetches code and runs it as the application. Publisher-side posture — code signing, SBOM, SLSA attestations — is necessary but useless if the receiving client does not enforce it. The consumer-side failures are an update applied without verifying a signature, a signature verified against a key the update channel itself supplied, a signed-but-older version accepted (downgrade / no anti-rollback) that re-opens a patched CVE, an update fetched over an unauthenticated channel as the sole control, browser modules served ...",
2146
+ "produces": "Report per update path, marking each consumer-side control enforced / missing / inconclusive (visibility gap). For every missing control, state whether a channel compromise would yield arbitrary-code execution and across how much of the installed base. Distinguish a control delegated to a verifying mechanism (OS package manager, gated verifier) from an absent one. Provide the prioritised remediation (verify signature against a pinned key before apply, enforce anti-rollback, pin the channel, enforce SRI on modules, verify provenance/transparency) and the negative validation tests that prove eac ...",
2147
+ "key_xrefs": {
2148
+ "cwe_refs": [
2149
+ "CWE-494",
2150
+ "CWE-829",
2151
+ "CWE-353",
2152
+ "CWE-347"
2153
+ ],
2154
+ "d3fend_refs": [],
2155
+ "framework_gaps": [
2156
+ "NIST-800-53-SR-11",
2157
+ "NIS2-Art21-network-security",
2158
+ "UK-CAF-B4",
2159
+ "AU-ISM-1556"
2160
+ ],
2161
+ "atlas_refs": [],
2162
+ "attack_refs": [
2163
+ "T1195.002",
2164
+ "T1574"
2165
+ ],
2166
+ "rfc_refs": [],
2167
+ "dlp_refs": []
2168
+ },
2169
+ "trigger_count": 16,
2170
+ "atlas_count": 0,
2171
+ "attack_count": 2,
2172
+ "framework_gap_count": 4,
2173
+ "cwe_count": 4,
2174
+ "d3fend_count": 0,
2175
+ "rfc_count": 0,
2176
+ "last_threat_review": "2026-06-02",
2177
+ "path": "skills/self-update-integrity/skill.md",
2178
+ "handoff_targets": []
2179
+ },
2180
+ "multitenancy-isolation": {
2181
+ "description": "Application multitenancy isolation and availability/DoS resilience for mid-2026 — principal-bound tenant identity, data-layer row-level-security under a non-bypass role, cross-tenant cache/queue namespacing, per-tenant rate/byte quotas, HTTP/2 Rapid Reset caps, bounded allocation, distributed-lock fencing, and circuit breakers",
2182
+ "threat_context_excerpt": "Shared multitenant infrastructure has two linked failure classes. Isolation: if the tenant identifier is trusted from a client-controlled header/parameter/claim, or the tenant filter lives in per-query application discipline rather than the data layer, a single authenticated user of one tenant reads or writes another tenant's data — broken object-level authorization (CWE-639), the most common and highest-impact SaaS vulnerability class. Cache, pub/sub, and queue keys leak the same way when not tenant-namespaced. Availability: asymmetric denial of service — HTTP/2 Rapid Reset (CVE-2023-44487), ...",
2183
+ "produces": "Report per surface, marking each isolation and availability control enforced / missing / inconclusive (visibility gap). For every missing control, state whether a single authenticated user could read another tenant's data or a single client could deny service to all tenants. Distinguish a control enforced at a lower layer (data-layer RLS, CDN/WAF quotas) from an absent one, and a dedicated single-tenant deployment (cross-tenant indicators not applicable) from a shared one. Provide the prioritised remediation (bind tenant to principal + data-layer RLS under a non-bypass role, namespace shared k ...",
2184
+ "key_xrefs": {
2185
+ "cwe_refs": [
2186
+ "CWE-639",
2187
+ "CWE-770",
2188
+ "CWE-863",
2189
+ "CWE-668",
2190
+ "CWE-400"
2191
+ ],
2192
+ "d3fend_refs": [],
2193
+ "framework_gaps": [
2194
+ "NIST-800-53-AC-3",
2195
+ "NIS2-Art21-network-security",
2196
+ "UK-CAF-B4",
2197
+ "AU-ISM-1556"
2198
+ ],
2199
+ "atlas_refs": [],
2200
+ "attack_refs": [
2201
+ "T1078",
2202
+ "T1499",
2203
+ "T1499.001",
2204
+ "T1530"
2205
+ ],
2206
+ "rfc_refs": [],
2207
+ "dlp_refs": []
2208
+ },
2209
+ "trigger_count": 17,
2210
+ "atlas_count": 0,
2211
+ "attack_count": 4,
2212
+ "framework_gap_count": 4,
2213
+ "cwe_count": 5,
2214
+ "d3fend_count": 0,
2215
+ "rfc_count": 0,
2216
+ "last_threat_review": "2026-06-02",
2217
+ "path": "skills/multitenancy-isolation/skill.md",
2218
+ "handoff_targets": []
2142
2219
  }
2143
2220
  }
2144
2221
  }
@@ -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": 1705264,
7
- "total_approx_tokens": 426319,
8
- "skill_count": 46
6
+ "total_chars": 1720649,
7
+ "total_approx_tokens": 430165,
8
+ "skill_count": 48
9
9
  },
10
10
  "skills": {
11
11
  "kernel-lpe-triage": {
@@ -2702,6 +2702,106 @@
2702
2702
  "approx_tokens": 212
2703
2703
  }
2704
2704
  }
2705
+ },
2706
+ "self-update-integrity": {
2707
+ "path": "skills/self-update-integrity/skill.md",
2708
+ "bytes": 7619,
2709
+ "chars": 7605,
2710
+ "lines": 80,
2711
+ "approx_tokens": 1901,
2712
+ "approx_chars_per_token": 4,
2713
+ "sections": {
2714
+ "threat-context": {
2715
+ "bytes": 841,
2716
+ "chars": 837,
2717
+ "approx_tokens": 209
2718
+ },
2719
+ "framework-lag-declaration": {
2720
+ "bytes": 835,
2721
+ "chars": 835,
2722
+ "approx_tokens": 209
2723
+ },
2724
+ "ttp-mapping": {
2725
+ "bytes": 736,
2726
+ "chars": 732,
2727
+ "approx_tokens": 183
2728
+ },
2729
+ "exploit-availability-matrix": {
2730
+ "bytes": 716,
2731
+ "chars": 714,
2732
+ "approx_tokens": 179
2733
+ },
2734
+ "analysis-procedure": {
2735
+ "bytes": 962,
2736
+ "chars": 962,
2737
+ "approx_tokens": 241
2738
+ },
2739
+ "output-format": {
2740
+ "bytes": 785,
2741
+ "chars": 785,
2742
+ "approx_tokens": 196
2743
+ },
2744
+ "compliance-theater-check": {
2745
+ "bytes": 698,
2746
+ "chars": 698,
2747
+ "approx_tokens": 175
2748
+ },
2749
+ "defensive-countermeasure-mapping": {
2750
+ "bytes": 886,
2751
+ "chars": 884,
2752
+ "approx_tokens": 221
2753
+ }
2754
+ }
2755
+ },
2756
+ "multitenancy-isolation": {
2757
+ "path": "skills/multitenancy-isolation/skill.md",
2758
+ "bytes": 7794,
2759
+ "chars": 7780,
2760
+ "lines": 84,
2761
+ "approx_tokens": 1945,
2762
+ "approx_chars_per_token": 4,
2763
+ "sections": {
2764
+ "threat-context": {
2765
+ "bytes": 821,
2766
+ "chars": 815,
2767
+ "approx_tokens": 204
2768
+ },
2769
+ "framework-lag-declaration": {
2770
+ "bytes": 819,
2771
+ "chars": 819,
2772
+ "approx_tokens": 205
2773
+ },
2774
+ "ttp-mapping": {
2775
+ "bytes": 803,
2776
+ "chars": 801,
2777
+ "approx_tokens": 200
2778
+ },
2779
+ "exploit-availability-matrix": {
2780
+ "bytes": 725,
2781
+ "chars": 721,
2782
+ "approx_tokens": 180
2783
+ },
2784
+ "analysis-procedure": {
2785
+ "bytes": 899,
2786
+ "chars": 899,
2787
+ "approx_tokens": 225
2788
+ },
2789
+ "output-format": {
2790
+ "bytes": 882,
2791
+ "chars": 882,
2792
+ "approx_tokens": 221
2793
+ },
2794
+ "compliance-theater-check": {
2795
+ "bytes": 751,
2796
+ "chars": 751,
2797
+ "approx_tokens": 188
2798
+ },
2799
+ "defensive-countermeasure-mapping": {
2800
+ "bytes": 824,
2801
+ "chars": 824,
2802
+ "approx_tokens": 206
2803
+ }
2804
+ }
2705
2805
  }
2706
2806
  }
2707
2807
  }
@@ -1119,7 +1119,8 @@
1119
1119
  "api-security"
1120
1120
  ],
1121
1121
  "bola": [
1122
- "api-security"
1122
+ "api-security",
1123
+ "multitenancy-isolation"
1123
1124
  ],
1124
1125
  "bfla": [
1125
1126
  "api-security"
@@ -1833,5 +1834,101 @@
1833
1834
  ],
1834
1835
  "audit trail": [
1835
1836
  "audit-log-integrity"
1837
+ ],
1838
+ "self update": [
1839
+ "self-update-integrity"
1840
+ ],
1841
+ "auto update": [
1842
+ "self-update-integrity"
1843
+ ],
1844
+ "update integrity": [
1845
+ "self-update-integrity"
1846
+ ],
1847
+ "anti rollback": [
1848
+ "self-update-integrity"
1849
+ ],
1850
+ "downgrade attack": [
1851
+ "self-update-integrity"
1852
+ ],
1853
+ "code signing verification": [
1854
+ "self-update-integrity"
1855
+ ],
1856
+ "key pinning": [
1857
+ "self-update-integrity"
1858
+ ],
1859
+ "subresource integrity": [
1860
+ "self-update-integrity"
1861
+ ],
1862
+ "sri": [
1863
+ "self-update-integrity"
1864
+ ],
1865
+ "import map integrity": [
1866
+ "self-update-integrity"
1867
+ ],
1868
+ "c2pa": [
1869
+ "self-update-integrity"
1870
+ ],
1871
+ "content credentials": [
1872
+ "self-update-integrity"
1873
+ ],
1874
+ "scitt": [
1875
+ "self-update-integrity"
1876
+ ],
1877
+ "transparency log": [
1878
+ "self-update-integrity"
1879
+ ],
1880
+ "software supply chain consumer": [
1881
+ "self-update-integrity"
1882
+ ],
1883
+ "update channel": [
1884
+ "self-update-integrity"
1885
+ ],
1886
+ "multitenancy isolation": [
1887
+ "multitenancy-isolation"
1888
+ ],
1889
+ "multi tenant": [
1890
+ "multitenancy-isolation"
1891
+ ],
1892
+ "cross tenant": [
1893
+ "multitenancy-isolation"
1894
+ ],
1895
+ "tenant isolation": [
1896
+ "multitenancy-isolation"
1897
+ ],
1898
+ "row level security": [
1899
+ "multitenancy-isolation"
1900
+ ],
1901
+ "rls": [
1902
+ "multitenancy-isolation"
1903
+ ],
1904
+ "broken object level authorization": [
1905
+ "multitenancy-isolation"
1906
+ ],
1907
+ "idor": [
1908
+ "multitenancy-isolation"
1909
+ ],
1910
+ "noisy neighbour": [
1911
+ "multitenancy-isolation"
1912
+ ],
1913
+ "rapid reset": [
1914
+ "multitenancy-isolation"
1915
+ ],
1916
+ "rate limit": [
1917
+ "multitenancy-isolation"
1918
+ ],
1919
+ "per tenant quota": [
1920
+ "multitenancy-isolation"
1921
+ ],
1922
+ "circuit breaker": [
1923
+ "multitenancy-isolation"
1924
+ ],
1925
+ "distributed lock fencing": [
1926
+ "multitenancy-isolation"
1927
+ ],
1928
+ "resource exhaustion": [
1929
+ "multitenancy-isolation"
1930
+ ],
1931
+ "denial of service": [
1932
+ "multitenancy-isolation"
1836
1933
  ]
1837
1934
  }
@@ -66,6 +66,7 @@
66
66
  ],
67
67
  "CWE-494": [
68
68
  "mcp-agent-trust",
69
+ "self-update-integrity",
69
70
  "supply-chain-integrity"
70
71
  ],
71
72
  "CWE-77": [
@@ -155,6 +156,7 @@
155
156
  ],
156
157
  "CWE-829": [
157
158
  "sector-federal-government",
159
+ "self-update-integrity",
158
160
  "supply-chain-integrity"
159
161
  ],
160
162
  "CWE-287": [
@@ -202,6 +204,7 @@
202
204
  "identity-assurance",
203
205
  "idp-incident-response",
204
206
  "mail-server-hardening",
207
+ "multitenancy-isolation",
205
208
  "sector-financial",
206
209
  "vc-wallet-trust",
207
210
  "webapp-security"
@@ -221,6 +224,7 @@
221
224
  "CWE-347": [
222
225
  "audit-log-integrity",
223
226
  "network-trust",
227
+ "self-update-integrity",
224
228
  "vc-wallet-trust"
225
229
  ],
226
230
  "CWE-290": [
@@ -234,10 +238,23 @@
234
238
  "mail-server-hardening"
235
239
  ],
236
240
  "CWE-400": [
237
- "mail-server-hardening"
241
+ "mail-server-hardening",
242
+ "multitenancy-isolation"
238
243
  ],
239
244
  "CWE-778": [
240
245
  "audit-log-integrity"
246
+ ],
247
+ "CWE-353": [
248
+ "self-update-integrity"
249
+ ],
250
+ "CWE-639": [
251
+ "multitenancy-isolation"
252
+ ],
253
+ "CWE-770": [
254
+ "multitenancy-isolation"
255
+ ],
256
+ "CWE-668": [
257
+ "multitenancy-isolation"
241
258
  ]
242
259
  },
243
260
  "d3fend_refs": {
@@ -606,7 +623,9 @@
606
623
  "sector-telecom"
607
624
  ],
608
625
  "AU-ISM-1556": [
609
- "sector-telecom"
626
+ "multitenancy-isolation",
627
+ "sector-telecom",
628
+ "self-update-integrity"
610
629
  ],
611
630
  "GSMA-NESAS-Deployment": [
612
631
  "sector-telecom"
@@ -692,16 +711,26 @@
692
711
  "NIS2-Art21-network-security": [
693
712
  "audit-log-integrity",
694
713
  "mail-server-hardening",
695
- "network-trust"
714
+ "multitenancy-isolation",
715
+ "network-trust",
716
+ "self-update-integrity"
696
717
  ],
697
718
  "ISO-27001-2022-A.8.21": [
698
719
  "network-trust"
699
720
  ],
700
721
  "UK-CAF-B4": [
701
- "network-trust"
722
+ "multitenancy-isolation",
723
+ "network-trust",
724
+ "self-update-integrity"
702
725
  ],
703
726
  "ISO-27001-2022-A.8.15": [
704
727
  "audit-log-integrity"
728
+ ],
729
+ "NIST-800-53-SR-11": [
730
+ "self-update-integrity"
731
+ ],
732
+ "NIST-800-53-AC-3": [
733
+ "multitenancy-isolation"
705
734
  ]
706
735
  },
707
736
  "atlas_refs": {
@@ -845,6 +874,7 @@
845
874
  "email-security-anti-phishing",
846
875
  "identity-assurance",
847
876
  "incident-response-playbook",
877
+ "multitenancy-isolation",
848
878
  "ransomware-response",
849
879
  "sector-energy",
850
880
  "sector-financial",
@@ -863,6 +893,7 @@
863
893
  "T1530": [
864
894
  "cloud-security",
865
895
  "dlp-gap-analysis",
896
+ "multitenancy-isolation",
866
897
  "sector-healthcare"
867
898
  ],
868
899
  "T1213": [
@@ -873,6 +904,7 @@
873
904
  "incident-response-playbook"
874
905
  ],
875
906
  "T1195.002": [
907
+ "self-update-integrity",
876
908
  "supply-chain-integrity"
877
909
  ],
878
910
  "T1554": [
@@ -976,6 +1008,15 @@
976
1008
  ],
977
1009
  "T1562.008": [
978
1010
  "audit-log-integrity"
1011
+ ],
1012
+ "T1574": [
1013
+ "self-update-integrity"
1014
+ ],
1015
+ "T1499": [
1016
+ "multitenancy-isolation"
1017
+ ],
1018
+ "T1499.001": [
1019
+ "multitenancy-isolation"
979
1020
  ]
980
1021
  },
981
1022
  "rfc_refs": {