@blamejs/exceptd-skills 0.13.2 → 0.13.4

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.
Files changed (64) hide show
  1. package/AGENTS.md +41 -4
  2. package/CHANGELOG.md +73 -0
  3. package/README.md +79 -13
  4. package/bin/exceptd.js +105 -1
  5. package/data/_indexes/_meta.json +47 -47
  6. package/data/_indexes/activity-feed.json +3 -3
  7. package/data/_indexes/catalog-summaries.json +3 -3
  8. package/data/_indexes/chains.json +125 -32
  9. package/data/_indexes/frequency.json +12 -0
  10. package/data/_indexes/handoff-dag.json +127 -57
  11. package/data/_indexes/section-offsets.json +541 -487
  12. package/data/_indexes/summary-cards.json +34 -34
  13. package/data/_indexes/token-budget.json +329 -299
  14. package/data/attack-techniques.json +2 -0
  15. package/data/cve-catalog.json +99 -146
  16. package/data/cwe-catalog.json +1 -0
  17. package/data/exploit-availability.json +0 -27
  18. package/data/framework-control-gaps.json +409 -0
  19. package/data/zeroday-lessons.json +71 -89
  20. package/lib/lint-skills.js +17 -13
  21. package/lib/schemas/playbook.schema.json +5 -0
  22. package/lib/source-advisories.js +26 -0
  23. package/manifest.json +82 -82
  24. package/orchestrator/index.js +147 -2
  25. package/package.json +1 -1
  26. package/sbom.cdx.json +61 -61
  27. package/skills/age-gates-child-safety/skill.md +2 -0
  28. package/skills/ai-attack-surface/skill.md +2 -0
  29. package/skills/ai-c2-detection/skill.md +2 -0
  30. package/skills/ai-risk-management/skill.md +2 -0
  31. package/skills/api-security/skill.md +16 -4
  32. package/skills/attack-surface-pentest/skill.md +2 -0
  33. package/skills/cloud-iam-incident/skill.md +1 -1
  34. package/skills/cloud-security/skill.md +2 -0
  35. package/skills/compliance-theater/skill.md +28 -2
  36. package/skills/container-runtime-security/skill.md +2 -0
  37. package/skills/coordinated-vuln-disclosure/skill.md +1 -1
  38. package/skills/defensive-countermeasure-mapping/skill.md +2 -0
  39. package/skills/dlp-gap-analysis/skill.md +2 -0
  40. package/skills/email-security-anti-phishing/skill.md +14 -4
  41. package/skills/exploit-scoring/skill.md +30 -1
  42. package/skills/framework-gap-analysis/skill.md +28 -1
  43. package/skills/fuzz-testing-strategy/skill.md +4 -2
  44. package/skills/global-grc/skill.md +2 -0
  45. package/skills/identity-assurance/skill.md +2 -0
  46. package/skills/kernel-lpe-triage/skill.md +2 -0
  47. package/skills/mcp-agent-trust/skill.md +4 -0
  48. package/skills/mlops-security/skill.md +2 -0
  49. package/skills/ot-ics-security/skill.md +2 -0
  50. package/skills/policy-exception-gen/skill.md +28 -1
  51. package/skills/pqc-first/skill.md +2 -0
  52. package/skills/rag-pipeline-security/skill.md +2 -0
  53. package/skills/researcher/skill.md +2 -0
  54. package/skills/sector-energy/skill.md +2 -0
  55. package/skills/sector-federal-government/skill.md +2 -0
  56. package/skills/sector-financial/skill.md +2 -0
  57. package/skills/sector-healthcare/skill.md +2 -0
  58. package/skills/security-maturity-tiers/skill.md +2 -0
  59. package/skills/skill-update-loop/skill.md +2 -0
  60. package/skills/supply-chain-integrity/skill.md +2 -0
  61. package/skills/threat-model-currency/skill.md +37 -1
  62. package/skills/threat-modeling-methodology/skill.md +2 -0
  63. package/skills/webapp-security/skill.md +2 -0
  64. package/skills/zeroday-gap-learn/skill.md +33 -1
@@ -23,7 +23,7 @@ forward_watch:
23
23
  - New ATLAS TTP additions in each ATLAS release
24
24
  - Framework updates that close previously open gaps
25
25
  - Vendor advisories for MCP/AI tool supply chain CVEs
26
- last_threat_review: "2026-05-15"
26
+ last_threat_review: "2026-05-18"
27
27
  discovery_mode: "standalone" # v0.13.2: operator-reached via `exceptd brief zeroday-gap-learn` or `exceptd ask`; not chained into any playbook's direct.skill_chain by design
28
28
  ---
29
29
 
@@ -398,6 +398,8 @@ Format the output for addition to `data/zeroday-lessons.json`.
398
398
 
399
399
  ## Output Format
400
400
 
