@blamejs/exceptd-skills 0.13.64 → 0.13.65

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/ARCHITECTURE.md CHANGED
@@ -176,13 +176,13 @@ Tracks PoC status, weaponization stage, and AI-assist factor per CVE. Updated wh
176
176
 
177
177
  ### `data/cwe-catalog.json`
178
178
 
179
- 55 CWE entries pinned to **CWE v4.17**. Covers the Top 25 Most Dangerous Software Weaknesses (2024 release) plus AI- and supply-chain-relevant weakness classes (prompt-injection-as-trust-boundary failure, training data integrity, dependency confusion, untrusted artifact ingestion). Each entry records root-cause description, common consequences, mitigation patterns, and the CVEs in `cve-catalog.json` that instantiate the weakness. Skills cite CWE IDs in `cwe_refs` to anchor a finding to a stable weakness taxonomy rather than to a single CVE; the CWE provides the durable root-cause lens that survives across exploit generations.
179
+ 171 CWE entries pinned to **CWE v4.20**. Covers the Top 25 Most Dangerous Software Weaknesses (2024 release) plus AI- and supply-chain-relevant weakness classes (prompt-injection-as-trust-boundary failure, training data integrity, dependency confusion, untrusted artifact ingestion). Each entry records root-cause description, common consequences, mitigation patterns, and the CVEs in `cve-catalog.json` that instantiate the weakness. Skills cite CWE IDs in `cwe_refs` to anchor a finding to a stable weakness taxonomy rather than to a single CVE; the CWE provides the durable root-cause lens that survives across exploit generations.
180
180
 
181
181
  `_meta.cwe_version` pins the version; on a CWE release, audit IDs for renames or deprecations, bump `last_threat_review` on affected skills, and update `_meta`.
182
182
 
183
183
  ### `data/d3fend-catalog.json`
184
184
 
185
- 468 MITRE D3FEND defensive technique entries pinned to **D3FEND v1.0.0**. Each entry records the defensive technique ID (e.g., `D3-EAL` Executable Allowlisting), the tactic / artifact it defends, the offensive ATLAS / ATT&CK TTPs it counters, defense-in-depth layer position, least-privilege scope assumptions, zero-trust posture compatibility, and AI-pipeline applicability per Hard Rule #9. Skills cite D3FEND IDs in `d3fend_refs` to map offensive findings to a defensive countermeasure rather than to abstract control language. The `defensive-countermeasure-mapping` skill is the canonical consumer; any skill shipped on or after 2026-05-11 includes a Defensive Countermeasure Mapping section referencing this catalog.
185
+ 468 MITRE D3FEND defensive technique entries pinned to **D3FEND v1.3.0**. Each entry records the defensive technique ID (e.g., `D3-EAL` Executable Allowlisting), the tactic / artifact it defends, the offensive ATLAS / ATT&CK TTPs it counters, defense-in-depth layer position, least-privilege scope assumptions, zero-trust posture compatibility, and AI-pipeline applicability per Hard Rule #9. Skills cite D3FEND IDs in `d3fend_refs` to map offensive findings to a defensive countermeasure rather than to abstract control language. The `defensive-countermeasure-mapping` skill is the canonical consumer; any skill shipped on or after 2026-05-11 includes a Defensive Countermeasure Mapping section referencing this catalog.
186
186
 
187
187
  `_meta.d3fend_version` pins the version; D3FEND ontology additions are tracked in skill `forward_watch` fields.
188
188
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.13.65 — 2026-05-24
4
+
5
+ Standards refresh: the MITRE D3FEND and CWE pins are brought current. D3FEND moves from v1.0.0 (June 2024) to v1.3.0 (December 2025) and CWE to 4.20 (April 2026) across the catalog `_meta`, operator docs, skill bodies, and the catalog-summary index. A breaking-change audit against both releases found no renamed or deprecated identifiers among the referenced techniques and weaknesses — D3FEND v1.0→v1.3 is additive, and CWE 4.16→4.20 deprecated nothing — so no skill mapping changed. Also corrected stale catalog counts in the architecture and context docs (CWE 55→171, D3FEND 28→468) and a skill that still cited D3FEND v0.10. A new guard fails the build if any D3FEND or CWE version mention diverges from the catalog pin.
6
+
3
7
  ## 0.13.64 — 2026-05-24
