@blamejs/exceptd-skills 0.14.19 → 0.14.21

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/sbom.cdx.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "bomFormat": "CycloneDX",
3
3
  "specVersion": "1.6",
4
- "serialNumber": "urn:uuid:a14d98c4-ae19-4c3f-b7b7-4f7b8eac8934",
4
+ "serialNumber": "urn:uuid:f146b015-d9dd-4d2f-838c-622d665d3777",
5
5
  "version": 1,
6
6
  "metadata": {
7
- "timestamp": "2111-10-04T22:59:16.000Z",
7
+ "timestamp": "2154-04-11T04:14:13.000Z",
8
8
  "tools": [
9
9
  {
10
10
  "vendor": "blamejs",
11
11
  "name": "scripts/refresh-sbom.js",
12
- "version": "0.14.19"
12
+ "version": "0.14.21"
13
13
  }
14
14
  ],
15
15
  "component": {
16
- "bom-ref": "pkg:npm/@blamejs/exceptd-skills@0.14.19",
16
+ "bom-ref": "pkg:npm/@blamejs/exceptd-skills@0.14.21",
17
17
  "type": "application",
18
18
  "name": "@blamejs/exceptd-skills",
19
- "version": "0.14.19",
19
+ "version": "0.14.21",
20
20
  "description": "AI security skills grounded in mid-2026 threat reality, not stale framework documentation. 42 skills, 11 catalogs (406 CVEs / 171 CWEs / 805 ATT&CK + ICS / 170 ATLAS / 468 D3FEND / 8888 RFCs), 35 jurisdictions, 10-class catalog gap detector + budget gate, real XML parser + canonical-form diff + content-pattern regression detection, Ed25519-signed.",
21
21
  "licenses": [
22
22
  {
@@ -25,17 +25,17 @@
25
25
  }
26
26
  }
27
27
  ],
28
- "purl": "pkg:npm/%40blamejs/exceptd-skills@0.14.19",
28
+ "purl": "pkg:npm/%40blamejs/exceptd-skills@0.14.21",
29
29
  "hashes": [
30
30
  {
31
31
  "alg": "SHA-256",
32
- "content": "0cb7b8199eb85326d5c176968e0719de6dcaa30e94d41b6bfcf748744619dd7e"
32
+ "content": "1bc1d2d5014d8a83b8f499cf898b342920cc38777e20b96d9aa0a4809c5e3446"
33
33
  }
34
34
  ],
35
35
  "externalReferences": [
36
36
  {
37
37
  "type": "distribution",
38
- "url": "https://www.npmjs.com/package/@blamejs/exceptd-skills/v/0.14.19"
38
+ "url": "https://www.npmjs.com/package/@blamejs/exceptd-skills/v/0.14.21"
39
39
  },
40
40
  {
41
41
  "type": "vcs",
@@ -116,11 +116,11 @@
116
116
  "hashes": [
117
117
  {
118
118
  "alg": "SHA-256",
119
- "content": "16ad3e1e4f9fd21269c5b9d75b8fbfc8405087a0cb3d2ae889b52fce3f109e9f"
119
+ "content": "e5b92405b978dea5757ad66959b0cc39a1007261f83ffd793d318d2a187df1e0"
120
120
  },
121
121
  {
122
122
  "alg": "SHA3-512",
123
- "content": "98b3a80808845374818c95b68fda38cdfb79dc40991add63d0e1456be75de8b4f2d890f1e1a52e518c7363a4cbfbf6e6779fb5dd675440252281326ac8126690"
123
+ "content": "8d872587150b13cefadfdccdb74b2954b129e6fe82177dad98ac3eae5e9bc02efcc75ab1b54c05b66ab24e0d1641cf7e488ef416ac35c318f6b864784907ba6d"
124
124
  }
125
125
  ]
126
126
  },
@@ -1751,11 +1751,11 @@
1751
1751
  "hashes": [
1752
1752
  {
1753
1753
  "alg": "SHA-256",
1754
- "content": "633b5ddcd6927b365cab9672477db8b0ce64df963f2d44526e10d3eb7b10edd7"
1754
+ "content": "238a94feb0967eb74eedd99084ecf49ee6a20cbf04e9f704a6a3526fdddb6363"
1755
1755
  },
1756
1756
  {
1757
1757
  "alg": "SHA3-512",
1758
- "content": "3bcccff8e1981ae4ca0ea07df52219e444326b718e14d42cfe36dc04e8148ccad8cb2a9a77a162a2b1f3381f07b693b3973fbae4ef24466afa787d22c5a33327"
1758
+ "content": "c531fde98b619b4f5438f4aeea5e046b2fc405d6267609e2de0f7430a6a408d3d5a287efe63d78399c8d1dd46ce27079ad6e31d8f5f6cf98fefd4b5e7af85873"
1759
1759
  }
1760
1760
  ]
1761
1761
  },
@@ -2696,11 +2696,11 @@
2696
2696
  "hashes": [
2697
2697
  {
2698
2698
  "alg": "SHA-256",
2699
- "content": "250f266908f51f99a4cb3aec0d5dacfcf91fac9f3d95e5a117429a40ed2ff45a"
2699
+ "content": "da0b937350e538b55db8daa1f50047d9f4e889e6b89b040dcecfb71feecd63d7"
2700
2700
  },
2701
2701
  {
2702
2702
  "alg": "SHA3-512",
2703
- "content": "fd4b35d28d126b0fd5ea76c565deb723d69738e96545f86b8c3684bf7aea82d32bb2a2ebc278321fed9e8e9895ae4d1851a65c53b945fdecf49cb6964f895ad6"
2703
+ "content": "0e8f1255c307f32515741283bbd8090add1429fbd69a0df1ddff2f246ddac1759216e1c2d8e19ec866cac4f374144525984e621002ff389a982b6e8f3111209a"
2704
2704
  }
2705
2705
  ]
2706
2706
  },
