@blamejs/exceptd-skills 0.12.6 → 0.12.8
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 +14 -0
- package/CHANGELOG.md +97 -0
- package/bin/exceptd.js +189 -52
- package/data/_indexes/_meta.json +37 -37
- package/data/_indexes/activity-feed.json +26 -26
- package/data/_indexes/catalog-summaries.json +8 -8
- package/data/_indexes/chains.json +238 -0
- package/data/_indexes/frequency.json +63 -5
- package/data/_indexes/jurisdiction-map.json +13 -3
- package/data/_indexes/section-offsets.json +881 -845
- package/data/_indexes/summary-cards.json +2 -2
- package/data/_indexes/token-budget.json +145 -125
- package/data/atlas-ttps.json +189 -1
- package/data/cwe-catalog.json +290 -1
- package/data/d3fend-catalog.json +163 -1
- package/data/framework-control-gaps.json +243 -0
- package/data/playbooks/containers.json +23 -5
- package/data/playbooks/cred-stores.json +9 -9
- package/data/playbooks/crypto.json +8 -8
- package/data/playbooks/hardening.json +46 -10
- package/data/playbooks/library-author.json +16 -20
- package/data/playbooks/mcp.json +64 -1
- package/data/playbooks/runtime.json +7 -7
- package/data/playbooks/sbom.json +11 -11
- package/data/playbooks/secrets.json +4 -4
- package/data/rfc-references.json +144 -0
- package/lib/refresh-external.js +25 -5
- package/lib/schemas/skill-frontmatter.schema.json +2 -2
- package/manifest-snapshot.json +1 -1
- package/manifest.json +67 -67
- package/package.json +2 -1
- package/sbom.cdx.json +6 -6
- package/scripts/check-sbom-currency.js +87 -0
- package/scripts/check-test-coverage.README.md +148 -0
- package/scripts/check-test-coverage.js +455 -0
- package/scripts/hooks/pre-commit.sh +19 -0
- package/scripts/predeploy.js +16 -30
- package/skills/age-gates-child-safety/skill.md +3 -0
- package/skills/ai-attack-surface/skill.md +4 -1
- package/skills/ai-c2-detection/skill.md +6 -1
- package/skills/ai-risk-management/skill.md +3 -0
- package/skills/api-security/skill.md +3 -0
- package/skills/attack-surface-pentest/skill.md +3 -0
- package/skills/cloud-security/skill.md +3 -0
- package/skills/container-runtime-security/skill.md +3 -0
- package/skills/coordinated-vuln-disclosure/skill.md +8 -1
- package/skills/defensive-countermeasure-mapping/skill.md +1 -1
- package/skills/dlp-gap-analysis/skill.md +3 -0
- package/skills/email-security-anti-phishing/skill.md +9 -1
- package/skills/identity-assurance/skill.md +6 -1
- package/skills/incident-response-playbook/skill.md +8 -2
- package/skills/kernel-lpe-triage/skill.md +24 -4
- package/skills/mcp-agent-trust/skill.md +4 -1
- package/skills/mlops-security/skill.md +3 -0
- package/skills/ot-ics-security/skill.md +3 -0
- package/skills/rag-pipeline-security/skill.md +3 -0
- package/skills/sector-energy/skill.md +3 -0
- package/skills/sector-federal-government/skill.md +3 -0
- package/skills/sector-financial/skill.md +3 -0
- package/skills/sector-healthcare/skill.md +3 -0
- package/skills/security-maturity-tiers/skill.md +19 -1
- package/skills/skill-update-loop/skill.md +32 -0
- package/skills/supply-chain-integrity/skill.md +3 -0
- package/skills/threat-modeling-methodology/skill.md +3 -0
- package/skills/webapp-security/skill.md +3 -0
|
@@ -39,6 +39,9 @@ framework_gaps:
|
|
|
39
39
|
- OWASP-LLM-Top-10-2025-LLM01
|
|
40
40
|
- OWASP-LLM-Top-10-2025-LLM02
|
|
41
41
|
- SOC2-CC6-logical-access
|
|
42
|
+
- EU-AI-Act-Art-15
|
|
43
|
+
- UK-CAF-A1
|
|
44
|
+
- AU-Essential-8-App-Hardening
|
|
42
45
|
cwe_refs:
|
|
43
46
|
- CWE-1039
|
|
44
47
|
- CWE-1426
|
|
@@ -46,7 +49,7 @@ cwe_refs:
|
|
|
46
49
|
d3fend_refs:
|
|
47
50
|
- D3-IOPR
|
|
48
51
|
- D3-NTA
|
|
49
|
-
last_threat_review: "2026-05-
|
|
52
|
+
last_threat_review: "2026-05-13"
|
|
50
53
|
---
|
|
51
54
|
|
|
52
55
|
# AI Attack Surface Assessment
|
|
@@ -28,6 +28,11 @@ framework_gaps:
|
|
|
28
28
|
- NIST-800-53-SC-7
|
|
29
29
|
- ISO-27001-2022-A.8.16
|
|
30
30
|
- SOC2-CC7-anomaly-detection
|
|
31
|
+
- NIS2-Art21-incident-handling
|
|
32
|
+
- UK-CAF-C1
|
|
33
|
+
- AU-Essential-8-App-Hardening
|
|
34
|
+
cwe_refs:
|
|
35
|
+
- CWE-918
|
|
31
36
|
rfc_refs:
|
|
32
37
|
- RFC-8446
|
|
33
38
|
- RFC-9180
|
|
@@ -43,7 +48,7 @@ d3fend_refs:
|
|
|
43
48
|
- D3-NI
|
|
44
49
|
- D3-NTA
|
|
45
50
|
- D3-NTPM
|
|
46
|
-
last_threat_review: "2026-05-
|
|
51
|
+
last_threat_review: "2026-05-13"
|
|
47
52
|
---
|
|
48
53
|
|
|
49
54
|
# AI C2 Detection
|
|
@@ -29,7 +29,14 @@ framework_gaps:
|
|
|
29
29
|
- NIST-800-218-SSDF
|
|
30
30
|
- ISO-27001-2022-A.8.8
|
|
31
31
|
- SOC2-CC9-vendor-management
|
|
32
|
-
|
|
32
|
+
- NIS2-Art21-incident-handling
|
|
33
|
+
- UK-CAF-D1
|
|
34
|
+
- AU-Essential-8-Patch
|
|
35
|
+
rfc_refs:
|
|
36
|
+
- ISO-29147
|
|
37
|
+
- ISO-30111
|
|
38
|
+
- RFC-9116
|
|
39
|
+
- CSAF-2.0
|
|
33
40
|
cwe_refs:
|
|
34
41
|
- CWE-1357
|
|
35
42
|
d3fend_refs: []
|
|
@@ -208,7 +208,7 @@ Zero-trust-compliant defense maps to controls that verify per request. Implicit-
|
|
|
208
208
|
Example: "CVE — Linux kernel LPE. Canonical: CVE-2026-31431 (Copy Fail)."
|
|
209
209
|
|
|
210
210
|
## Offensive technique set (input to D3FEND query)
|
|
211
|
-
- <AML.
|
|
211
|
+
- <AML.T0001-or-similar / T0001-or-similar / CWE-<id> list, with one-line descriptions>
|
|
212
212
|
|
|
213
213
|
## Defensive-coverage map
|
|
214
214
|
| D3FEND ID | Name | Tactic (DiD layer) | Privilege scope | ZT posture | Deployed? | AI-pipeline applicable? | Framework controls partially mapped | Live-tunable? |
|
|
@@ -39,7 +39,15 @@ framework_gaps:
|
|
|
39
39
|
- NIST-800-53-SI-3
|
|
40
40
|
- ISO-27001-2022-A.8.16
|
|
41
41
|
- SOC2-CC7-anomaly-detection
|
|
42
|
-
|
|
42
|
+
- NIS2-Art21-incident-handling
|
|
43
|
+
- UK-CAF-C1
|
|
44
|
+
- AU-Essential-8-App-Hardening
|
|
45
|
+
rfc_refs:
|
|
46
|
+
- RFC-7489
|
|
47
|
+
- RFC-6376
|
|
48
|
+
- RFC-7208
|
|
49
|
+
- RFC-8616
|
|
50
|
+
- RFC-8461
|
|
43
51
|
cwe_refs: []
|
|
44
52
|
d3fend_refs:
|
|
45
53
|
- D3-NTA
|
|
@@ -38,6 +38,9 @@ framework_gaps:
|
|
|
38
38
|
- ISO-27001-2022-A.8.30
|
|
39
39
|
- SOC2-CC6-logical-access
|
|
40
40
|
- PSD2-RTS-SCA
|
|
41
|
+
- NIS2-Art21-incident-handling
|
|
42
|
+
- UK-CAF-B2
|
|
43
|
+
- AU-Essential-8-MFA
|
|
41
44
|
rfc_refs:
|
|
42
45
|
- RFC-7519
|
|
43
46
|
- RFC-8725
|
|
@@ -52,7 +55,9 @@ cwe_refs:
|
|
|
52
55
|
- CWE-798
|
|
53
56
|
- CWE-862
|
|
54
57
|
- CWE-863
|
|
55
|
-
d3fend_refs:
|
|
58
|
+
d3fend_refs:
|
|
59
|
+
- D3-MFA
|
|
60
|
+
- D3-CSPP
|
|
56
61
|
last_threat_review: "2026-05-11"
|
|
57
62
|
---
|
|
58
63
|
|
|
@@ -37,7 +37,13 @@ framework_gaps:
|
|
|
37
37
|
- NIST-800-53-AC-2
|
|
38
38
|
- ISO-27001-2022-A.8.16
|
|
39
39
|
- SOC2-CC7-anomaly-detection
|
|
40
|
-
|
|
40
|
+
- NIS2-Art21-incident-handling
|
|
41
|
+
- UK-CAF-D1
|
|
42
|
+
- AU-Essential-8-Backup
|
|
43
|
+
rfc_refs:
|
|
44
|
+
- RFC-6545
|
|
45
|
+
- RFC-6546
|
|
46
|
+
- RFC-7970
|
|
41
47
|
cwe_refs: []
|
|
42
48
|
d3fend_refs:
|
|
43
49
|
- D3-RPA
|
|
@@ -120,7 +126,7 @@ This skill is response-shaped — the TTPs below name the incident classes the p
|
|
|
120
126
|
|---|---|---|---|---|
|
|
121
127
|
| **T1486** | Data Encrypted for Impact | Ransomware | Identification: EDR file-encryption telemetry, share-mass-write pattern. Containment: network-segment isolation, identity revocation. Eradication: backup-validation-before-restore. Recovery: validated-restore + service-level verification. Lessons: feed to `zeroday-gap-learn` if initial access was a known CVE. | Detection coverage strong; identity-rotation maturity weak. NYDFS 24h ransom-payment clock and OFAC sanctions screening intersect at decision-to-pay. |
|
|
122
128
|
| **T1041** | Exfiltration Over C2 Channel | Data exfiltration via established C2 | Identification: DLP egress, anomalous outbound bandwidth, beaconing patterns. Containment: egress filtering, certificate-pinned proxy. Eradication: C2 artifact removal. Recovery: identity + secrets rotation. Lessons: detection-engineering gap analysis. | EDR coverage variable; encrypted exfiltration to legitimate services (Box, OneDrive, S3) often missed by signature-based DLP. |
|
|
123
|
-
| **T1567** | Exfiltration Over Web Service | Exfiltration via legitimate web/SaaS services including AI-API | Identification: web-egress to anomalous services or anomalous-volume to legitimate services; for AI-API channel pair with `ai-c2-detection`. Containment: egress block of identified channel, AI-API key revocation, MCP-server scope reduction. Eradication: identify exfiltrated dataset, follow data-incident sub-playbook. Recovery: re-key + re-issue access. | AI-API exfiltration (sub-technique T1567
|
|
129
|
+
| **T1567** | Exfiltration Over Web Service | Exfiltration via legitimate web/SaaS services including AI-API | Identification: web-egress to anomalous services or anomalous-volume to legitimate services; for AI-API channel pair with `ai-c2-detection`. Containment: egress block of identified channel, AI-API key revocation, MCP-server scope reduction. Eradication: identify exfiltrated dataset, follow data-incident sub-playbook. Recovery: re-key + re-issue access. | AI-API exfiltration (sub-technique T1567.<sub-technique-id> pattern; ATLAS overlap with AML.T0017) typically blends with legitimate traffic — see `ai-c2-detection` for content-layer detection. |
|
|
124
130
|
| **T1078** | Valid Accounts | Identity compromise as initial access | Identification: anomalous-sign-in UEBA, impossible-travel, MFA-fatigue patterns. Containment: account disable + session revocation + re-authentication for affected blast radius. Eradication: credential rotation, token revocation, OAuth-grant audit, AI-agent service-account rotation. Recovery: re-issue under zero-trust posture. Lessons: identity-control gap analysis. | Dominant initial-access vector mid-2026; coverage strong for human accounts, weak for AI-agent / service-account / OAuth-app identities. |
|
|
125
131
|
| **AML.T0096** | LLM API as C2 | AI-API as command-and-control channel (SesameOp pattern) | Identification: see `ai-c2-detection` skill — content-layer detection at the AI API egress boundary, prompt-and-response correlation, anomalous AI-API usage shape. Containment: AI-API egress block or proxy-mediated allowlist. Eradication: identify the agent or workload abusing the channel. Recovery: re-issue AI-API keys under scoped least-privilege. | Detection coverage near-absent in legacy SOC stacks; the AI traffic shape is novel and signatures do not exist for most enterprise SIEMs. |
|
|
126
132
|
| **AML.T0017** | ML Model Exfiltration | Model weights, training data, or system-prompt extraction | Identification: anomalous inference-API usage patterns (high-volume queries, structured probing, membership-inference signatures, repeated training-data extraction prompts). Containment: rate-limit + API-key revocation + IP block. Eradication: identify attacker access surface; assess data sensitivity. Recovery: re-key, consider model-rotation if proprietary weights are at risk; for training-data exfiltration consider differential-privacy retraining. | No standardized detection signatures; org must build custom telemetry over AI inference APIs. |
|
|
@@ -26,6 +26,8 @@ framework_gaps:
|
|
|
26
26
|
- NIS2-Art21-patch-management
|
|
27
27
|
- NIST-800-53-SC-8
|
|
28
28
|
- CIS-Controls-v8-Control7
|
|
29
|
+
- UK-CAF-D1
|
|
30
|
+
- AU-Essential-8-Patch
|
|
29
31
|
rfc_refs:
|
|
30
32
|
- RFC-4301
|
|
31
33
|
- RFC-4303
|
|
@@ -41,7 +43,7 @@ d3fend_refs:
|
|
|
41
43
|
- D3-EAL
|
|
42
44
|
- D3-PHRA
|
|
43
45
|
- D3-PSEP
|
|
44
|
-
last_threat_review: "2026-05-
|
|
46
|
+
last_threat_review: "2026-05-13"
|
|
45
47
|
---
|
|
46
48
|
|
|
47
49
|
# Kernel LPE Triage
|
|
@@ -134,6 +136,24 @@ Note: ATLAS refs are intentionally empty in frontmatter — these are Linux kern
|
|
|
134
136
|
|
|
135
137
|
---
|
|
136
138
|
|
|
139
|
+
## Compliance Theater Check
|
|
140
|
+
|
|
141
|
+
Run this check for any org claiming patch-management compliance for kernel LPE class CVEs:
|
|
142
|
+
|
|
143
|
+
> "Your patch-management control (NIST SI-2 / ISO 27001:2022 A.8.8 / PCI-DSS v4 6.3.3 / NIS2 Art. 21(2)(g) / UK-CAF B4 / AU-ISM-1493) documents a 30-day remediation window for Critical/High CVEs. CVE-2026-31431 (Copy Fail) is CISA KEV listed with a public deterministic exploit requiring no privileges and KEV listing dated 2026-03-15. What is the actual time, on this fleet, between KEV listing and confirmed patch-or-mitigate for the affected kernel versions? If that interval exceeds 72 hours without live-patching as a deployed capability for the affected hosts, the patch-management control is theater for the KEV-class kernel-LPE threat surface."
|
|
144
|
+
|
|
145
|
+
**Theater fingerprints (any of these reduces the control to paper compliance):**
|
|
146
|
+
|
|
147
|
+
- Patch SLA is measured against advisory-publication date, not KEV-listing date — KEV listings are the operational signal that exploitation is happening now, and the SLA must trigger from there.
|
|
148
|
+
- The fleet inventory cannot answer "which hosts run the affected kernel version" within minutes — without live inventory, the SLA cannot be measured.
|
|
149
|
+
- Live-patching is described as "available" but no kernel was live-patched in the last 30 days — capability without operation is theater.
|
|
150
|
+
- The compensating-controls plan for hosts that cannot be rebooted within SLA is undocumented or relies on controls the CVE PoC bypasses (e.g. AppArmor profiles where the exploit runs as the legitimate user).
|
|
151
|
+
- "Patch management" includes only OS vendor patches, not third-party kernel modules or out-of-tree drivers — Dirty Frag RxRPC class lives in the network subsystem and is often patched on an asymmetric cadence.
|
|
152
|
+
|
|
153
|
+
**Real requirement:** patch SLA anchored to KEV listing date, fleet inventory live enough to answer "affected hosts" in under 5 minutes, live-patching deployed and exercised in the prior 30 days, written compensating-controls plan that survives the PoC test, third-party kernel modules in scope.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
137
157
|
## Analysis Procedure
|
|
138
158
|
|
|
139
159
|
When a user invokes this skill, perform this assessment in order:
|
|
@@ -156,10 +176,10 @@ Ask for or assess:
|
|
|
156
176
|
Exposed if: kernel >= 4.14 AND kernel < [patched version for distribution]
|
|
157
177
|
Patched versions:
|
|
158
178
|
RHEL 8/9: kernel-4.18.0-553.xx.el8 / kernel-5.14.0-427.xx.el9
|
|
159
|
-
Ubuntu 22.04: linux-image-5.15.0-
|
|
160
|
-
Ubuntu 24.04: linux-image-6.8.0-xxx (check USN-
|
|
179
|
+
Ubuntu 22.04: linux-image-5.15.0-<patch-revision> (check USN-7<advisory-number>)
|
|
180
|
+
Ubuntu 24.04: linux-image-6.8.0-xxx (check USN-7<advisory-number>)
|
|
161
181
|
Debian 12: 6.1.xxx (check DSA-5xxx)
|
|
162
|
-
Amazon Linux 2: kernel 5.10.xxx (check ALAS-2026-
|
|
182
|
+
Amazon Linux 2: kernel 5.10.xxx (check ALAS-2026-<advisory-number>)
|
|
163
183
|
SUSE 15: kernel 5.14.xxx (check SUSE-SU-2026:xxx)
|
|
164
184
|
```
|
|
165
185
|
|
|
@@ -33,6 +33,9 @@ framework_gaps:
|
|
|
33
33
|
- OWASP-LLM-Top-10-2025-LLM06
|
|
34
34
|
- SOC2-CC9-vendor-management
|
|
35
35
|
- SWIFT-CSCF-v2026-1.1
|
|
36
|
+
- EU-AI-Act-Art-15
|
|
37
|
+
- UK-CAF-A1
|
|
38
|
+
- AU-Essential-8-App-Hardening
|
|
36
39
|
rfc_refs:
|
|
37
40
|
- RFC-6749
|
|
38
41
|
- RFC-7519
|
|
@@ -56,7 +59,7 @@ d3fend_refs:
|
|
|
56
59
|
- D3-EAL
|
|
57
60
|
- D3-EHB
|
|
58
61
|
- D3-MFA
|
|
59
|
-
last_threat_review: "2026-05-
|
|
62
|
+
last_threat_review: "2026-05-13"
|
|
60
63
|
---
|
|
61
64
|
|
|
62
65
|
# MCP Agent Trust Assessment
|
|
@@ -73,7 +73,7 @@ It outputs Tier 1 (MVP), Tier 2 (Practical), Tier 3 (Overkill) for that domain
|
|
|
73
73
|
uname -r
|
|
74
74
|
# Cross-reference against patched versions for your distro
|
|
75
75
|
# RHEL: kernel >= 4.18.0-553.xx = patched
|
|
76
|
-
# Ubuntu 22.04: linux-image-5.15.0-
|
|
76
|
+
# Ubuntu 22.04: linux-image-5.15.0-<patch-revision> (check latest USN)
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
2. **Deploy live kernel patches on exposed systems** (same day)
|
|
@@ -373,6 +373,24 @@ Year 1+: Tier 3 — by domain, starting with highest-sensitivity data
|
|
|
373
373
|
|
|
374
374
|
---
|
|
375
375
|
|
|
376
|
+
## Compliance Theater Check
|
|
377
|
+
|
|
378
|
+
Apply this check to every maturity-tier engagement before recommending a roadmap:
|
|
379
|
+
|
|
380
|
+
> "Your security program currently sits at Tier <N> by self-assessment for domain <D>. The compliance framework you cite (e.g. NIST CSF 2.0 / ISO 27001:2022 / NIS2 Art. 21 / UK-CAF / AU Essential 8) classifies your posture as <attested-tier>. If the threats now in scope for this domain (specific CVE / TTP from `data/cve-catalog.json` and `data/atlas-ttps.json`) include a class where the framework control is structurally insufficient (Hard Rule #2 framework-lag), then your attested tier and your operational tier diverge by exactly that gap. Which of the controls you would cite for your attested tier would survive a primary-source IoC test against the highest-RWEP CVE in scope?"
|
|
381
|
+
|
|
382
|
+
**Theater fingerprints for tier conflation:**
|
|
383
|
+
|
|
384
|
+
- The org has Tier 3 controls in one domain (e.g. SIEM with hundreds of alerts) but Tier 1 gaps in an adjacent domain (e.g. no kernel-LPE patch SLA on the SIEM host). The Tier 3 alert never fires because the underlying integrity is missing.
|
|
385
|
+
- "Mature" is asserted on the basis of tool ownership, not behavior — HSMs purchased, never operationally rotated; ZTA architecture documented, default-allow policies in force; PQC algorithms in code, no key-rotation playbook.
|
|
386
|
+
- The maturity model used is the org's own framework-attestation tier, not the lived operational tier — the audit report says Tier 3, the on-call says "what's that runbook again."
|
|
387
|
+
- Tier-3 controls audited annually, Tier-1 controls (patching, MFA on privileged identities, secrets in git) never re-audited because they "passed once."
|
|
388
|
+
- The roadmap promotes the org from Tier 1 to Tier 3 in a single budget cycle, skipping the Tier 2 operational work that converts point-in-time controls into continuous ones.
|
|
389
|
+
|
|
390
|
+
**Real requirement:** maturity assessed per domain, not org-wide; the assessed tier matches operational behavior (not the audit attestation); promotion happens domain-by-domain with explicit Tier-2 instrumentation between Tier-1 controls and Tier-3 sophistication; the same CVE-anchored primary-source IoC test (Hard Rule #14) applies at every tier — if a Tier-3 control cannot defend against the published PoC of the highest-RWEP CVE in scope, the tier classification is theater.
|
|
391
|
+
|
|
392
|
+
---
|
|
393
|
+
|
|
376
394
|
## The Anti-Pattern: Tier 3 Security Theater
|
|
377
395
|
|
|
378
396
|
Tier 3 controls without Tier 1 and Tier 2 in place is its own form of theater.
|
|
@@ -41,6 +41,38 @@ This meta-skill manages the evolution of all other exceptd skills. It is the loo
|
|
|
41
41
|
|
|
42
42
|
---
|
|
43
43
|
|
|
44
|
+
## Threat Context
|
|
45
|
+
|
|
46
|
+
The threat context this skill defends against is not a specific adversary technique — it is the **drift attack against the platform's own currency**: an exceptd installation whose skills, catalogs, framework references, and ATLAS pins age silently between releases until the operator-facing analysis is calibrated to a threat model that no longer exists.
|
|
47
|
+
|
|
48
|
+
Real-world manifestations in mid-2026:
|
|
49
|
+
|
|
50
|
+
- ATLAS v5.1.0 (November 2025) added TTPs that bind to operational reality (AML.T0096 AI-API C2, AML.T0048 erode-integrity-via-drift). A skill pinned to ATLAS v4 cannot route these. **AML.T0010** family was expanded to cover MCP supply-chain compromise mid-cycle.
|
|
51
|
+
- CVE-2026-31431 (Copy Fail) joined CISA KEV in 2026-03-15. Any skill whose `last_threat_review` predates that date and whose body recommends "patch on 30-day SLA" is recommending against a threat model that KEV escalated to days, not weeks.
|
|
52
|
+
- NIST SP 800-63B updated PBKDF2 iteration guidance to ≥ 600,000 in 2022; many compliance attestations still cite the 2017 numbers. A skill that does not track that lag perpetuates the theater.
|
|
53
|
+
- IETF RFC 9116 (security.txt) and the CSAF 2.0 transition both have hard cutover signals that change how `coordinated-vuln-disclosure` should advise.
|
|
54
|
+
|
|
55
|
+
The decay is silent — no alert fires, no signature breaks, no test fails. Skill currency is only verifiable by running this update loop on a published cadence. Without it, **every other skill ships with a hidden expiration date.**
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## TTP Mapping
|
|
60
|
+
|
|
61
|
+
This skill defends against drift; the TTPs that EXPLOIT a drifted skill are:
|
|
62
|
+
|
|
63
|
+
| Tactic | TTP | What drift enables |
|
|
64
|
+
|---|---|---|
|
|
65
|
+
| Defense Evasion | T1562.001 (Disable or Modify Tools) | Stale skill recommends only the controls the current adversary class already evades |
|
|
66
|
+
| Resource Development | AML.T0016 (Develop Capabilities) | Attacker capability outpaces the catalog the skill cites |
|
|
67
|
+
| Initial Access | AML.T0010 (Supply Chain Compromise) | New attack class (e.g. MCP plugin compromise) isn't yet a skill |
|
|
68
|
+
| Defense Evasion | T1027 (Obfuscated Files or Information) | Detection rules in a skill are for an older obfuscation generation |
|
|
69
|
+
| Impact | AML.T0048 (Erode ML Model Integrity) | Drift in the threat-context section means the operator's mental model is wrong by months |
|
|
70
|
+
| Discovery | T1518 (Software Discovery) | The catalog the skill scans doesn't recognize the adversary's current tool inventory |
|
|
71
|
+
|
|
72
|
+
The update loop does not detect these TTPs — it prevents the skill set from being *vulnerable* to them by structural staleness.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
44
76
|
## Why Skills Decay
|
|
45
77
|
|
|
46
78
|
Security skills have a half-life. The specific decay mechanisms are:
|