4
8
 
5
9
  Audit-tooling and metadata consistency. The jurisdiction count now has a single source of truth — it is computed from the framework registry (35: every non-metadata entry, including the international / multi-jurisdiction standards scope) rather than restated by hand in the catalog summary and the cross-skill audit, which had diverged to 34. The researcher routing table gained entries for four skills it previously could not reach: `sector-telecom`, `ransomware-response`, `cloud-iam-incident`, and `idp-incident-response`. The per-skill `forward_watch` and `last_threat_review` fields in the shipped manifest are now synchronized from each skill's frontmatter — 40 stale cached values were corrected, including a forecast note that still dated an ATLAS release to the wrong month — and a guard now fails the build if the manifest cache drifts from frontmatter again. The defensive-countermeasure-mapping skill cites the current MITRE Center for Threat-Informed Defense ATT&CK Mappings crosswalk version (v16.1) and notes that it lags the live ATT&CK v19.0 matrix.
package/CONTEXT.md CHANGED
@@ -120,8 +120,8 @@ Skills and playbooks read from `data/`. Authoritative catalog inventory:
120
120
  | `exploit-availability.json` | 10 | Per-CVE PoC locations, weaponization stage, AI-acceleration factor, live-patch status |
121
121
  | `global-frameworks.json` | 35 jurisdictions | Patch SLAs and notification windows across global regulatory regimes |
122
122
  | `zeroday-lessons.json` | 10 | Learning-loop entries: zero-day → attack vector → control gap → framework gap → new control |
123
- | `cwe-catalog.json` | 55 | CWE v4.17 entries (Top 25 2024 plus AI- and supply-chain-relevant weaknesses) |
124
- | `d3fend-catalog.json` | 28 | MITRE D3FEND v1.0.0 defensive techniques for offensive → defensive mapping |
123
+ | `cwe-catalog.json` | 171 | CWE v4.20 entries (Top 25 2024 plus AI- and supply-chain-relevant weaknesses) |
124
+ | `d3fend-catalog.json` | 468 | MITRE D3FEND v1.3.0 defensive techniques for offensive → defensive mapping |
125
125
  | `rfc-references.json` | 31 | IETF RFC / Internet-Draft references with status, errata count, replaces / replaced-by, `last_verified` dates |
126
126
  | `dlp-controls.json` | 22 | DLP control entries indexed by channel, classifier, surface, enforcement mode, evidence type |
127
127
  | `playbooks/` | 13 | Playbook specifications (see above) |
package/README.md CHANGED
@@ -552,8 +552,8 @@ All skills pull from `data/`. Cross-validated against canonical upstream sources
552
552
  - `exploit-availability.json` — PoC locations, weaponization status, AI-assist factor
553
553
  - `global-frameworks.json` — All major global compliance frameworks (35 jurisdictions) with control inventories and lag scores
554
554
  - `zeroday-lessons.json` — Zero-day → control gap → framework gap → new control requirement mappings
555
- - `cwe-catalog.json` — CWE entries pinned to CWE v4.17 (Top 25 + AI- / supply-chain-relevant additions)
556
- - `d3fend-catalog.json` — MITRE D3FEND defensive technique entries pinned to D3FEND v1.0.0
555
+ - `cwe-catalog.json` — CWE entries pinned to CWE v4.20 (Top 25 + AI- / supply-chain-relevant additions)
556
+ - `d3fend-catalog.json` — MITRE D3FEND defensive technique entries pinned to D3FEND v1.3.0
557
557
  - `rfc-references.json` — IETF RFC / Internet-Draft references with status, errata, replaces / replaced-by, `last_verified`
558
558
  - `dlp-controls.json` — DLP control entries indexed by channel / classifier / surface / enforcement / evidence
559
559
 
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "schema_version": "1.1.0",
3
- "generated_at": "2026-05-24T17:31:05.287Z",
3
+ "generated_at": "2026-05-24T18:06:30.702Z",
4
4
  "generator": "scripts/build-indexes.js",
5
5
  "source_count": 54,