@@ -2726,11 +2726,11 @@
2726
2726
  "hashes": [
2727
2727
  {
2728
2728
  "alg": "SHA-256",
2729
- "content": "17249909697a9c61b71f6885a1f4888ab1e727909ddb487ed82aeef535884a4f"
2729
+ "content": "f7092b8d3efbcbf0b7af9a712a6705ad07ce4dd1abbd92762b5b395d6cbe6cca"
2730
2730
  },
2731
2731
  {
2732
2732
  "alg": "SHA3-512",
2733
- "content": "2d656f044cbfe53cb9e5b630ce50e6d848eb5e0ef3eaad3c9c4b10974ab10776a9be0e03c136e32a62cbce08f59425be15c59624f10e4322396ddf531dfafec5"
2733
+ "content": "893b789ffc99ffd3724aa51eef2254e64c2fea4e28c1b9bb378454dd5c86280c18b92f16d1e4313ae3980cbbcb7d0b728fdead29140f487d50bd313c316c2f2e"
2734
2734
  }
2735
2735
  ]
2736
2736
  },
@@ -2756,11 +2756,11 @@
2756
2756
  "hashes": [
2757
2757
  {
2758
2758
  "alg": "SHA-256",
2759
- "content": "57ca729034e9d33c527d869c1c4aa82fe37e496878a3cbcd9e5043cb62b7105d"
2759
+ "content": "6d9722b7a85b8ad1150a61188b578f380e9c9685118028e134a0ba5804dae708"
2760
2760
  },
2761
2761
  {
2762
2762
  "alg": "SHA3-512",
2763
- "content": "fe0573c4c5a22f2fc24ce2b3a54a7695de6fd392cfe3b396a2e4b0eca812989cf33404c6d5cf932ef4a474fd84b900b6d40f1e728357a9df6ade95746e4444ec"
2763
+ "content": "498af3e4d2b94c4312e65d3e266ecc6edebd411ee5da590f4038ac890d0428efc32cdf1754ed472f9fe17d0a1517fd12480a00c3204593a81dfde5c283ac5362"
2764
2764
  }
2765
2765
  ]
