@blamejs/exceptd-skills 0.19.1 → 0.19.3

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 CHANGED
@@ -44,9 +44,9 @@ Each rule below carries a **Forcing function** annotation declaring whether it i
44
44
  12. **External data version pinning** — Every reference to external data (MITRE ATLAS, MITRE ATT&CK, NIST frameworks, CISA KEV, IETF RFCs and Internet-Drafts) must pin to a specific version. When a new version is released: (a) audit for breaking changes (renamed TTPs, tactic-split moves, replaced RFCs, deprecated controls), (b) bump `last_threat_review` in all affected skills, (c) update `_meta` version fields in the relevant `data/*.json` file, (d) update `last_verified` on affected `data/rfc-references.json` entries, (e) never silently inherit version changes. Frameworks lag RFCs; RFCs lag attacker innovation — skills must track lag at every layer.
45
45
  *Forcing function:* `_meta` version fields are schema-required; reviewer-checked for cross-file version consistency.
46
46
 
47
- **Pinned ATLAS version: v2026.07 (June 2026), Secure AI v2 layer (May 2026). Audit cadence: monthly** (ATLAS now ships monthly per CTID; the Secure AI v2 layered set and per-technique maturity classification are tracked separately in `data/atlas-ttps.json` via the `secure_ai_v2_layer` and `maturity` fields).
47
+ **Pinned ATLAS version: v2026.07 (released 2026-08-07), Secure AI v2 layer (May 2026). Audit cadence: monthly** (ATLAS now ships monthly per CTID; the Secure AI v2 layered set and per-technique maturity classification are tracked separately in `data/atlas-ttps.json` via the `secure_ai_v2_layer` and `maturity` fields).
48
48
 
49
- **Pinned ATT&CK version: v19.2 (May 2026). Audit cadence: semi-annual** (April and October releases). v19 split Defense Evasion (TA0005) into Stealth (TA0005) and Defense Impairment (TA0112) — affected entries in `data/attack-techniques.json` carry `tactic_moved_from` for traceability. v18 introduced Detection Strategies (DSxxxx) as first-class objects; record applicable strategy IDs on entries where canonical strategies exist.
49
+ **Pinned ATT&CK version: v19.2 (released 2026-08-05). Audit cadence: semi-annual** (April and October releases). v19 split Defense Evasion (TA0005) into Stealth (TA0005) and Defense Impairment (TA0112) — affected entries in `data/attack-techniques.json` carry `tactic_moved_from` for traceability. v18 introduced Detection Strategies (DSxxxx) as first-class objects; record applicable strategy IDs on entries where canonical strategies exist.
50
50
 
51
51
  The IETF RFC / Internet-Draft catalog lives at `data/rfc-references.json`; each entry tracks status, errata count, replaces / replaced-by, and `last_verified`.
52
52
 
@@ -206,7 +206,7 @@ Wrong: adding a new CVE to `data/cve-catalog.json` without completing all requir
206
206
  Right: every new entry requires all fields defined in the CVE catalog schema. Partial entries fail the schema validation in `lib/scoring.js`.
207
207
 
208
208
  **DR-7: Stale ATLAS / ATT&CK version**