6
6
  "source_hashes": {
7
- "manifest.json": "7bef48dc556daf70b02e3816e1be1392c249559ea08c2365946cd215126d1d65",
7
+ "manifest.json": "3d668e206d800377a1ea731e226e36dd4b5aa02f4e608d07cdb87d323b5ad409",
8
8
  "data/atlas-ttps.json": "019f12d24dc45ef8f5ae8812dec7c31a9506429a94751aaa559890a007ec6b22",
9
9
  "data/attack-techniques.json": "49b6010b317edd219def135171ea8f3b1bbf1e00e9c5a08bf7237215ff54e2c3",
10
10
  "data/cve-catalog.json": "a09c83af3f9679a7ea73935726a1ff9de2cab94b4ab6321fc017fc147747d7c3",
11
- "data/cwe-catalog.json": "c56e74b8c9290583b1d6fdd21b54bd65a254c58890c5f683379788ca7b080e9d",
12
- "data/d3fend-catalog.json": "4271102f8c38999444bcd981c1cf5feb4ad09f8c0b1d9b79df3f1a82f4fb50f0",
11
+ "data/cwe-catalog.json": "4cb1193c4e20ddd3f480a7f421f28e3472b856b0c070761a0fe149a64c90fa8e",
12
+ "data/d3fend-catalog.json": "9a54bccb9f24f84b32024216cc3f53819a053721ac8ab43c326859e68fc0ffaf",
13
13
  "data/dlp-controls.json": "d2406c482dddd30e49203879999dc4b3a7fd4d0494d6a61d86b91ee76415df19",
14
14
  "data/exploit-availability.json": "ec2656f0d9a893610e27b43eb6035fe9b18e057c9f6dfaac7e7d4959bbcbb795",
15
15
  "data/framework-control-gaps.json": "2f6147edef1cdec29ae755ec42021038145a702d908a1d5cf0a42e2484cbc786",
@@ -17,13 +17,13 @@
17
17
  "data/rfc-references.json": "926ea25892e052fc6a8b9952afc1d8e2bd06c4aec223a1a7aa79ef1dfd7b7bb5",
18
18
  "data/zeroday-lessons.json": "7242a7349ac79a74813bf2b7486b6000c0c877e71cec17e2d68df33bc4007b93",
19
19
  "skills/kernel-lpe-triage/skill.md": "08b3e9815ba481c57c80f5fc0ccbf5bb7cbb41f570c235ba6ff9596b8c07354d",
20
- "skills/ai-attack-surface/skill.md": "6ff82cd5e805a29b694a71ffbeba22e78966249da921706f3256fa4319e402fc",
21
- "skills/mcp-agent-trust/skill.md": "bf3ded40e84443400c9bec8634e0d6a14c9633e569d8c2e26f9d5881f8e78dff",
20
+ "skills/ai-attack-surface/skill.md": "c4c1eb22a38ca7a959b5725222bab8fbd4f4044a548a93f3e288e6f698334b72",
21
+ "skills/mcp-agent-trust/skill.md": "89ac89084391d2341b6513fefb1be2d36b93de1c130f057696219c1c59440f13",
22
22
  "skills/framework-gap-analysis/skill.md": "17249909697a9c61b71f6885a1f4888ab1e727909ddb487ed82aeef535884a4f",
23
23
  "skills/compliance-theater/skill.md": "d656444bb1987f43ae61374f210977d0c1f247f54d7318fdd639dd0cfdbef392",
24
24
  "skills/exploit-scoring/skill.md": "f55e9aa4985ebad8a2a12092c937deb6939a639dc1e16e2214ecfa1c9b9402c4",
25
- "skills/rag-pipeline-security/skill.md": "d3ad18562a6083fb773347e24b6fcda2adcb68b4269e29df53b5afeb113cf7b0",
26
- "skills/ai-c2-detection/skill.md": "524474483bdfa9614cf31276f16c0ec365a364e61e9ca6047c08621751539671",
25
+ "skills/rag-pipeline-security/skill.md": "792c6f48a7ff06785c24258cac1714068feafefb3f8f05e6c62ddce2f2f9128d",
26
+ "skills/ai-c2-detection/skill.md": "de83dc284dc4f85a8a383c0b715ec7b9ea127ec49c3227bf4c72344bad4008ed",
27
27
  "skills/policy-exception-gen/skill.md": "238074319b57399c75d76439ef1ff67153b5a3207adf1556f3ca1e68cfe7cfaa",
28
28
  "skills/threat-model-currency/skill.md": "4295c0efe31dcbec1a7bc96b8ce05d41414d918cbfc7fb7dffb2be7e4d873ae3",
29
29
  "skills/global-grc/skill.md": "57ca729034e9d33c527d869c1c4aa82fe37e496878a3cbcd9e5043cb62b7105d",
@@ -32,9 +32,9 @@
32
32
  "skills/skill-update-loop/skill.md": "f7cd18df293b90c0d2afb6ba8b87664419becea6b63221f03efaf09c69586025",
33
33
  "skills/security-maturity-tiers/skill.md": "2e46c9332a5a6190d4605ba7bc653410659be19fab50c78c0a6732f84ebdb300",
34
34
  "skills/researcher/skill.md": "dc8ceab8f69af370abb1165ed14ead6f3e9d236a8f703165eba52014ebfd43ab",
35
- "skills/attack-surface-pentest/skill.md": "d6ea35136f93eb4aa75b65a5ae402353b0e2c63a83acece1606fe3f5d1ec6a8d",
35
+ "skills/attack-surface-pentest/skill.md": "6174a20b777a82c83941ef64d27e8c7e4091649358930ac1ba564a0ad4d9399f",
36
36
  "skills/fuzz-testing-strategy/skill.md": "86e7bf537e4313b932acaba6282a4514336066a740bdbee4e7cbea2d2ef05b54",
37
- "skills/dlp-gap-analysis/skill.md": "b5183b5ea6fad6986500d7a04e83239a5fbf4272eaa6888b8be6420ce3d36ac5",
37
+ "skills/dlp-gap-analysis/skill.md": "d59a136aa6478b069975b2406c4e3be4b227273641b054852ebc6eedeebd3754",
38
38
  "skills/supply-chain-integrity/skill.md": "90e930ef5d4cc5a54653844098d3549c3760b1a4aba5c48db1bd4eb24bea8d1b",
39
39
  "skills/defensive-countermeasure-mapping/skill.md": "dd89c729e7bbfa3c9455dec9b986455dec3c720249c559d2195179a5cbbb2933",
40
40
  "skills/identity-assurance/skill.md": "f3c29ce17aaa426b65b58238e5bc9ccabcda23a8d350e597840e5d6d664aa102",
@@ -55,7 +55,7 @@
55
55
  "skills/incident-response-playbook/skill.md": "9c219de36c7d702dff8504a25e2f1b07459716ea2ed02f49d751f91dbeca1b01",
56
56
  "skills/ransomware-response/skill.md": "471b714c42717d43f81b2b582cd8e89ca8d3140de2ddc06cce15f012a0e19be1",
57
57
  "skills/email-security-anti-phishing/skill.md": "250f266908f51f99a4cb3aec0d5dacfcf91fac9f3d95e5a117429a40ed2ff45a",
58
- "skills/age-gates-child-safety/skill.md": "b8fad37033ba955eee678950963e816b6c56fd34a953e5c81b3bdd4c12a8f69a",
58
+ "skills/age-gates-child-safety/skill.md": "639b79a2724415afe9e4469202f806e5bec022c0946c9496d4e17ed73aabbe21",
59
59
  "skills/cloud-iam-incident/skill.md": "5ec3800a0049b2123aff67bfab4ff28491a86d2daeb712283e5e88b10c3d5d7b",
60
60
  "skills/idp-incident-response/skill.md": "e67a2576e7f1c3bf89f499f5c977bc470ef29e8b3e3e45f4cb5bd45a82674282"
61
61
  },