2766
2766
  },
@@ -2891,11 +2891,11 @@
2891
2891
  "hashes": [
2892
2892
  {
2893
2893
  "alg": "SHA-256",
2894
- "content": "3b41b59eb4e8480b691ff17185f42b9fbfd7665e369fc210feba496688cc77aa"
2894
+ "content": "8b77569100d10201044d63a69cbc83c9cfe6d2c3568884aa900ef0eb72ba99c3"
2895
2895
  },
2896
2896
  {
2897
2897
  "alg": "SHA3-512",
2898
- "content": "29d98c34fc97e6bd7b9331c69ae7f27cf1eec5e182d7885c54eb6be91820bde0aaca746bda5590aa12cc1962d43d5337be569bfc7a007f4286ffee6a9a4a0412"
2898
+ "content": "280de5761907468c126ec976b8d8bce97bbb87acdf8895c4f8885630dd2c887a76abff3a2b6781d77f34bc0306801b0f7f6a59e33af85f36f155aea2b92e185d"
2899
2899
  }
2900
2900
  ]
2901
2901
  },
@@ -3011,11 +3011,11 @@
3011
3011
  "hashes": [
3012
3012
  {
3013
3013
  "alg": "SHA-256",
3014
- "content": "59193e39c2fd73fdd7fede38a956bc730bbe4b712d7d6020788bb4d85f001ad8"
3014
+ "content": "2f336a0b79cd28a3353ec0a72ce0469ac57305345d652247e7cb368f79ec8d4f"
3015
3015
  },
3016
3016
  {
3017
3017
  "alg": "SHA3-512",
3018
- "content": "872b65942dd189504cca186babc7543c806b2c1463070f527524e9a2c097b2f030b1806bb434436b3a4bbb4865b4f38d15115327a37ecc9aad64a6bccbd3bf50"
3018
+ "content": "ea3a722c2a18e32d1127393561f3122d827a26b69f95df986999a957f943fb809aef26aa99fd4f1ec0f7223a7e78843c784e0cea2710482f9b6dc20fc7196884"
3019
3019
  }
3020
3020
  ]
3021
3021
  },
@@ -3071,11 +3071,11 @@
3071
3071
  "hashes": [
3072
3072
  {
3073
3073
  "alg": "SHA-256",
3074
- "content": "4295c0efe31dcbec1a7bc96b8ce05d41414d918cbfc7fb7dffb2be7e4d873ae3"
3074
+ "content": "637861b4dcd2cb608c08c5aa62a8ef73efc976584f901e612c73cf53b3559422"
3075
3075
  },
3076
3076
  {
3077
3077
  "alg": "SHA3-512",
3078
- "content": "48b2a5adaea65860fe55c4b263d3365bc8416052ed7bb348f9af60f6af2e377208ece65ff3de4ea56059bf712029b3ad9bd3fead5f1a5aca5292a249ab5e1cdf"
3078
+ "content": "82a8f600bc6ebf7acfe9c80dfe691569f6f65e362e4e81f259c24d899f8cef54c55ee31e56548ddcc0a2fd3a50f31f199d5f133823221457c03e0cfc86a6a076"
3079
3079
  }
3080
3080
  ]
3081
3081
  },
@@ -3086,11 +3086,11 @@
3086
3086
  "hashes": [
3087
3087
  {
3088
3088
  "alg": "SHA-256",
3089
- "content": "0a115fb8bf2ddd8e97d5ff49d61ffb1d221f1ce9f37f19b4ba86edbf765f632c"
3089
+ "content": "964e90dd9ba632926414987ab7c26cac881ff1b36ff161172271ad8c94bcc49d"
3090
3090
  },
3091
3091
  {
3092
3092
  "alg": "SHA3-512",
3093
- "content": "865782360930bc6fda9c86b8c46b2d30fd65841854c1558ee9c1080fc9123c4defcc32c809f0d72407521c3f456d74c546ea37c75cfd6829e1e01bcf31d251e6"
3093
+ "content": "92777b2822acb929b345c7000def8cbcaaaac82dd5ba4fde2ad7829351c97f3b81d5dee7f53586892fc78ec022aeaabca5d38246fa433a2f9c9a9f50f647f959"
3094
3094
  }
3095
3095
  ]