401
+ The skill produces a Zero-Day Learning Loop entry per CVE, capturing attack-vector extraction, control-gap identification, framework coverage assessment, the new control requirement that closes the gap, and an exposure score for the org's environment. The shape below is consumed downstream by `framework-gap-analysis` (which converts the new control requirement into a Framework Lag Declaration), by `defensive-countermeasure-mapping` (which maps the requirement to D3FEND IDs), and by `data/zeroday-lessons.json` (which inherits the lesson entry as a persistent record). Preserve the attack-vector and control-gap fields verbatim — they are the auditable derivation of the new control requirement.
402
+
401
403
  ```
402
404
  ## Zero-Day Learning Loop: [CVE-ID / Vulnerability Name]
403
405
 
@@ -442,3 +444,33 @@ Run this check against any organization claiming a mature vulnerability-manageme
442
444
  > "Open `data/zeroday-lessons.json` (or the org's equivalent). Count the entries. Compare to the count of CVEs the org actually responded to in the same period. If the lesson-entry count is < CVE-response count, the loop is partial. Per AGENTS.md DR-8, partial is failure: every zero-day-in-scope must produce a lesson entry. The gap between CVEs-patched and lessons-learned is the size of the theater. The org's `Improve` function (NIST CSF 2.0) is not running."
443
445
 
444
446
  > "Ask: in the last 12 months, has a single internal control requirement been created or modified as a result of a public zero-day the org was NOT directly hit by? If no, the org's threat-intelligence control (ISO A.5.7) is consumption-only — collecting feeds, not changing controls. Threat-intel without control-system change is library subscription, not security capability."
447
+
448
+ ---
449
+
450
+ ## Defensive Countermeasure Mapping
451
+
452
+ The learning loop's output is a new control requirement. The mapping below converts each of the lesson-class outputs this skill produces into the D3FEND defensive technique that codifies the requirement. A lesson entry that names a new control requirement without citing a D3FEND ID is incomplete — the requirement names the goal but not the implementation technique, which is exactly the framework-lag failure the learning loop is meant to close.
453
+
454
+ | Lesson class | Offensive TTP class | D3FEND ID | Defensive technique | Defense-in-depth layer |
455
+ |---|---|---|---|---|
456
+ | Deterministic kernel LPE (Copy Fail class) | T1068 | `D3-KBPI` | Kernel-Based Process Isolation | Kernel — compensating control during AI-compressed weaponization |
457
+ | Deterministic kernel LPE | T1068 | `D3-SCA` | System Call Analysis | Endpoint — detect the LPE primitive at syscall layer |
458
+ | Cryptographic subsystem compromise (Dirty Frag / Fragnesia) | T1190 | `D3-NI` | Network Isolation (non-IPsec data path) | Network — segmentation independent of the compromised subsystem |
459
+ | Cryptographic subsystem compromise | T1068 (post-exploit) | `D3-PA` | Process Analysis | Endpoint — anomalous-uid / capability-set detection |
460
+ | Prompt injection RCE (Copilot YOLO-mode class) | AML.T0051, AML.T0054 | `D3-IOPR` | Input/Output Profiling | SDK / application — content-aware prompt+completion inspection |
461
+ | Prompt injection RCE (gateway tier) | AML.T0051 | `D3-CSPP` | Client-server Payload Profiling | LLM gateway — when SDK-side instrumentation is not deployable |
462
+ | MCP supply chain RCE (Windsurf class) | AML.T0010 | `D3-EAL` | Executable Allowlisting | Managed endpoint — only sanctioned MCP servers execute |
463
+ | MCP supply chain RCE | AML.T0010 | `D3-EFA` | Executable File Analysis | Endpoint — pre-execution analysis of MCP-server binaries |
464
+ | AI-as-C2 (SesameOp class) | AML.T0096 | `D3-NTA` | Network Traffic Analysis | Network egress — per-identity baseline of model-API destinations |
465
+ | AI-generated malware (PROMPTFLUX class) | AML.T0016 | `D3-PA` | Process Analysis | Endpoint — behavioral detection of in-process LLM-query patterns |
466
+ | RAG exfiltration | AML.T0043 | `D3-FAPA` | File Access Pattern Analysis | Data tier — RAG-corpus retrieval-pattern baselining |
467
+ | Model poisoning | AML.T0020 | `D3-FAPA` | File Access Pattern Analysis | Data tier — training-corpus access-pattern baselining |
468
+ | Identity-provider blast-radius (sigstore-class) | T1078 (Valid Accounts) | `D3-CBAN` | Certificate-based Authentication | Identity — short-lived workload certificates limit token-theft blast radius |
469
+
470
+ **Defense-in-depth posture:** every lesson entry produced by this skill must cite at least one D3FEND technique from the table for the cited offensive TTP class. A lesson that names "we need better prompt-injection defence" without citing `D3-IOPR` or `D3-CSPP` is rhetorically complete but operationally vacant — the next variant lands against the same unchanged control surface because the lesson never named the technique that disrupts it.
471
+
472
+ **Least-privilege scope:** the D3FEND techniques in this table are technique-level; the per-principal scoping is owned by the downstream skill named in the lesson's `feeds_into` field (e.g. `ai-attack-surface` for AML.T0051 lessons, `kernel-lpe-triage` for T1068 lessons). A lesson entry routes the new control requirement to the downstream skill, which carries the principal-class scoping.
473
+
474
+ **Zero-trust posture:** a lesson entry closes only when the new control requirement is deployed and verified in production, not when the lesson is recorded. The Output Format's "Exposure Scoring" section must track lesson-deployment latency alongside lesson-creation latency — a lesson recorded but not deployed is the same operational state as no lesson at all.
475
+
476
+ **AI-pipeline applicability (per AGENTS.md Hard Rule #9):** lessons targeting AML.T0010 (MCP / model-serving supply chain) must record AI-pipeline degradations explicitly. `D3-EAL` does not apply to serverless inference endpoints — the scoped alternative is `D3-CSPP` at the gateway plus signed-image attestation at the provider. `D3-FAPA` on ephemeral RAG indices degrades to per-query retrieval logging via `D3-IOPR` plus index-build provenance signed at construction. Lessons that omit these degradations propagate the framework-lag they were meant to close.