@@ -78,7 +78,7 @@
78
78
  "handoff_dag_nodes": 42,
79
79
  "summary_cards": 42,
80
80
  "section_offsets_skills": 42,
81
- "token_budget_total_approx": 418246,
81
+ "token_budget_total_approx": 418252,
82
82
  "recipes": 8,
83
83
  "jurisdiction_clocks": 29,
84
84
  "did_ladders": 8,
@@ -95,7 +95,7 @@
95
95
  },
96
96
  "d3fend-catalog.json": {
97
97
  "path": "data/d3fend-catalog.json",
98
- "purpose": "MITRE D3FEND countermeasures (D3-xxx) keyed by id, with tactic + name. Pinned to D3FEND v1.0.0 release.",
98
+ "purpose": "MITRE D3FEND countermeasures (D3-xxx) keyed by id, with tactic + name. Pinned to D3FEND v1.3.0 release.",
99
99
  "schema_version": "1.0.0",
100
100
  "last_updated": "2026-05-19",
101
101
  "tlp": "CLEAR",
@@ -122,7 +122,7 @@
122
122
  },
123
123
  "ai-attack-surface": {
124
124
  "path": "skills/ai-attack-surface/skill.md",
125
- "total_bytes": 29677,
125
+ "total_bytes": 29679,
126
126
  "total_lines": 337,
127
127
  "frontmatter": {
128
128
  "line_start": 1,
@@ -190,16 +190,16 @@
190
190
  "normalized_name": "defensive-countermeasure-mapping",
191
191
  "line": 310,
192
192
  "byte_start": 24873,
193
- "byte_end": 28591,
194
- "bytes": 3718,
193
+ "byte_end": 28593,
194
+ "bytes": 3720,
195
195
  "h3_count": 0
196
196
  },
197
197
  {
198
198
  "name": "Compliance Theater Check",
199
199
  "normalized_name": "compliance-theater-check",
200
200
  "line": 332,
201
- "byte_start": 28591,
202
- "byte_end": 29677,
201
+ "byte_start": 28593,
202
+ "byte_end": 29679,
203
203
  "bytes": 1086,
204
204
  "h3_count": 0
205
205
  }
@@ -207,7 +207,7 @@
207
207
  },