3096
3096
  },
@@ -71,7 +71,7 @@ Phishing remained the #1 initial-access vector through 2025 (Verizon DBIR 2025)
71
71
 
72
72
  **Business Email Compromise losses continued growing through 2025.** FBI IC3 2024 and 2025 reports place BEC at multi-billion-USD annual loss globally, with the wire-redirection and vendor-invoice-fraud subclasses dominant. The 2026 reality is that BEC is no longer "compromised mailbox sends a wire request" — it is increasingly "spoofed-or-look-alike domain plus deepfake voice/video confirmation channel" so that out-of-band verification by phone *fails open* unless the callback number is a pre-registered known-good.
73
73
 
74
- **Defense ecosystem snapshot.** SPF (RFC 7208), DKIM (RFC 6376), and DMARC (RFC 7489) adoption is effectively universal among Fortune 500 sender domains, but **enforcement** (`p=reject` vs `p=none`) lags — only roughly 60% of large enterprise domains are at `p=reject` by mid-2026, with the rest stuck in monitoring mode for fear of breaking legitimate forwarders. BIMI (AuthIndicators Working Group draft, with IETF mailing-list discussion ongoing as of mid-2026) for visual brand verification is deployed at Gmail, Yahoo Mail, and Apple Mail, but requires DMARC `p=quarantine` or `p=reject` to take effect — so it doubles as enforcement-status signaling. ARC (RFC 8617) is the forwarder-authentication answer to the DMARC-vs-mailing-list problem and is maturing across major providers. MTA-STS (RFC 8461) and TLSRPT (RFC 8460) close the in-transit TLS-downgrade gap that opportunistic STARTTLS leaves open. The cloud email duopoly — Microsoft 365 Exchange Online and Google Workspace Gmail — is the canonical ephemeral inbox environment per the project's ephemeral-realities rule; on-prem Exchange remains in regulated and air-gapped enclaves and gets an explicit exception path below.
74
+ **Defense ecosystem snapshot.** SPF (RFC 7208), DKIM (RFC 6376), and DMARC (RFC 7489) adoption is effectively universal among Fortune 500 sender domains, but **enforcement** (`p=reject` vs `p=none`) lags — only roughly 60% of large enterprise domains are at `p=reject` by mid-2026, with the rest stuck in monitoring mode for fear of breaking legitimate forwarders. BIMI (AuthIndicators Working Group draft, with IETF mailing-list discussion ongoing as of mid-2026) for visual brand verification is deployed at Gmail, Yahoo Mail, and Apple Mail, but requires DMARC `p=quarantine` or `p=reject` to take effect — so it doubles as enforcement-status signaling. ARC (RFC 8617) is the forwarder-authentication answer to the DMARC-vs-mailing-list problem and is maturing across major providers. MTA-STS (RFC 8461) and TLSRPT (RFC 8460) close the in-transit TLS-downgrade gap that opportunistic STARTTLS leaves open. The cloud email duopoly — Microsoft 365 Exchange Online and Google Workspace Gmail — is the canonical inbox environment most enterprises operate in; on-prem Exchange remains in regulated and air-gapped enclaves and gets an explicit exception path below.
75
75
 
76
76
  **Phishing-resistant authentication.** FIDO2 / WebAuthn synced passkeys are the only widely deployed authenticator class that survives AiTM proxy phishing (evilginx-class), Tycoon-2FA-style session-token relay, and push-notification fatigue attacks. TOTP, SMS, and push-MFA are all bypassable by 2026 phishing-kit ecosystems. Caffeine and Tycoon 2FA continue to evolve; observed 2025 telemetry shows passkey-relay attempts emerging against poorly configured WebAuthn relying-party verification.