209
- Current pinned ATLAS version: **v2026.07 (June 2026)** with the **CTID Secure AI v2 layer (May 2026)**. ATLAS audit cadence is **monthly** (CTID now ships monthly). Current pinned ATT&CK version: **v19.2 (May 2026)**, semi-annual cadence (April + October). When either source updates: audit all TTP IDs for changes (including v19's Defense Evasion → Stealth / Defense Impairment split), bump `last_threat_review` in affected skills, update `_meta` version fields in `data/atlas-ttps.json` and `data/attack-techniques.json`. Never silently upgrade.
209
+ Current pinned ATLAS version: **v2026.07 (released 2026-08-07)** with the **CTID Secure AI v2 layer (May 2026)**. ATLAS audit cadence is **monthly** (CTID now ships monthly). Current pinned ATT&CK version: **v19.2 (released 2026-08-05)**, semi-annual cadence (April + October). When either source updates: audit all TTP IDs for changes (including v19's Defense Evasion → Stealth / Defense Impairment split), bump `last_threat_review` in affected skills, update `_meta` version fields in `data/atlas-ttps.json` and `data/attack-techniques.json`. Never silently upgrade.
210
210
 
211
211
  **DR-8: Missing zero-day learning loop**
212
212
  Wrong: adding a new entry to `data/cve-catalog.json` without running the learning loop.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.19.3 — 2026-08-08
4
+
5
+ The SBOM's creation timestamp is a real date. It has to be reproducible, or the currency gate could never compare a committed artifact against a freshly generated one, and that reproducibility had been bought by folding the bundle hash into a date offset. The offset spanned 136 years, so the field routinely landed a century out — the shipped value read `2147-11-20`. It is now the release date the changelog declares for that version, which is both reproducible and true. Tooling that sorts, ages or expiry-checks SBOMs will read a sane value for the first time.
6
+
7
+ Two files that ship in every tarball are now hashed. npm includes `package.json` whether or not the file allowlist names it, and picks up `sources/README.md` on its own, so neither appeared in the inventory — including the one file that declares the executable entry point, the supported runtime floor and the dependency set. Both now carry SHA-256 and SHA3-512 entries and count toward the aggregate bundle digest, so a bundle verified against the SBOM covers 249 of the 268 files an operator receives rather than 247.
8
+
9
+ The SBOM says what it does not cover. The pre-computed index cache under `data/_indexes/` is deliberately excluded from per-file hashing — it is regenerated on demand, and pinning a hash would race any process that rebuilds it — but that reasoning existed only in a source comment, so an operator holding the artifact could not distinguish a partial inventory from a complete one. Two `exceptd:integrity:uncovered:*` properties now name the excluded prefix and the check that covers it instead. The publish gate additionally compares the real `npm pack` file list against the SBOM, so a file npm decides to ship that the allowlist never named fails a gate rather than shipping unhashed; the two files above are what it found.
10
+
11
+ Preparing a release no longer refreshes the test-count baseline before checking it. The refresh writes whatever count it observes, so a release that removed tests rebaselined downward and the shrinkage check — which runs later — then compared the new count against itself and passed. The check now runs first and stops the release on a drop; the refresh still follows it, so growth is still recorded.
12
+
13
+ The secret scanner's offline fallback moves to 8.30.1. It had been pinned to 8.21.2 while upstream reached 8.30.1, so an interruption to the release API would have scanned with a ruleset nine releases old and still reported success. The resolver now compares the two on every run and warns when they diverge, which is the part that was only ever a comment before.
14
+
15
+ The contributor Docker harness reports honestly. Checks that ask git what ships — line-ending coverage, tracked-file resolution — cannot answer in that image, because the repository directory is deliberately kept out of the build context so a contributor's history is never uploaded to a builder or written into an image layer. They were failing rather than saying so, which reads as a defect in the tree. They now skip with the reason stated, and the file-writing checks that were failing on directory ownership, plus the governance check that could not find files the image had excluded, work as intended. A skipped check is not a passing check: run the suite outside Docker, or read continuous integration, for the ones this image cannot cover. The ignore file previously claimed the repository directory was included when it was not, which is what made the gap look like an oversight rather than a decision.
16
+
17
+ ## 0.19.2 — 2026-08-08
18
+
19
+ EPSS data on 115 catalog entries is corrected. A refresh had updated an entry's score without its percentile — and on 70 entries written a score with no percentile at all — leaving the two fields drawn from different daily publications. Because the percentile is the score's rank within its publication, the result was entries ranked in the top decile on a score that no longer supported it, which is the input exploit-prioritisation leans on hardest. Scores and percentiles are now written together. A new gate rejects any publication whose percentiles do not track its scores, requires an entry to carry both numbers or neither, and checks that the human-readable EPSS note on an entry restates the values the entry actually holds — 76 notes described an earlier publication than the fields beside them. The ordering check is a corruption detector rather than a provenance proof: it catches a stale value that contradicts the new score's rank, which is what a partial refresh produces, but two fields cannot be proven to share a publication from the catalog alone.
20
+
21
+ Technique references resolve again. ATT&CK retired `T1562` and its sub-techniques when Impair Defenses became the Defense Impairment tactic, and ATLAS 2026.07 consolidated three publish-poisoned techniques under `AML.T0115`. References to the retired identifiers survived in the D3FEND and DLP control maps, pointing operators at pages MITRE no longer serves and leaving the controls citing them mapped to nothing. Those references now name their successors. Skill text that abbreviated ATLAS runs as `AML.T0096 / T0017` now spells each identifier out, since a bare `T0017` is a different and real ICS technique. A new gate resolves every technique identifier named outside the two pinned MITRE catalogs against them, so a future pin bump cannot leave this residue behind.
22
+
23
+ `AML.T0091.001` (Use Alternate Authentication Material: Web Session Cookie), `AML.T0113` (Steal Web Session Cookie) and `AML.T0114` (AI Service Web Interface) are now carried in the ATLAS catalog; shipped skills already referenced all three.
24
+
25
+ Catalog and documentation metadata match the data again. The ATLAS catalog described its pinned release as carrying no removals or renames, which the consolidation contradicts; the ATT&CK catalog named v19.1 while pinned to v19.2; and the README, the `CONTEXT.md` inventory table and the `AGENTS.md` pin dates carried counts and dates from earlier releases. The entries re-keyed under `AML.T0115` had inherited the retired techniques' STIX identifiers and import provenance — they now carry their own, with the superseded identifier kept under a field that names it as such. The release notes for 0.18.29 listed eight new weakness classes where twelve shipped; the four omitted are CWE-138, CWE-274, CWE-441 and CWE-782.
26
+
3
27
  ## 0.19.1 — 2026-08-08
4
28
 
5
29
  The pinned MITRE releases move to ATLAS 2026.07 and ATT&CK 19.2, and the audit that pin bumps require turned up eleven technique identifiers in the shipped catalogs that operators could be routed to but MITRE does not publish as usable.
@@ -36,7 +60,7 @@ The batch centers on the late-2022 enterprise-edge and mail-infrastructure wave
36
60
 
37
61
  Windows kernel and platform escalation is the other center of gravity: the CLFS driver overflows used ahead of ransomware deployment (CVE-2023-23376, CVE-2022-37969), the ALPC and COM+ Event System escalations (CVE-2023-21674, CVE-2022-41033), the CNG Key Isolation flaw reachable inside LSA (CVE-2022-41125), the Print Spooler activation-context escape (CVE-2022-41073), the JScript9 type confusion delivered through Office remote templates by APT37 (CVE-2022-41128), both Mark-of-the-Web bypasses (CVE-2022-41049, CVE-2022-41091), the Defender SmartScreen bypass (CVE-2022-44698), the Active Directory Certificate Services escalation known as Certifried (CVE-2022-26923), and the LNK shortcut flaw Stuxnet used (CVE-2010-2568). Client-side and mobile exploitation covers the Samsung clipboard-provider chain into the Mali and DPU drivers (CVE-2021-25337, CVE-2021-25369, CVE-2021-25370), Apple WebKit and kernel zero-days across iOS, iPadOS and macOS (CVE-2023-23529, CVE-2022-42856, CVE-2022-42827, CVE-2022-32917, CVE-2022-32893, CVE-2022-32894, CVE-2021-31010, CVE-2020-9934), Chromium V8, GPU, Mojo and Intents zero-days (CVE-2022-4262, CVE-2022-4135, CVE-2022-3723, CVE-2022-3075, CVE-2022-2856), and the WebRTC heap overflow Candiru used to deliver DevilsTongue (CVE-2022-2294). A long tail of Linux and Android privilege escalation (CVE-2021-3493, CVE-2013-6282, CVE-2013-2596, CVE-2013-2094, CVE-2011-1823, CVE-2013-2597), signed-driver escalation primitives suitable for bring-your-own-vulnerable-driver (CVE-2018-19320 through CVE-2018-19323, CVE-2015-2291), and internet-facing devices recruited into botnets (CVE-2018-6530, CVE-2022-26258, CVE-2011-4723, CVE-2017-5521, CVE-2018-7445) rounds out the set.
38
62
 
39
- Eight weakness classes backing these entries are new to the CWE catalog: CWE-197 (numeric truncation), CWE-259 (hard-coded password), CWE-270 (privilege context switching error), CWE-311 (missing encryption of sensitive data), CWE-406 (network amplification), CWE-664 (improper control of a resource through its lifetime), CWE-824 (access of uninitialized pointer), and CWE-1285 (improper validation of a specified index, position or offset). CVE-2013-2094 now maps to CWE-1285 rather than the CWE-189 category, which MITRE prohibits using to map real-world vulnerabilities.
63
+ Twelve weakness classes backing these entries are new to the CWE catalog: CWE-138 (improper neutralization of special elements), CWE-197 (numeric truncation), CWE-259 (hard-coded password), CWE-270 (privilege context switching error), CWE-274 (improper handling of insufficient privileges), CWE-311 (missing encryption of sensitive data), CWE-406 (network amplification), CWE-441 (unintended proxy or intermediary, the confused-deputy class), CWE-664 (improper control of a resource through its lifetime), CWE-782 (exposed IOCTL with insufficient access control), CWE-824 (access of uninitialized pointer), and CWE-1285 (improper validation of a specified index, position or offset). CVE-2013-2094 now maps to CWE-1285 rather than the CWE-189 category, which MITRE prohibits using to map real-world vulnerabilities.
40
64
 
41
65
  ## 0.18.28 — 2026-08-05
42
66
 
package/CONTEXT.md CHANGED
@@ -113,16 +113,16 @@ Skills and playbooks read from `data/`. Authoritative catalog inventory:
113
113
 
114
114
  | File | Entries | Purpose |
115
115
  |------|---------|---------|
116
- | `cve-catalog.json` | 459 | CVEs with CVSS, RWEP score, EPSS estimates, CISA KEV flags, PoC and live-patch availability |
117
- | `atlas-ttps.json` | 170 | MITRE ATLAS v2026.06 (May 2026) techniques with framework gap flags |
118
- | `attack-techniques.json` | 805 | MITRE ATT&CK techniques with framework coverage mappings |
116
+ | `cve-catalog.json` | 1025 | CVEs with CVSS, RWEP score, EPSS estimates, CISA KEV flags, PoC and live-patch availability |
117
+ | `atlas-ttps.json` | 174 | MITRE ATLAS v2026.07 (August 2026) techniques with framework gap flags |
118
+ | `attack-techniques.json` | 794 | MITRE ATT&CK techniques with framework coverage mappings |
119
119
  | `framework-control-gaps.json` | 194 | Framework control gap entries: designed-for vs. what each control misses |
120
120
  | `exploit-availability.json` | 28 | 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
- | `zeroday-lessons.json` | 459 | Learning-loop entries: zero-day → attack vector → control gap → framework gap → new control |
123
- | `cwe-catalog.json` | 181 | CWE v4.20 entries (Top 25 2024 plus AI- and supply-chain-relevant weaknesses) |
122
+ | `zeroday-lessons.json` | 1025 | Learning-loop entries: zero-day → attack vector → control gap → framework gap → new control |
123
+ | `cwe-catalog.json` | 232 | CWE v4.20 entries (Top 25 2024 plus AI- and supply-chain-relevant weaknesses) |
124
124
  | `d3fend-catalog.json` | 468 | MITRE D3FEND v1.3.0 defensive techniques for offensive → defensive mapping |
125
- | `rfc-references.json` | 8888 | IETF RFC / Internet-Draft references with status, errata count, replaces / replaced-by, `last_verified` dates |
125
+ | `rfc-references.json` | 8889 | 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/` | 33 | Playbook specifications (see above) |
128
128
  | `_indexes/` | 17 derived files | Pre-computed indexes built by `npm run build-indexes` |
package/README.md CHANGED
@@ -30,7 +30,7 @@ This platform surfaces what is actually happening right now. Every skill explici
30
30
 
31
31
  ## Status
32
32
 
33
- Pre-1.0. Latest release lives on [GitHub Releases](https://github.com/blamejs/exceptd-skills/releases) and on npm as [`@blamejs/exceptd-skills`](https://www.npmjs.com/package/@blamejs/exceptd-skills) with signed npm provenance attestation and Ed25519-signed skill bodies. The package ships 51 skills across kernel LPE, MCP supply chain, AI-as-C2, prompt injection, post-quantum crypto, SBOM integrity, identity-incident response, and 35 other AI/security domains, plus 11 intelligence catalogs (CVE / ATLAS / ATT&CK / CWE / D3FEND / DLP / RFC / framework gaps / global frameworks / zero-day lessons / exploit availability) covering 35 jurisdictions; the CVE catalog holds 923 actively-exploited and high-priority entries, each carrying behavioral indicators, an ATT&CK technique mapping, and a defense-chain zero-day lesson. 33 investigation playbooks (kernel, MCP, AI-API, framework, SBOM, runtime, hardening, secrets, cred-stores, containers, crypto, plus `webhook-callback-abuse`, `cicd-pipeline-compromise`, `identity-sso-compromise`, `llm-tool-use-exfil`, `post-quantum-migration`, `ai-discovered-cve-triage`, `supply-chain-recovery`, `citation-hygiene`, `vc-wallet-trust`, `mail-server-hardening`, `network-trust`, `audit-log-integrity`, `self-update-integrity`, `multitenancy-isolation`, `decompression-dos`, `log-injection-telemetry`, `privacy-consent-ops`, and more), a CLI for discovery and investigation built around `discover → brief → run → attest` (each run executes the playbook's seven-phase contract), and a nightly auto-refresh job that pulls KEV / NVD / EPSS / GHSA / OSV / IETF deltas plus 15 primary-source advisory, research-blog, and tech-press feeds (Qualys TRU, Red Hat RHSA, Ubuntu USN, ZDI, kernel.org, oss-security, JFrog, CISA, Microsoft Security Blog, Sysdig, Trail of Bits, Embrace the Red, BleepingComputer security, and The Hacker News) into auto-PRs for editorial review, alongside a silent-regression watcher that flags historical CVEs re-broken without a new identifier.
33
+ Pre-1.0. Latest release lives on [GitHub Releases](https://github.com/blamejs/exceptd-skills/releases) and on npm as [`@blamejs/exceptd-skills`](https://www.npmjs.com/package/@blamejs/exceptd-skills) with signed npm provenance attestation and Ed25519-signed skill bodies. The package ships 51 skills across kernel LPE, MCP supply chain, AI-as-C2, prompt injection, post-quantum crypto, SBOM integrity, identity-incident response, and 35 other AI/security domains, plus 11 intelligence catalogs (CVE / ATLAS / ATT&CK / CWE / D3FEND / DLP / RFC / framework gaps / global frameworks / zero-day lessons / exploit availability) covering 35 jurisdictions; the CVE catalog holds 1025 actively-exploited and high-priority entries, each carrying behavioral indicators, an ATT&CK technique mapping, and a defense-chain zero-day lesson. 33 investigation playbooks (kernel, MCP, AI-API, framework, SBOM, runtime, hardening, secrets, cred-stores, containers, crypto, plus `webhook-callback-abuse`, `cicd-pipeline-compromise`, `identity-sso-compromise`, `llm-tool-use-exfil`, `post-quantum-migration`, `ai-discovered-cve-triage`, `supply-chain-recovery`, `citation-hygiene`, `vc-wallet-trust`, `mail-server-hardening`, `network-trust`, `audit-log-integrity`, `self-update-integrity`, `multitenancy-isolation`, `decompression-dos`, `log-injection-telemetry`, `privacy-consent-ops`, and more), a CLI for discovery and investigation built around `discover → brief → run → attest` (each run executes the playbook's seven-phase contract), and a nightly auto-refresh job that pulls KEV / NVD / EPSS / GHSA / OSV / IETF deltas plus 15 primary-source advisory, research-blog, and tech-press feeds (Qualys TRU, Red Hat RHSA, Ubuntu USN, ZDI, kernel.org, oss-security, JFrog, CISA, Microsoft Security Blog, Sysdig, Trail of Bits, Embrace the Red, BleepingComputer security, and The Hacker News) into auto-PRs for editorial review, alongside a silent-regression watcher that flags historical CVEs re-broken without a new identifier.
34
34
 
35
35
  ---
36
36
 
@@ -1,29 +1,29 @@
1
1
  {
2
2
  "schema_version": "1.1.0",
3
- "generated_at": "2026-08-08T07:07:43.449Z",
3
+ "generated_at": "2026-08-08T19:32:48.059Z",
4
4
  "generator": "scripts/build-indexes.js",
5
5
  "source_count": 64,
6
6
  "source_hashes": {
7
- "manifest.json": "c4be0e39dec5c7da54d68164c51f2c34e41874230d82b50ed8eb8ebfdf612d47",
8
- "README.md": "7ebeb736970e7e00c61b57ae814149f8f6121f2e9afeafe5e4d9ca60292d7e29",
9
- "data/atlas-ttps.json": "0e5d0ab093d284bf1551c78d4de49b8af07f699d58752341b67f39eaabbadb3d",
10
- "data/attack-techniques.json": "1c71336a28f5af80caf7a6d81fd723a8d3eacc0fa315d78c126ffafa50ba078e",
11
- "data/cve-catalog.json": "15c4011e573e20378c46c2b695885b0d056131565f40b6e21c0eb0a6d7d7caf8",
7
+ "manifest.json": "ea761dae093a3f57552dc54d1c4cda0f8a0c1c48aac6a4fbaebf6f0fb1e89416",
8
+ "README.md": "0fa9b167172f104810e5ee6040f11ed741217f7a51c2552a15c69d2a15a164aa",
9
+ "data/atlas-ttps.json": "a14089671efcb4f06dd0f82d688fe49276c1370e167e4483d76e9c0a40ef41eb",
10
+ "data/attack-techniques.json": "6bc0619bcccceccc8d5c12aefa6c11197c625e5d7313e70474f2831e271b23f0",
11
+ "data/cve-catalog.json": "0f440663a16dfffa241e173eb8ba8613c790015e2eb5f81a5a33ea88975ca1d5",
12
12
  "data/cwe-catalog.json": "27b244f6e82528ddef7923d0ddaca9942db3c49411ff8184c471d9195179803f",
13
- "data/d3fend-catalog.json": "64d4d2c187aa0c1f308b982da7f7fb68ebe8207ec0c4baf983c407f3ad0afd0d",
14
- "data/dlp-controls.json": "d2406c482dddd30e49203879999dc4b3a7fd4d0494d6a61d86b91ee76415df19",
13
+ "data/d3fend-catalog.json": "9a4a356a1446d7db8be8b6684fa789802405a96cdaf769f06db4136bd07db6ac",
14
+ "data/dlp-controls.json": "791f6a46b19b0c0fa2f46630ac8b398afb7ec9c2f2019056828c8820fe255f19",
15
15
  "data/exploit-availability.json": "7139702266a8d5ba8b235ab76518b8a84deaa31fdb912e81cb124121cf3e9930",
16
16
  "data/framework-control-gaps.json": "a0a43cd0c8fff6ca753bb2c98f121922ff3de63102b7d67c86c76037e28cd553",
17
17
  "data/global-frameworks.json": "20b18a851b3ab82e57cd159b49476d69fe544f02523398b2015189ab81c7c3f8",
18
18
  "data/rfc-references.json": "6e9017eca910ab7e4bee85ad7c23927fd6ec766f34be7fce49ebf020cec3381a",
19
- "data/zeroday-lessons.json": "e3b4ab4430aae788328f821c2fb0a93df7c12c806e2a3a4eca23f9e6bb00100b",
19
+ "data/zeroday-lessons.json": "9bc4f85c15d1618ef438a9221346c6913f823c5b8368acc2b2d5756c3a07c21e",
20
20
  "skills/kernel-lpe-triage/skill.md": "0f79c641cef6e5f4a942eb94f43c460562bf83dfb67ae112d146c39c6b320fb0",
21
21
  "skills/ai-attack-surface/skill.md": "c97335e14cd34bd1cd3c9d2cbd397f33569a07292b2f2f7721483575eb4459f7",
22
22
  "skills/mcp-agent-trust/skill.md": "6195c93a6cadb213051214742890fa2bf4e39bae377a654d4195f0c90bd8b896",
23
23
  "skills/framework-gap-analysis/skill.md": "98696eeda0400a6dcf6c2ba0ec977565626e8e943575fbf1c0a411a09d4acf6e",
24
24
  "skills/compliance-theater/skill.md": "ce163e4478c45a85d8f82e84e05092e442d1405c0642a2015caef61dc691732f",
25
25
  "skills/exploit-scoring/skill.md": "b18b86fd51d3dd94b058c698aa22457a96a7993e5ea474ae246cc60f348948cc",
26
- "skills/rag-pipeline-security/skill.md": "4ef1bcda1c03a9027ad75dcb0d51574ae404e62466398b9f725c5540783f62a2",
26
+ "skills/rag-pipeline-security/skill.md": "360caa6c03913625214e4f2f8430e7306f64ce5f44e8cc3d52af1368c7d8a6b4",
27
27
  "skills/ai-c2-detection/skill.md": "b276c95f5df647dfefff42b34817367d0a0cf5a037beee62134de408ac14e3d9",
28
28
  "skills/policy-exception-gen/skill.md": "9e137c4f39cb8223202e8d1a06ccba1643bd3444188dac174d1d6382a756ce7e",
29
29
  "skills/threat-model-currency/skill.md": "32a1841401ad01abc274ed8362db2f59b43df53d0b274e6f810a418f845e6c28",
@@ -37,7 +37,7 @@
37
37
  "skills/fuzz-testing-strategy/skill.md": "d35c6b2ae22b28e59c6f0a5284d77e9f9f0ea528814f87914c6b4f2c656d14e3",
38
38
  "skills/dlp-gap-analysis/skill.md": "f6486e2ac28a47db2e32c25f2b073161992c375dec0e01c9760654ab1a4f40b6",
39
39
  "skills/supply-chain-integrity/skill.md": "690fbec29d377ab938f3d4b6e5451bb6cbc8a2af8eb356b27201a6902012fda8",
40
- "skills/defensive-countermeasure-mapping/skill.md": "48f140a265a96cd8c2d065f63a351ad02bbcbca5f75a686f3e8094e93f2d0383",
40
+ "skills/defensive-countermeasure-mapping/skill.md": "e182f3130fe78e403db6c81c24757bc81dfbc86997e0b5f304f05d5572f7abb2",
41
41
  "skills/identity-assurance/skill.md": "86649aa573bde5b2ef2456a77d2fbfa9d1b623a4ef1326dd7a7ab384d0419307",
42
42
  "skills/ot-ics-security/skill.md": "46b7f0bc04e6d894e6a229cc0e7623a633951ebcb5e463513a2c469ded735352",
43
43
  "skills/coordinated-vuln-disclosure/skill.md": "8e4c7319883e6d67f26552165d26860db109de18098724b44b00214c9c2a771a",
@@ -52,9 +52,9 @@
52
52
  "skills/api-security/skill.md": "cc2851e3344dcdf99335d0f5b7c19c755871c5d973b5ae384b35e5017877aa44",
53
53
  "skills/cloud-security/skill.md": "2b62492d19895fd5e4b5091af20014606a94c62f0058a6e7e24a1fa381713db5",
54
54
  "skills/container-runtime-security/skill.md": "7e9ff5c68b1b86436cb1f9cc3fa9aaeac7a68de7f01877e7202944138d307066",
55
- "skills/mlops-security/skill.md": "cfe8c7c7150f9bbf6b42f879ceed74914c0279045aa3f2603c353319cd269de4",
56
- "skills/incident-response-playbook/skill.md": "9641b8fee753172af0b646f88b35a22e0868b618d8d89977c05969771b8b013a",
57
- "skills/ransomware-response/skill.md": "ecb3fe0b8e8a03f920b3f8e187b2f79d0d0df3c46b7ab38e5e27899127ec4dad",
55
+ "skills/mlops-security/skill.md": "156965bdf43f8d3973ac9bc95f71d39d36a8c1a72e4833eb83faee3d4e5168eb",
56
+ "skills/incident-response-playbook/skill.md": "5a4de978515f974cb88cb4dcfb69d02eefa7a0d29a22a2f8a732fb7f8dd5d107",
57
+ "skills/ransomware-response/skill.md": "ed9855c8ce1fb2830f1cf69a4554bf7600964f32fd75898b41f8a23003ae9a6d",
58
58
  "skills/email-security-anti-phishing/skill.md": "0965eca982e8fc633b85e70c0ba6becb8c0f5ee7bdd0be96ad73a9a222bb8816",
59
59
  "skills/age-gates-child-safety/skill.md": "3f2fbc7045b3ae9ba87e634d92dd37db8ed280136ad226c7b6d0fd544e9a9c79",
60
60
  "skills/cloud-iam-incident/skill.md": "5155c3f441541c490ef84c200cd42c134ca5fb9b6ea685abfe0dc2bad64c4c01",
@@ -107,7 +107,7 @@
107
107
  "handoff_dag_nodes": 51,
108
108
  "summary_cards": 51,
109
109
  "section_offsets_skills": 51,
110
- "token_budget_total_approx": 441995,
110
+ "token_budget_total_approx": 442032,
111
111
  "recipes": 8,
112
112
  "jurisdiction_clocks": 29,
113
113
  "did_ladders": 8,
@@ -11,7 +11,7 @@
11
11
  "artifact": "data/atlas-ttps.json",
12
12
  "path": "data/atlas-ttps.json",
13
13
  "schema_version": "1.0.0",
14
- "entry_count": 171
14
+ "entry_count": 174
15
15
  },
16
16
  {
17
17
  "date": "2026-08-08",
@@ -18,7 +18,7 @@
18
18
  "rebuild_after_days": 365,
19
19
  "note": "Per-entry last_verified governs decay. Skills depending on this catalog must check entry freshness before high-stakes use."
20
20
  },
21
- "entry_count": 171,
21
+ "entry_count": 174,
22
22
  "sample_keys": [
23
23
  "AML.T0001",
24
24
  "AML.T0040",