208
208
  "mcp-agent-trust": {
209
209
  "path": "skills/mcp-agent-trust/skill.md",
210
- "total_bytes": 32105,
210
+ "total_bytes": 32107,
211
211
  "total_lines": 380,
212
212
  "frontmatter": {
213
213
  "line_start": 1,
@@ -284,16 +284,16 @@
284
284
  "normalized_name": "defensive-countermeasure-mapping",
285
285
  "line": 354,
286
286
  "byte_start": 27391,
287
- "byte_end": 31592,
288
- "bytes": 4201,
287
+ "byte_end": 31594,
288
+ "bytes": 4203,
289
289
  "h3_count": 0
290
290
  },
291
291
  {
292
292
  "name": "Compliance Theater Check",
293
293
  "normalized_name": "compliance-theater-check",
294
294
  "line": 377,
295
- "byte_start": 31592,
296
- "byte_end": 32105,
295
+ "byte_start": 31594,
296
+ "byte_end": 32107,
297
297
  "bytes": 513,
298
298
  "h3_count": 0
299
299
  }
@@ -628,7 +628,7 @@
628
628
  },
629
629
  "rag-pipeline-security": {
630
630
  "path": "skills/rag-pipeline-security/skill.md",
631
- "total_bytes": 31951,
631
+ "total_bytes": 31953,
632
632
  "total_lines": 334,
633
633
  "frontmatter": {
634
634
  "line_start": 1,
@@ -750,16 +750,16 @@
750
750
  "normalized_name": "defensive-countermeasure-mapping",
751
751
  "line": 309,
752
752
  "byte_start": 27428,
753
- "byte_end": 31307,
754
- "bytes": 3879,
753
+ "byte_end": 31309,
754
+ "bytes": 3881,
755
755
  "h3_count": 0
756
756
  },
757
757
  {
758
758
  "name": "Compliance Theater Check",
759
759
  "normalized_name": "compliance-theater-check",
760
760
  "line": 331,
761
- "byte_start": 31307,
762
- "byte_end": 31951,
761
+ "byte_start": 31309,
762
+ "byte_end": 31953,
763
763
  "bytes": 644,
764
764
  "h3_count": 0
765
765
  }
@@ -767,7 +767,7 @@
767
767
  },