77
77
 
@@ -27,6 +27,10 @@ last_threat_review: "2026-05-22"
27
27
 
28
28
  This skill analyzes the gap between what a compliance framework control was designed to address and what current attacker TTPs require. It is the meta-skill that underlies compliance-theater, global-grc, and policy-exception-gen.
29
29
 
30
+ ## Frontmatter Scope
31
+
32
+ The `atlas_refs` and `attack_refs` arrays are intentionally empty. This skill is a meta-analysis: its subject is the *gap* between a control's design intent and the live TTP landscape, so its inputs are the TTP-to-control mappings already attached to every other playbook and skill rather than a fixed native TTP set. The specific techniques appear in the body where a given gap is illustrated; the authoritative TTP attachment lives on the skill or playbook that owns that detection. The `framework_gaps` reference set is the populated, authoritative declaration for this skill.
33
+
30
34
  ## Threat Context (mid-2026)
31
35
 
32
36
  Compliance frameworks lag the threat environment by years. Most active controls in NIST 800-53, ISO 27001:2022, SOC 2, PCI DSS 4.0, NIS2, and DORA were drafted against assumptions (human-speed exploit development, persistent inventoriable assets, human-controlled accounts) that current attacker TTPs no longer respect. Three concrete mid-2026 instances anchor the lag:
@@ -31,6 +31,10 @@ last_threat_review: "2026-05-01"
31
31
 
32
32
  This skill provides multi-jurisdiction GRC analysis. It maps current security threats against frameworks from 14 jurisdictions and two global standards bodies, identifies universal control gaps that no jurisdiction's framework covers, and surfaces jurisdiction-specific notification and compliance requirements.
33
33
 
34
+ ## Frontmatter Scope
35
+
36
+ The `atlas_refs` and `attack_refs` arrays are intentionally empty. This skill is a jurisdiction/framework registry and gap-correlation layer — its subject is regulatory coverage, not a native set of attacker techniques. The TTPs referenced in the body come from the domain skills whose threats each framework is measured against; that downstream skill carries the authoritative technique attachment.
37
+
34
38
  ---
35
39
 
36
40
  ## Framework Registry (mid-2026 currency)
@@ -514,7 +514,7 @@ Priority order:
514
514
 
515
515
  ## Output Format
516
516
 
517
- The skill produces a structured PQC Readiness Assessment that scores the org's post-quantum migration posture against the NIST PQC standards (ML-KEM / FIPS 203, ML-DSA / FIPS 204, SLH-DSA / FIPS 205), CNSA 2.0, and the BSI / ANSSI / NCSC migration guidance. The shape below is consumed downstream by `crypto` playbook runs (which feed the assessment into Phase 5 analyze), by `framework-gap-analysis` (for SC-8 / SC-13 / A.8.24 / A.10 lag declarations), and by `compliance-theater` (which compares the harvest-now-decrypt-later exposure against the org's data-classification claims). Preserve the per-protocol cryptographic-inventory rows verbatim — they are the auditable derivation of the migration roadmap.
517
+ The skill produces a structured PQC Readiness Assessment that scores the org's post-quantum migration posture against the NIST PQC standards (ML-KEM / FIPS 203, ML-DSA / FIPS 204, SLH-DSA / FIPS 205), CNSA 2.0, and the BSI / ANSSI / NCSC migration guidance. The shape below is consumed downstream by `crypto` playbook runs (which feed the assessment into the analysis correlation step), by `framework-gap-analysis` (for SC-8 / SC-13 / A.8.24 / A.10 lag declarations), and by `compliance-theater` (which compares the harvest-now-decrypt-later exposure against the org's data-classification claims). Preserve the per-protocol cryptographic-inventory rows verbatim — they are the auditable derivation of the migration roadmap.
518
518
 