768
768
  "ai-c2-detection": {
769
769
  "path": "skills/ai-c2-detection/skill.md",
770
- "total_bytes": 39771,
770
+ "total_bytes": 39773,
771
771
  "total_lines": 488,
772
772
  "frontmatter": {
773
773
  "line_start": 1,
@@ -853,16 +853,16 @@
853
853
  "normalized_name": "defensive-countermeasure-mapping",
854
854
  "line": 414,
855
855
  "byte_start": 30003,
856
- "byte_end": 33945,
857
- "bytes": 3942,
856
+ "byte_end": 33947,
857
+ "bytes": 3944,
858
858
  "h3_count": 0
859
859
  },
860
860
  {
861
861
  "name": "Compliance Theater Check",
862
862
  "normalized_name": "compliance-theater-check",
863
863
  "line": 438,
864
- "byte_start": 33945,
865
- "byte_end": 35335,
864
+ "byte_start": 33947,
865
+ "byte_end": 35337,
866
866
  "bytes": 1390,
867
867
  "h3_count": 0
868
868
  },
@@ -870,8 +870,8 @@
870
870
  "name": "Output Format",
871
871
  "normalized_name": "output-format",
872
872
  "line": 444,
873
- "byte_start": 35335,
874
- "byte_end": 36828,
873
+ "byte_start": 35337,
874
+ "byte_end": 36830,
875
875
  "bytes": 1493,
876
876
  "h3_count": 5
877
877
  },
@@ -879,8 +879,8 @@
879
879
  "name": "Hand-Off / Related Skills",
880
880
  "normalized_name": "hand-off",
881
881
  "line": 477,
882
- "byte_start": 36828,
883
- "byte_end": 39771,
882
+ "byte_start": 36830,
883
+ "byte_end": 39773,
884
884
  "bytes": 2943,
885
885
  "h3_count": 0
886
886
  }
@@ -1847,7 +1847,7 @@
1847
1847
  },
1848
1848
  "attack-surface-pentest": {
1849
1849
  "path": "skills/attack-surface-pentest/skill.md",
1850
- "total_bytes": 33290,
1850
+ "total_bytes": 33291,
1851
1851
  "total_lines": 388,
1852
1852
  "frontmatter": {
1853
1853
  "line_start": 1,
@@ -1924,8 +1924,8 @@
1924
1924
  "normalized_name": "defensive-countermeasure-mapping",
1925
1925
  "line": 377,
1926
1926
  "byte_start": 31679,
1927
- "byte_end": 33290,
1928
- "bytes": 1611,
1927
+ "byte_end": 33291,
1928
+ "bytes": 1612,
1929
1929
  "h3_count": 0
1930
1930
  }
1931
1931
  ]
@@ -2017,7 +2017,7 @@
2017
2017
  },
2018
2018
  "dlp-gap-analysis": {
2019
2019
  "path": "skills/dlp-gap-analysis/skill.md",
2020
- "total_bytes": 42409,
2020
+ "total_bytes": 42411,
2021
2021
  "total_lines": 346,
2022
2022
  "frontmatter": {
2023
2023
  "line_start": 1,
@@ -2094,8 +2094,8 @@
2094
2094
  "normalized_name": "defensive-countermeasure-mapping",
2095
2095
  "line": 319,
2096
2096
  "byte_start": 38454,
2097
- "byte_end": 42409,
2098
- "bytes": 3955,
2097
+ "byte_end": 42411,
2098
+ "bytes": 3957,
2099
2099
  "h3_count": 0
2100
2100
  }
2101
2101
  ]
@@ -3982,7 +3982,7 @@
3982
3982
  },
3983
3983
  "age-gates-child-safety": {
3984
3984
  "path": "skills/age-gates-child-safety/skill.md",
3985
- "total_bytes": 70471,
3985
+ "total_bytes": 70473,
3986
3986
  "total_lines": 459,
3987
3987
  "frontmatter": {
3988
3988
  "line_start": 1,
@@ -4059,16 +4059,16 @@
4059
4059
  "normalized_name": "defensive-countermeasure-mapping",
4060
4060
  "line": 421,
4061
4061
  "byte_start": 60996,
4062
- "byte_end": 66138,
4063
- "bytes": 5142,
4062
+ "byte_end": 66140,
4063
+ "bytes": 5144,
4064
4064
  "h3_count": 0
4065
4065
  },
4066
4066
  {
4067
4067
  "name": "Hand-Off / Related Skills",
4068
4068
  "normalized_name": "hand-off",
4069
4069
  "line": 441,
4070
- "byte_start": 66138,
4071
- "byte_end": 70471,
4070
+ "byte_start": 66140,
4071
+ "byte_end": 70473,
4072
4072
  "bytes": 4333,
4073
4073
  "h3_count": 0
4074
4074
  }
@@ -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": 1672960,
7
- "total_approx_tokens": 418246,
6
+ "total_chars": 1672973,
7
+ "total_approx_tokens": 418252,
8
8
  "skill_count": 42
9
9
  },
10
10
  "skills": {
@@ -70,10 +70,10 @@
70
70
  },
71
71
  "ai-attack-surface": {
72
72
  "path": "skills/ai-attack-surface/skill.md",
73
- "bytes": 29677,
74
- "chars": 29601,
73
+ "bytes": 29679,
74
+ "chars": 29603,
75
75
  "lines": 337,
76
- "approx_tokens": 7400,
76
+ "approx_tokens": 7401,
77
77
  "approx_chars_per_token": 4,
78
78
  "sections": {
79
79
  "threat-context": {
@@ -107,8 +107,8 @@
107
107
  "approx_tokens": 422
108
108
  },
109
109
  "defensive-countermeasure-mapping": {
110
- "bytes": 3718,
111
- "chars": 3706,
110
+ "bytes": 3720,
111
+ "chars": 3708,
112
112
  "approx_tokens": 927
113
113
  },
114
114
  "compliance-theater-check": {
@@ -120,10 +120,10 @@
120
120
  },
121
121
  "mcp-agent-trust": {
122
122
  "path": "skills/mcp-agent-trust/skill.md",
123
- "bytes": 32105,
124
- "chars": 32013,
123
+ "bytes": 32107,
124
+ "chars": 32015,
125
125
  "lines": 380,
126
- "approx_tokens": 8003,
126
+ "approx_tokens": 8004,
127
127
  "approx_chars_per_token": 4,
128
128
  "sections": {
129
129
  "threat-context": {
@@ -162,8 +162,8 @@
162
162
  "approx_tokens": 608
163
163
  },
164
164
  "defensive-countermeasure-mapping": {
165
- "bytes": 4201,
166
- "chars": 4195,
165
+ "bytes": 4203,
166
+ "chars": 4197,
167
167
  "approx_tokens": 1049
168
168
  },
169
169
  "compliance-theater-check": {
@@ -365,10 +365,10 @@
365
365
  },
366
366
  "rag-pipeline-security": {
367
367
  "path": "skills/rag-pipeline-security/skill.md",
368
- "bytes": 31951,
369
- "chars": 31776,
368
+ "bytes": 31953,
369
+ "chars": 31778,
370
370
  "lines": 334,
371
- "approx_tokens": 7944,
371
+ "approx_tokens": 7945,
372
372
  "approx_chars_per_token": 4,
373
373
  "sections": {
374
374
  "threat-context": {
@@ -432,9 +432,9 @@
432
432
  "approx_tokens": 656
433
433
  },
434
434
  "defensive-countermeasure-mapping": {
435
- "bytes": 3879,
436
- "chars": 3857,
437
- "approx_tokens": 964
435
+ "bytes": 3881,
436
+ "chars": 3859,
437
+ "approx_tokens": 965
438
438
  },
439
439
  "compliance-theater-check": {
440
440
  "bytes": 644,
@@ -445,10 +445,10 @@
445
445
  },
446
446
  "ai-c2-detection": {
447
447
  "path": "skills/ai-c2-detection/skill.md",
448
- "bytes": 39771,
449
- "chars": 39617,
448
+ "bytes": 39773,
449
+ "chars": 39619,
450
450
  "lines": 488,
451
- "approx_tokens": 9904,
451
+ "approx_tokens": 9905,
452
452
  "approx_chars_per_token": 4,
453
453
  "sections": {
454
454
  "threat-context": {
@@ -492,8 +492,8 @@
492
492
  "approx_tokens": 1018
493
493
  },
494
494
  "defensive-countermeasure-mapping": {
495
- "bytes": 3942,
496
- "chars": 3930,
495
+ "bytes": 3944,
496
+ "chars": 3932,
497
497
  "approx_tokens": 983
498
498
  },
499
499
  "compliance-theater-check": {
@@ -1070,8 +1070,8 @@
1070
1070
  },
1071
1071
  "attack-surface-pentest": {
1072
1072
  "path": "skills/attack-surface-pentest/skill.md",
1073
- "bytes": 33290,
1074
- "chars": 33147,
1073
+ "bytes": 33291,
1074
+ "chars": 33148,
1075
1075
  "lines": 388,
1076
1076
  "approx_tokens": 8287,
1077
1077
  "approx_chars_per_token": 4,
@@ -1112,9 +1112,9 @@
1112
1112
  "approx_tokens": 576
1113
1113
  },
1114
1114
  "defensive-countermeasure-mapping": {
1115
- "bytes": 1611,
1116
- "chars": 1609,
1117
- "approx_tokens": 402
1115
+ "bytes": 1612,
1116
+ "chars": 1610,
1117
+ "approx_tokens": 403
1118
1118
  }
1119
1119
  }
1120
1120
  },
@@ -1170,10 +1170,10 @@
1170
1170
  },
1171
1171
  "dlp-gap-analysis": {
1172
1172
  "path": "skills/dlp-gap-analysis/skill.md",
1173
- "bytes": 42409,
1174
- "chars": 42140,
1173
+ "bytes": 42411,
1174
+ "chars": 42142,
1175
1175
  "lines": 346,
1176
- "approx_tokens": 10535,
1176
+ "approx_tokens": 10536,
1177
1177
  "approx_chars_per_token": 4,
1178
1178
  "sections": {
1179
1179
  "threat-context": {
@@ -1212,8 +1212,8 @@
1212
1212
  "approx_tokens": 645
1213
1213
  },
1214
1214
  "defensive-countermeasure-mapping": {
1215
- "bytes": 3955,
1216
- "chars": 3903,
1215
+ "bytes": 3957,
1216
+ "chars": 3905,
1217
1217
  "approx_tokens": 976
1218
1218
  }
1219
1219
  }
@@ -2320,10 +2320,10 @@
2320
2320
  },
2321
2321
  "age-gates-child-safety": {
2322
2322
  "path": "skills/age-gates-child-safety/skill.md",
2323
- "bytes": 70471,
2324
- "chars": 70181,
2323
+ "bytes": 70473,
2324
+ "chars": 70183,
2325
2325
  "lines": 459,
2326
- "approx_tokens": 17545,
2326
+ "approx_tokens": 17546,
2327
2327
  "approx_chars_per_token": 4,
2328
2328
  "sections": {
2329
2329
  "threat-context": {
@@ -2362,8 +2362,8 @@
2362
2362
  "approx_tokens": 1517
2363
2363
  },
2364
2364
  "defensive-countermeasure-mapping": {
2365
- "bytes": 5142,
2366
- "chars": 5131,
2365
+ "bytes": 5144,
2366
+ "chars": 5133,
2367
2367
  "approx_tokens": 1283
2368
2368
  },
2369
2369
  "hand-off": {
@@ -2,8 +2,8 @@
2
2
  "_meta": {
3
3
  "schema_version": "1.0.0",
4
4
  "last_updated": "2026-05-19",
5
- "cwe_version": "4.16",
6
- "cwe_version_release_date": "2024-11-19",
5
+ "cwe_version": "4.20",
6
+ "cwe_version_release_date": "2026-04-30",
7
7
  "source": "https://cwe.mitre.org",
8
8
  "view_general": "CWE View 1003 (Weaknesses for Simplified Mapping of Published Vulnerabilities)",
9
9
  "view_research": "CWE View 1000 (Research Concepts)",
@@ -2,8 +2,8 @@
2
2
  "_meta": {
3
3
  "schema_version": "1.0.0",
4
4
  "last_updated": "2026-05-19",
5
- "d3fend_version": "1.0.0",
6
- "d3fend_release_date": "2024-06-01",
5
+ "d3fend_version": "1.3.0",
6
+ "d3fend_release_date": "2025-12-16",
7
7
  "source": "https://d3fend.mitre.org",
8
8
  "skill_refs_field": "d3fend_refs",
9
9
  "complement_to": "atlas-ttps.json (offensive); D3FEND covers defensive countermeasures",