519
519
  ```
520
520
  ## PQC Readiness Assessment
@@ -66,7 +66,7 @@ forward_watch:
66
66
  - "Five Eyes joint advisories on telecom-equipment intrusion"
67
67
  - "3GPP TS 33.501 updates (5G security architecture rebaseline)"
68
68
  - "O-RAN SFG / WG11 security specifications"
69
- last_threat_review: 2026-05-15
69
+ last_threat_review: "2026-05-15"
70
70
  discovery_mode: "standalone" # v0.13.2: operator-reached via `exceptd brief sector-telecom` or `exceptd ask`; not chained into any playbook's direct.skill_chain by design
71
71
  ---
72
72
 
@@ -117,7 +117,7 @@ ATLAS AML.T0040 (Tool / Plugin Compromise) anchors the AI-RAN attack class: plug
117
117
 
118
118
  ## Analysis Procedure
119
119
 
120
- ### Phase 1 — govern (jurisdictional clock + obligations)
120
+ ### Jurisdictional clocks + obligations
121
121
 
122
122
  Surface the operator's jurisdictional notification clocks immediately on detection:
123
123
 
@@ -134,11 +134,11 @@ Surface the operator's jurisdictional notification clocks immediately on detecti
134
134
 
135
135
  Wait for operator acknowledgment of the highest-priority clock before proceeding.
136
136
 
137
- ### Phase 2 — direct (threat context)
137
+ ### Threat context briefing
138
138
 
139
139
  Brief the operator on Salt Typhoon-class TTPs + RWEP-threshold bands. For telecom CVEs with active exploitation: live-patch threshold 90, urgent-patch 70, scheduled 30.
140
140
 
141
- ### Phase 3 — look (artifacts to capture)
141
+ ### Artifacts to capture
142
142
 
143
143
  Capture the following telecom-specific evidence (use `air_gap_alternative` paths if operator is in disconnected mode):
144
144
 
@@ -152,7 +152,7 @@ Capture the following telecom-specific evidence (use `air_gap_alternative` paths
152
152
  - **OEM vendor remote-support tunnel inventory** — open Cisco TAC / Ericsson ENS / Nokia OMS tunnels with last-active timestamp.
153
153
  - **NESAS deployment posture report** — most recent operator-attested deployment match against the vendor-certified build.
154
154
 
155
- ### Phase 4 — detect (indicators)
155
+ ### Detection indicators
156
156
 
157
157
  Walk every indicator's `false_positive_checks_required` list before submitting a hit:
158
158
 
@@ -163,23 +163,23 @@ Walk every indicator's `false_positive_checks_required` list before submitting a
163
163
  - **Unauthorized LI gateway tunnel** — outbound connection from the LI gateway to an IP outside the LE / DOJ / regulator allowlist. FP check: rule out documented maintenance bastion.
164
164
  - **OEM firmware downgrade events** — vendor-equipment firmware version regressed below the operator-published minimum. FP check: rule out documented incident-response rollback.
165
165
 
166
- ### Phase 5 — analyze (correlation)
166
+ ### Correlation
167
167
 
168
168
  Match captured artifacts against `data/cve-catalog.json` entries with `attack_class: telecom` or matching `attack_refs`. Cross-reference against `data/framework-control-gaps.json` for FCC-CPNI-4.1, FCC-Cyber-Incident-Notification-2024, NIS2-Annex-I-Telecom, DORA-Art-21-Telecom-ICT, UK-CAF-B5, AU-ISM-1556, GSMA-NESAS-Deployment, 3GPP-TR-33.926, ITU-T-X.805. Score blast-radius based on subscriber count + LI-feed-exposure dimension + AI-RAN slice-mismapping potential.
169
169
 
170
- ### Phase 6 — validate (priority-sorted remediation)
170
+ ### Priority-sorted remediation
171
171
 
172
172
  Priority 1 (immediate): isolate compromised NMS account; revoke and re-issue LI-gateway operator credentials; pull running-gNB firmware hash off every base station and compare against operator-attested expected.
173
173
  Priority 2 (24h): rotate all OEM vendor remote-support credentials; close TAC tunnels not actively in use; signaling-firewall block on cross-PLMN spike sources.
174
174
  Priority 3 (72h): operator-attested NESAS recertification of every gNB / EMS / OSS; slice-isolation verification across every active 5GC slice; comprehensive review of the last 90 days of NMS admin actions.
175
175
 
176
- ### Phase 7 — close (regulator notifications + evidence preservation)
176
+ ### Regulator notifications + evidence preservation
177
177
 
178
- Draft jurisdictional notification messages with regulator-specific evidence templates. Preserve LI-system audit trail for downstream law-enforcement / intelligence-community handoff. Schedule a follow-up `reattest` window at the highest applicable regulator deadline minus 48 hours.
178
+ Draft jurisdictional notification messages with regulator-specific evidence templates. Preserve LI-system audit trail for downstream law-enforcement / intelligence-community handoff. Schedule a follow-up re-attestation window at the highest applicable regulator deadline minus 48 hours.
179
179
 
180
180
  ## Output Format
181
181
 
182
- The investigation evidence bundle returned by phase 5 + 6 has this shape:
182
+ The investigation evidence bundle has this shape:
183
183
 
184
184
  ```json
185
185
  {
@@ -251,6 +251,6 @@ Theater patterns specific to telecom posture:
251
251
 
252
252
  - **incident-response-playbook** — parent IR flow; sector-telecom extends the IR contract with telecom-specific evidence and jurisdictional clocks.
253
253
  - **framework-gap-analysis** — invoke for downstream Hard-Rule-5 gap mapping against catalog framework_gaps.
254
- - **cred-stores** — LI-gateway operator credential storage falls under the cred-stores skill for secret-management depth.
254
+ - **cred-stores** *(playbook chain, not a skill)* — LI-gateway operator credential storage falls under the `cred-stores` playbook for secret-management depth.
255
255
  - **sector-federal-government** — national-security adjacency on LI-system compromise touches federal investigation scope.
256
256
  - **mcp-agent-trust** — AI-RAN xApp / rApp compromise (ATLAS AML.T0040 class) crosses into MCP-class agent-tool trust boundaries.
@@ -288,7 +288,7 @@ The truth set: every `AML.T*` key in `data/atlas-ttps.json` (excluding `_meta`)
288
288
 
289
289
  ## Exploit Availability Matrix
290
290
 
291
- A threat model is "current" only if it accounts for every `data/cve-catalog.json` entry with RWEP >= 50 — with either a deployed mitigation or a documented, accepted residual risk. As of `last_threat_review: 2026-05-14`:
291
+ A threat model is "current" only if it accounts for every `data/cve-catalog.json` entry with RWEP >= 50 — with either a deployed mitigation or a documented, accepted residual risk. As of the frontmatter `last_threat_review`:
292
292
 
293
293
  | CVE | Name | CVSS | RWEP | KEV | PoC | AI factor | Live-patchable | Required threat-model treatment |
294
294
  |---|---|---|---|---|---|---|---|---|
@@ -49,6 +49,10 @@ discovery_mode: "standalone" # v0.13.2: operator-reached via `exceptd brief thr
49
49
 
50
50
  # Threat Modeling Methodology
51
51
 
52
+ ## Frontmatter Scope
53
+
54
+ The `atlas_refs` and `attack_refs` arrays are intentionally empty. This skill teaches the *method* for selecting and combining threat-modeling frameworks and mapping threats to techniques — it does not own a fixed TTP set. The specific TTPs cited in the body are illustrative of the method; the authoritative technique attachment lives on the domain skill or playbook that detects each threat. Duplicating those IDs here would create a divergence surface the next time a downstream mapping changes.
55
+
52
56
  ## Purpose
53
57
 
54
58
  The companion skill `threat-model-currency` measures *when* a threat model is stale. This skill governs *how* a threat model is built. Currency without methodology yields opinion; methodology without currency yields a current-looking 2022 artefact. Both are required.