@blamejs/exceptd-skills 0.12.31 → 0.12.33

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.
@@ -2508,6 +2508,7 @@
2508
2508
  "d3fend_refs": [
2509
2509
  "D3-ANCI",
2510
2510
  "D3-CH",
2511
+ "D3-EFA",
2511
2512
  "D3-EI",
2512
2513
  "D3-FCR",
2513
2514
  "D3-KBPI",
@@ -2519,6 +2520,8 @@
2519
2520
  "AU-Essential-8-Backup",
2520
2521
  "AU-Essential-8-MFA",
2521
2522
  "AU-Essential-8-Patch",
2523
+ "CIS-Controls-v8-10.1",
2524
+ "DORA-Art-9",
2522
2525
  "DORA-Art28",
2523
2526
  "DORA-IA-CTPP-Oversight",
2524
2527
  "DORA-ITS-TLPT",
@@ -2534,8 +2537,15 @@
2534
2537
  "HIPAA-Security-Rule-2026-NPRM-164.310",
2535
2538
  "HIPAA-Security-Rule-2026-NPRM-164.312",
2536
2539
  "HIPAA-Security-Rule-2026-NPRM-164.314",
2540
+ "ISO-27001-2022-A.8.7",
2541
+ "NIS2-Art21-identity-management",
2537
2542
  "NIS2-Art21-incident-handling",
2543
+ "NIS2-Art21-vulnerability-management",
2544
+ "NIST-800-53-AC-3",
2545
+ "NIST-800-53-AC-6",
2546
+ "NIST-800-53-SC-44",
2538
2547
  "NIST-800-53-SI-10",
2548
+ "OWASP-LLM-Top-10-2025-LLM05",
2539
2549
  "PCI-DSS-4.0.1-11.6.1",
2540
2550
  "PCI-DSS-4.0.1-12.10.7",
2541
2551
  "PCI-DSS-4.0.1-12.3.3",
@@ -3731,7 +3731,7 @@
3731
3731
  },
3732
3732
  "ransomware-response": {
3733
3733
  "path": "skills/ransomware-response/skill.md",
3734
- "total_bytes": 48211,
3734
+ "total_bytes": 48543,
3735
3735
  "total_lines": 375,
3736
3736
  "frontmatter": {
3737
3737
  "line_start": 1,
@@ -3817,8 +3817,8 @@
3817
3817
  "normalized_name": "hand-off",
3818
3818
  "line": 360,
3819
3819
  "byte_start": 44725,
3820
- "byte_end": 48211,
3821
- "bytes": 3486,
3820
+ "byte_end": 48543,
3821
+ "bytes": 3818,
3822
3822
  "h3_count": 0
3823
3823
  }
3824
3824
  ]
@@ -4013,7 +4013,7 @@
4013
4013
  },
4014
4014
  "cloud-iam-incident": {
4015
4015
  "path": "skills/cloud-iam-incident/skill.md",
4016
- "total_bytes": 44433,
4016
+ "total_bytes": 44569,
4017
4017
  "total_lines": 420,
4018
4018
  "frontmatter": {
4019
4019
  "line_start": 1,
@@ -4099,15 +4099,15 @@
4099
4099
  "normalized_name": "hand-off",
4100
4100
  "line": 400,
4101
4101
  "byte_start": 41396,
4102
- "byte_end": 44433,
4103
- "bytes": 3037,
4102
+ "byte_end": 44569,
4103
+ "bytes": 3173,
4104
4104
  "h3_count": 0
4105
4105
  }
4106
4106
  ]
4107
4107
  },
4108
4108
  "idp-incident-response": {
4109
4109
  "path": "skills/idp-incident-response/skill.md",
4110
- "total_bytes": 46225,
4110
+ "total_bytes": 46352,
4111
4111
  "total_lines": 353,
4112
4112
  "frontmatter": {
4113
4113
  "line_start": 1,
@@ -4193,8 +4193,8 @@
4193
4193
  "normalized_name": "hand-off",
4194
4194
  "line": 335,
4195
4195
  "byte_start": 42384,
4196
- "byte_end": 46225,
4197
- "bytes": 3841,
4196
+ "byte_end": 46352,
4197
+ "bytes": 3968,
4198
4198
  "h3_count": 0
4199
4199
  }
4200
4200
  ]
@@ -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": 1589324,
7
- "total_approx_tokens": 397336,
6
+ "total_chars": 1589917,
7
+ "total_approx_tokens": 397485,
8
8
  "skill_count": 42
9
9
  },
10
10
  "skills": {
@@ -2175,10 +2175,10 @@
2175
2175
  },
2176
2176
  "ransomware-response": {
2177
2177
  "path": "skills/ransomware-response/skill.md",
2178
- "bytes": 48211,
2179
- "chars": 48033,
2178
+ "bytes": 48543,
2179
+ "chars": 48363,
2180
2180
  "lines": 375,
2181
- "approx_tokens": 12008,
2181
+ "approx_tokens": 12091,
2182
2182
  "approx_chars_per_token": 4,
2183
2183
  "sections": {
2184
2184
  "threat-context": {
@@ -2222,9 +2222,9 @@
2222
2222
  "approx_tokens": 945
2223
2223
  },
2224
2224
  "hand-off": {
2225
- "bytes": 3486,
2226
- "chars": 3460,
2227
- "approx_tokens": 865
2225
+ "bytes": 3818,
2226
+ "chars": 3790,
2227
+ "approx_tokens": 948
2228
2228
  }
2229
2229
  }
2230
2230
  },
@@ -2340,10 +2340,10 @@
2340
2340
  },
2341
2341
  "cloud-iam-incident": {
2342
2342
  "path": "skills/cloud-iam-incident/skill.md",
2343
- "bytes": 44433,
2344
- "chars": 44275,
2343
+ "bytes": 44569,
2344
+ "chars": 44411,
2345
2345
  "lines": 420,
2346
- "approx_tokens": 11069,
2346
+ "approx_tokens": 11103,
2347
2347
  "approx_chars_per_token": 4,
2348
2348
  "sections": {
2349
2349
  "threat-context": {
@@ -2387,18 +2387,18 @@
2387
2387
  "approx_tokens": 1017
2388
2388
  },
2389
2389
  "hand-off": {
2390
- "bytes": 3037,
2391
- "chars": 3009,
2392
- "approx_tokens": 752
2390
+ "bytes": 3173,
2391
+ "chars": 3145,
2392
+ "approx_tokens": 786
2393
2393
  }
2394
2394
  }
2395
2395
  },
2396
2396
  "idp-incident-response": {
2397
2397
  "path": "skills/idp-incident-response/skill.md",
2398
- "bytes": 46225,
2399
- "chars": 46095,
2398
+ "bytes": 46352,
2399
+ "chars": 46222,
2400
2400
  "lines": 353,
2401
- "approx_tokens": 11524,
2401
+ "approx_tokens": 11556,
2402
2402
  "approx_chars_per_token": 4,
2403
2403
  "sections": {
2404
2404
  "threat-context": {
@@ -2442,9 +2442,9 @@
2442
2442
  "approx_tokens": 1130
2443
2443
  },
2444
2444
  "hand-off": {
2445
- "bytes": 3841,
2446
- "chars": 3817,
2447
- "approx_tokens": 954
2445
+ "bytes": 3968,
2446
+ "chars": 3944,
2447
+ "approx_tokens": 986
2448
2448
  }
2449
2449
  }
2450
2450
  }
@@ -39,7 +39,7 @@
39
39
  "ai_discovery_methodology": {
40
40
  "field_added": "2026-05-15",
41
41
  "agents_md_target": "Hard Rule #7 — '41% of 2025 zero-days were AI-discovered'. Catalog target rate floor: 0.40.",
42
- "current_rate": 0.167,
42
+ "current_rate": 0.162,
43
43
  "current_floor_enforced_by_test": 0.15,
44
44
  "ladder_to_target": [
45
45
  0.15,
@@ -2769,8 +2769,6 @@
2769
2769
  "rwep_correction_note": "v0.12.30: canonicalized rwep_factors to satisfy Shape B invariant (Σ factors === rwep_score). Prior values used non-canonical weights and/or blast_radius > 30 (over-cap). Stored rwep_score unchanged; factor block now reproducible from canonical RWEP_WEIGHTS + operational fields."
2770
2770
  },
2771
2771
  "CVE-2026-0300": {
2772
- "_draft": true,
2773
- "_auto_imported": true,
2774
2772
  "name": "PAN-UID — Palo Alto Networks PAN-OS User-ID Authentication Portal RCE",
2775
2773
  "type": "rce",
2776
2774
  "cvss_score": 9.3,
@@ -2874,11 +2872,11 @@
2874
2872
  ]
2875
2873
  },
2876
2874
  "last_updated": "2026-05-15",
2877
- "discovery_attribution_note": "Internal discovery by Palo Alto Networks PSIRT during proactive authentication-subsystem auditing; vendor advisory published 2026-05-13 alongside CISA KEV listing 2026-05-06. No AI-tool credit. Source: https://security.paloaltonetworks.com/CVE-2026-0300 and https://www.cisa.gov/news-events/alerts/2026/05/06/cisa-adds-one-known-exploited-vulnerability-catalog."
2875
+ "discovery_attribution_note": "Internal discovery by Palo Alto Networks PSIRT during proactive authentication-subsystem auditing; vendor advisory published 2026-05-13 alongside CISA KEV listing 2026-05-06. No AI-tool credit. Source: https://security.paloaltonetworks.com/CVE-2026-0300 and https://www.cisa.gov/news-events/alerts/2026/05/06/cisa-adds-one-known-exploited-vulnerability-catalog.",
2876
+ "_editorial_promoted": "2026-05-15",
2877
+ "_editorial_note": "Promoted from draft v0.12.32 (cycle 12 F1 fix): cycle 11 audit confirmed all required fields populated (iocs, vendor_advisories, verification_sources, complexity, affected_versions); RWEP factors satisfy Shape B invariant; discovery_attribution_note cites a researcher / team with URL. Editorial gate: passed."
2878
2878
  },
2879
2879
  "CVE-2026-39987": {
2880
- "_draft": true,
2881
- "_auto_imported": true,
2882
2880
  "name": "Marimo Python Notebook Pre-Auth WebSocket Terminal RCE",
2883
2881
  "type": "rce",
2884
2882
  "cvss_score": 9.3,
@@ -2989,11 +2987,11 @@
2989
2987
  ]
2990
2988
  },
2991
2989
  "last_updated": "2026-05-15",
2992
- "discovery_attribution_note": "Marimo team's security review of the terminal subsystem prompted by Sysdig honeypot evidence; vendor advisory + Sysdig blog jointly disclosed 2026-04-21 / 2026-04-23. No AI-tool credit for the discovery; the vulnerable component IS an AI/ML developer surface but the bug was found by conventional human review. Source: https://www.sysdig.com/blog/cve-2026-39987-update-how-attackers-weaponized-marimo-to-deploy-a-blockchain-botnet-via-huggingface and https://github.com/marimo-team/marimo/security/advisories."
2990
+ "discovery_attribution_note": "Marimo team's security review of the terminal subsystem prompted by Sysdig honeypot evidence; vendor advisory + Sysdig blog jointly disclosed 2026-04-21 / 2026-04-23. No AI-tool credit for the discovery; the vulnerable component IS an AI/ML developer surface but the bug was found by conventional human review. Source: https://www.sysdig.com/blog/cve-2026-39987-update-how-attackers-weaponized-marimo-to-deploy-a-blockchain-botnet-via-huggingface and https://github.com/marimo-team/marimo/security/advisories.",
2991
+ "_editorial_promoted": "2026-05-15",
2992
+ "_editorial_note": "Promoted from draft v0.12.32 (cycle 12 F1 fix): cycle 11 audit confirmed all required fields populated (iocs, vendor_advisories, verification_sources, complexity, affected_versions); RWEP factors satisfy Shape B invariant; discovery_attribution_note cites a researcher / team with URL. Editorial gate: passed."
2993
2993
  },
2994
2994
  "CVE-2026-6973": {
2995
- "_draft": true,
2996
- "_auto_imported": true,
2997
2995
  "name": "Ivanti EPMM Authenticated-Admin RCE",
2998
2996
  "type": "rce",
2999
2997
  "cvss_score": 7.2,
@@ -3099,11 +3097,11 @@
3099
3097
  ]
3100
3098
  },
3101
3099
  "last_updated": "2026-05-15",
3102
- "discovery_attribution_note": "Internal Ivanti product-security discovery; vendor advisory + CISA KEV listing jointly published 2026-05-07 with a 3-day due date reflecting confirmed in-wild exploitation. No AI-tool credit. Source: https://forums.ivanti.com/s/article/Security-Advisory-EPMM-CVE-2026-6973 and https://www.helpnetsecurity.com/2026/05/08/ivanti-epmm-zero-day-cve-2026-6973/."
3100
+ "discovery_attribution_note": "Internal Ivanti product-security discovery; vendor advisory + CISA KEV listing jointly published 2026-05-07 with a 3-day due date reflecting confirmed in-wild exploitation. No AI-tool credit. Source: https://forums.ivanti.com/s/article/Security-Advisory-EPMM-CVE-2026-6973 and https://www.helpnetsecurity.com/2026/05/08/ivanti-epmm-zero-day-cve-2026-6973/.",
3101
+ "_editorial_promoted": "2026-05-15",
3102
+ "_editorial_note": "Promoted from draft v0.12.32 (cycle 12 F1 fix): cycle 11 audit confirmed all required fields populated (iocs, vendor_advisories, verification_sources, complexity, affected_versions); RWEP factors satisfy Shape B invariant; discovery_attribution_note cites a researcher / team with URL. Editorial gate: passed."
3103
3103
  },
3104
3104
  "CVE-2026-42897": {
3105
- "_draft": true,
3106
- "_auto_imported": true,
3107
3105
  "name": "Microsoft Exchange OWA Stored XSS / Spoofing Zero-Day",
3108
3106
  "type": "stored-xss",
3109
3107
  "cvss_score": 8.1,
@@ -3212,11 +3210,11 @@
3212
3210
  "forensic_note": "Defenders should snapshot the OWA IIS logs + Exchange transport logs covering the attack window BEFORE applying EEMS rules; the EEMS rule strips the payload pattern from subsequent renders, but historical IIS log entries retain the request shape that surfaces the exploitation."
3213
3211
  },
3214
3212
  "last_updated": "2026-05-15",
3215
- "discovery_attribution_note": "Microsoft MSRC discovery from in-the-wild exploitation telemetry; disclosed 2026-05-15 with concurrent CISA KEV listing and Exchange Team blog publication. No binary patch at disclosure; mitigation via Exchange Emergency Mitigation Service. No AI-tool credit. Source: https://techcommunity.microsoft.com/blog/exchange/addressing-exchange-server-may-2026-vulnerability-cve-2026-42897/4518498 and https://www.bleepingcomputer.com/news/microsoft/microsoft-warns-of-exchange-zero-day-flaw-exploited-in-attacks/."
3213
+ "discovery_attribution_note": "Microsoft MSRC discovery from in-the-wild exploitation telemetry; disclosed 2026-05-15 with concurrent CISA KEV listing and Exchange Team blog publication. No binary patch at disclosure; mitigation via Exchange Emergency Mitigation Service. No AI-tool credit. Source: https://techcommunity.microsoft.com/blog/exchange/addressing-exchange-server-may-2026-vulnerability-cve-2026-42897/4518498 and https://www.bleepingcomputer.com/news/microsoft/microsoft-warns-of-exchange-zero-day-flaw-exploited-in-attacks/.",
3214
+ "_editorial_promoted": "2026-05-15",
3215
+ "_editorial_note": "Promoted from draft v0.12.32 (cycle 12 F1 fix): cycle 11 audit confirmed all required fields populated (iocs, vendor_advisories, verification_sources, complexity, affected_versions); RWEP factors satisfy Shape B invariant; discovery_attribution_note cites a researcher / team with URL. Editorial gate: passed."
3216
3216
  },
3217
3217
  "CVE-2026-32202": {
3218
- "_draft": true,
3219
- "_auto_imported": true,
3220
3218
  "name": "Microsoft Windows Shell LNK Mark-of-the-Web Bypass (APT28)",
3221
3219
  "type": "protection-mechanism-failure",
3222
3220
  "cvss_score": 7.5,
@@ -3325,11 +3323,11 @@
3325
3323
  ]
3326
3324
  },
3327
3325
  "last_updated": "2026-05-15",
3328
- "discovery_attribution_note": "APT28 (Fancy Bear) in-the-wild weaponization observed by Microsoft + Help Net Security 2026-04-28; CVE-2026-32202 represents an incomplete-patch re-exploit of CVE-2026-21510 and chains with CVE-2026-21513 in the operational APT28 toolkit. Nation-state tradecraft; no AI-tool credit on either the discovery or weaponization side. Source: https://www.helpnetsecurity.com/2026/04/29/windows-cve-2026-32202-exploited/ and https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-32202."
3326
+ "discovery_attribution_note": "APT28 (Fancy Bear) in-the-wild weaponization observed by Microsoft + Help Net Security 2026-04-28; CVE-2026-32202 represents an incomplete-patch re-exploit of CVE-2026-21510 and chains with CVE-2026-21513 in the operational APT28 toolkit. Nation-state tradecraft; no AI-tool credit on either the discovery or weaponization side. Source: https://www.helpnetsecurity.com/2026/04/29/windows-cve-2026-32202-exploited/ and https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-32202.",
3327
+ "_editorial_promoted": "2026-05-15",
3328
+ "_editorial_note": "Promoted from draft v0.12.32 (cycle 12 F1 fix): cycle 11 audit confirmed all required fields populated (iocs, vendor_advisories, verification_sources, complexity, affected_versions); RWEP factors satisfy Shape B invariant; discovery_attribution_note cites a researcher / team with URL. Editorial gate: passed."
3329
3329
  },
3330
3330
  "CVE-2026-33825": {
3331
- "_draft": true,
3332
- "_auto_imported": true,
3333
3331
  "name": "BlueHammer — Microsoft Defender File-Remediation TOCTOU LPE",
3334
3332
  "type": "race-condition",
3335
3333
  "cvss_score": 7.8,
@@ -3440,6 +3438,136 @@
3440
3438
  ]
3441
3439
  },
3442
3440
  "last_updated": "2026-05-15",
3443
- "discovery_attribution_note": "Picus Security ('BlueHammer' / RedSun research) published a working PoC before Microsoft released the patch — true zero-day disclosure 2026-04-22; CISA KEV listed same day with a 14-day due date. No AI-tool credit on the discovery; conventional Windows-Defender internals research. Source: https://www.picussecurity.com/resource/blog/bluehammer-redsun-windows-defender-cve-2026-33825-zero-day-vulnerability-explained and https://www.cisa.gov/known-exploited-vulnerabilities-catalog."
3441
+ "discovery_attribution_note": "Picus Security ('BlueHammer' / RedSun research) published a working PoC before Microsoft released the patch — true zero-day disclosure 2026-04-22; CISA KEV listed same day with a 14-day due date. No AI-tool credit on the discovery; conventional Windows-Defender internals research. Source: https://www.picussecurity.com/resource/blog/bluehammer-redsun-windows-defender-cve-2026-33825-zero-day-vulnerability-explained and https://www.cisa.gov/known-exploited-vulnerabilities-catalog.",
3442
+ "_editorial_promoted": "2026-05-15",
3443
+ "_editorial_note": "Promoted from draft v0.12.32 (cycle 12 F1 fix): cycle 11 audit confirmed all required fields populated (iocs, vendor_advisories, verification_sources, complexity, affected_versions); RWEP factors satisfy Shape B invariant; discovery_attribution_note cites a researcher / team with URL. Editorial gate: passed."
3444
+ },
3445
+ "MAL-2026-NODE-IPC-STEALER": {
3446
+ "name": "node-ipc credential-stealer (expired-domain account-recovery compromise)",
3447
+ "type": "supply-chain-credential-stealer",
3448
+ "cvss_score": 9.8,
3449
+ "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H",
3450
+ "cvss_correction_note": "No NVD CVE assigned as of 2026-05-15; CVSS synthesized per OSSF Malicious-Packages convention: unauthenticated code execution on `require('node-ipc')` against a 3.35M-monthly-download package with confirmed credential exfiltration. AV:N because the malicious payload reaches the victim over the npm registry network channel; UI:R because a developer / CI must invoke `npm install`; S:C because exfiltrated AWS / GCP / Azure / SSH / kubeconfig / Vault material extends the blast radius beyond the consuming process.",
3451
+ "cisa_kev": false,
3452
+ "cisa_kev_date": null,
3453
+ "kev_scope_note": "CISA KEV historically excludes ecosystem-package compromises (npm / PyPI / RubyGems malicious-package events) — its scope is federally-deployable products with assigned CVE identifiers. The node-ipc 2026-05-14 publish event is OSSF-MAL-catalogued (MAL-2026-NODE-IPC-STEALER) without a NVD CVE as of 2026-05-15; `cisa_kev: false` is correct, and `active_exploitation: confirmed` reflects the live malicious payload in the registry. Operators should consume CISA-KEV-equivalent guidance from the OpenSSF MAL feed + ecosystem-specific advisories (Socket, StepSecurity, Semgrep, Datadog Security Labs, Snyk) for this class.",
3454
+ "poc_available": true,
3455
+ "poc_description": "Live payload — three malicious versions (node-ipc 9.1.6, 9.2.3, 12.0.1) were published to the public npm registry by attacker-controlled account `atiertant` on 2026-05-14 and remained installable for the exposure window before npm yank. The malicious build IS the PoC.",
3456
+ "ai_discovered": false,
3457
+ "ai_discovery_source": "vendor_research",
3458
+ "ai_discovery_notes": "No AI-tool credited for discovery. Concurrent ecosystem telemetry detection by Socket, StepSecurity, Semgrep, and Datadog Security Labs within hours of publication; The Hacker News surfaced the consolidated report. ai_discovery_source set to `vendor_research` because the enum does not include an `ecosystem_detection` value; the attribution note records the actual provenance.",
3459
+ "ai_assisted_weaponization": false,
3460
+ "ai_assisted_notes": "No AI-tooling credit on the payload-development side. The 80 KB obfuscated IIFE follows a conventional minifier-plus-string-encoding pattern; no AI-generated code fingerprint reported by the responding firms.",
3461
+ "active_exploitation": "confirmed",
3462
+ "active_exploitation_notes": "The three malicious versions executed credential harvesting on every `require('node-ipc')` against installed hosts during the exposure window. Datadog Security Labs and Socket each observed real consumer-side installs of the malicious versions before yank.",
3463
+ "affected": "node-ipc package on npm — versions 9.1.6, 9.2.3, 12.0.1 published 2026-05-14 by publisher `atiertant` (contact `a.tiertant@atlantis-software.net`). Package carries approximately 3.35M monthly downloads per npm registry telemetry; secondary reports cite 822K weekly (Socket) and 10M weekly (The Hacker News) — see source-data ambiguity note in verification_sources. Architectural impact reaches every transitive consumer that resolves any of the three malicious versions during the exposure window.",
3464
+ "affected_versions": [
3465
+ "node-ipc == 9.1.6 (malicious, published 2026-05-14)",
3466
+ "node-ipc == 9.2.3 (malicious, published 2026-05-14)",
3467
+ "node-ipc == 12.0.1 (malicious, published 2026-05-14)"
3468
+ ],
3469
+ "vector": "Novel supply-chain account-recovery abuse via expired maintainer email domain. (1) `atlantis-software.net` — the email domain associated with the legitimate node-ipc maintainer account — lapsed and was re-registered by the attacker on 2026-05-07 via Namecheap PrivateEmail. (2) Attacker invoked the npm password-reset flow, which delivered the reset link to the now-attacker-controlled mailbox. (3) Attacker published three malicious versions (9.1.6, 9.2.3, 12.0.1) with an 80 KB obfuscated IIFE appended to `node-ipc.cjs` that fires on every `require('node-ipc')` — no lifecycle / postinstall hook required, so consumer-side `--ignore-scripts` does NOT mitigate. (4) Payload exfiltrates AWS credentials, GCP service-account keys, Azure tokens, SSH private keys, Kubernetes kubeconfig, HashiCorp Vault tokens, Claude AI configs, and Kiro IDE configs via DNS TXT queries to an Azure-lookalike spoofed domain controlled by the attacker. Class: registry-side account-recovery abuse mediated by DNS lifecycle, NOT credential-dump or token-theft.",
3470
+ "complexity": "low",
3471
+ "complexity_notes": "Consumer-side exploitation is automatic on any process that calls `require('node-ipc')` from a malicious version. No race condition, no user interaction beyond `npm install` resolving to a malicious version. The novel attack precondition (expired-domain re-registration + npm password reset) is itself low-complexity for any attacker who monitors maintainer-email-domain expirations.",
3472
+ "patch_available": true,
3473
+ "patch_required_reboot": false,
3474
+ "live_patch_available": true,
3475
+ "live_patch_tools": [
3476
+ "npm audit (yank-aware after npm registry-side removal of the malicious versions)",
3477
+ "Socket (registry-side install-time blocking)",
3478
+ "StepSecurity Harden-Runner (CI-side egress + install-time blocking)",
3479
+ "Snyk (advisory-driven CI policy block)",
3480
+ "Datadog Security Labs CI integrations (telemetry-driven block)",
3481
+ "Semgrep Supply Chain (lockfile audit against the malicious version set)"
3482
+ ],
3483
+ "vendor_update_paths": [
3484
+ "npm yanked the three malicious versions 2026-05-14",
3485
+ "Pin to node-ipc <= 9.1.5 OR >= the post-yank clean republication (consult package security tab on npm for the current clean version range)",
3486
+ "Lockfile audit: scan package-lock.json / yarn.lock / pnpm-lock.yaml for resolved tarball SHAs matching the three malicious version IDs; rotate any credentials reachable from a host that resolved them during the exposure window"
3487
+ ],
3488
+ "framework_control_gaps": {
3489
+ "NIST-800-218-SSDF": "Reused-OSS-component control assumes maintainer-account integrity; does not address maintainer-email-domain expiry as a supply-chain risk class.",
3490
+ "EU-CRA-Art13": "SBOM requirement does not address freshness-of-published-version OR maintainer-account-recovery integrity — pinning to a malicious version is SBOM-compliant.",
3491
+ "NIS2-Art21-supply-chain": "Generic supply chain controls without npm-ecosystem-specific guidance (postinstall vs main-module payload distinction, maintainer-domain-expiry monitoring, registry-account MFA enforcement).",
3492
+ "NIST-800-53-IA-5-Federated": "Authenticator-management control covers operator-side credentials but does not extend to upstream-maintainer-account recovery flow on third-party package registries.",
3493
+ "SLSA-v1.0-Build-L3": "Source / build provenance attestations do not address account-takeover-via-domain-expiry — provenance asserts who built, not whether `who` is still the legitimate maintainer."
3494
+ },
3495
+ "atlas_refs": [
3496
+ "AML.T0010",
3497
+ "AML.T0020"
3498
+ ],
3499
+ "attack_refs": [
3500
+ "T1195.001",
3501
+ "T1195.002",
3502
+ "T1078",
3503
+ "T1552.001",
3504
+ "T1059.007"
3505
+ ],
3506
+ "rwep_score": 43,
3507
+ "rwep_factors": {
3508
+ "cisa_kev": 0,
3509
+ "poc_available": 20,
3510
+ "ai_factor": 0,
3511
+ "active_exploitation": 20,
3512
+ "blast_radius": 28,
3513
+ "patch_available": -15,
3514
+ "live_patch_available": -10,
3515
+ "reboot_required": 0
3516
+ },
3517
+ "epss_score": null,
3518
+ "epss_date": "2026-05-15",
3519
+ "epss_note": "EPSS coverage does not extend to non-CVE OSSF-MAL identifiers as of 2026-05-15.",
3520
+ "cwe_refs": [
3521
+ "CWE-506",
3522
+ "CWE-829",
3523
+ "CWE-1357"
3524
+ ],
3525
+ "source_verified": "2026-05-15",
3526
+ "verification_sources": [
3527
+ "https://thehackernews.com/2026/05/stealer-backdoor-found-in-3-node-ipc.html",
3528
+ "https://socket.dev/blog/node-ipc-package-compromised",
3529
+ "https://www.stepsecurity.io/blog/node-ipc-npm-supply-chain-attack",
3530
+ "https://semgrep.dev/blog/2026/not-your-ipc-but-node-ipc-npm-hit-again-with-supply-chain-attack-but-this-time-its-not-a-worm/",
3531
+ "https://securitylabs.datadoghq.com/articles/node-ipc-npm-malware-analysis/"
3532
+ ],
3533
+ "vendor_advisories": [
3534
+ {
3535
+ "vendor": "npm (GitHub Advisory Database)",
3536
+ "advisory_id": null,
3537
+ "url": "https://github.com/advisories?query=node-ipc",
3538
+ "severity": "critical",
3539
+ "published_date": "2026-05-14"
3540
+ },
3541
+ {
3542
+ "vendor": "Socket",
3543
+ "advisory_id": null,
3544
+ "url": "https://socket.dev/blog/node-ipc-package-compromised",
3545
+ "severity": "critical",
3546
+ "published_date": "2026-05-14"
3547
+ }
3548
+ ],
3549
+ "iocs": {
3550
+ "payload_artifacts": [
3551
+ "node-ipc.cjs file SHA / size diff vs the prior clean version — three malicious versions (9.1.6, 9.2.3, 12.0.1) ship an 80 KB obfuscated IIFE appended to the main module export. Lockfile-resolved tarball integrity hash for any of these three versions IS the primary artifact IoC.",
3552
+ "package.json publisher metadata: `_npmUser.name == 'atiertant'` OR maintainer email `a.tiertant@atlantis-software.net` on a node-ipc tarball — both are attacker-controlled and distinct from the legitimate historical publisher account."
3553
+ ],
3554
+ "behavioral": [
3555
+ "Process executing `require('node-ipc')` issues outbound DNS TXT queries to an Azure-lookalike domain controlled by the attacker — high-entropy subdomain labels carrying base64 / hex chunks of harvested credential material. DNS-layer telemetry (Resolved, Cloudflare DNS, internal Unbound logs) captures the exfil channel even when HTTP egress is blocked.",
3556
+ "Process executing `require('node-ipc')` performs read access to ANY of: ~/.aws/credentials, ~/.aws/config, ~/.config/gcloud/, ~/.azure/, ~/.ssh/id_*, ~/.kube/config, ~/.vault-token, ~/.config/Claude/, ~/.kiro/ — read pattern is the credential-harvest fingerprint regardless of whether the exfil channel succeeded.",
3557
+ "node binary parent-process executes a `require('node-ipc')` call path AND opens a non-process-typical egress connection within the same scheduler tick — temporal correlation between module load and exfil DNS lookup is near-deterministic on first invocation."
3558
+ ],
3559
+ "version_exposure": [
3560
+ "Lockfile (package-lock.json / yarn.lock / pnpm-lock.yaml) contains a `node-ipc` entry resolved to version 9.1.6, 9.2.3, or 12.0.1 — exact-version match is sufficient; the integrity hash will also differ from any pre-2026-05-14 cache.",
3561
+ "package.json declares a node-ipc dependency range that includes any of the three malicious versions AND the lockfile was regenerated during the 2026-05-14 exposure window (lockfile mtime + node-ipc resolution check)."
3562
+ ],
3563
+ "registry_account_recovery": [
3564
+ "npm account audit: any maintainer account whose primary contact email domain has WHOIS expiry within 90 days. Cross-reference with `npm whoami` + `npm owner ls <package>` for every critical-path dependency. This is the upstream IoC class — once it fires, the package is recoverable by any attacker who registers the domain before the legitimate maintainer renews."
3565
+ ],
3566
+ "forensic_note": "DNS TXT exfiltration is invisible to HTTP egress filtering and to most network IDS rules tuned for HTTPS. Defenders investigating suspected compromise should pull DNS resolver logs for the full exposure window — the exfil channel is the only telemetry that proves the payload fired AND succeeded (file-read alone does not prove successful exfil). Snapshot node_modules/node-ipc tarball before remediating; the tarball IS the primary forensic artifact."
3567
+ },
3568
+ "last_updated": "2026-05-15",
3569
+ "discovery_attribution_note": "Concurrent ecosystem-detection by Socket (https://socket.dev/blog/node-ipc-package-compromised), StepSecurity (https://www.stepsecurity.io/blog/node-ipc-npm-supply-chain-attack), Semgrep (https://semgrep.dev/blog/2026/not-your-ipc-but-node-ipc-npm-hit-again-with-supply-chain-attack-but-this-time-its-not-a-worm/), and Datadog Security Labs (https://securitylabs.datadoghq.com/articles/node-ipc-npm-malware-analysis/) within hours of the 2026-05-14 publish window. Consolidated coverage by The Hacker News (https://thehackernews.com/2026/05/stealer-backdoor-found-in-3-node-ipc.html). No single human researcher credited; no AI-tool credit on the defender side. Discovery class: ecosystem-detection (telemetry-driven, no AI tool). Source-data ambiguity noted: monthly-download figure reported as 3.35M (npm registry direct) but Socket cited 822K weekly and The Hacker News cited 10M weekly — npm-registry-direct figure carried in the affected description; alternative figures retained in this note so future audits can reconcile against npm's API once the live counter rolls forward past the yank.",
3570
+ "_editorial_promoted": "2026-05-15",
3571
+ "_editorial_note": "Cycle 13 intake (v0.12.33): cycle 13 agent C surfaced node-ipc 2026-05-14 publish event in the 24h-window check. Novel attack precondition (expired-domain re-registration + npm password-reset abuse) makes this a distinct supply-chain class from the Shai-Hulud (token-compromise) and elementary-data (typosquat + orphan-commit) precedents; warrants its own NEW-CTRL-047 in zeroday-lessons.json. RWEP factors satisfy Shape B invariant (0 + 20 + 0 + 20 + 28 - 15 - 10 + 0 = 43); discovery_attribution_note cites multiple firms with URLs."
3444
3572
  }
3445
3573
  }
@@ -46,7 +46,9 @@
46
46
  "skills_referencing": [
47
47
  "fuzz-testing-strategy"
48
48
  ],
49
- "evidence_cves": [],
49
+ "evidence_cves": [
50
+ "CVE-2026-6973"
51
+ ],
50
52
  "framework_controls_partially_addressing": [
51
53
  "NIST-800-53-SI-10",
52
54
  "ISO-27001-2022-A.8.28",
@@ -112,8 +114,8 @@
112
114
  "webapp-security"
113
115
  ],
114
116
  "evidence_cves": [
115
- "MAL-2026-3083",
116
- "CVE-2025-53773"
117
+ "CVE-2025-53773",
118
+ "MAL-2026-3083"
117
119
  ],
118
120
  "framework_controls_partially_addressing": [
119
121
  "NIST-800-53-SI-10",
@@ -145,7 +147,9 @@
145
147
  "fuzz-testing-strategy",
146
148
  "webapp-security"
147
149
  ],
148
- "evidence_cves": [],
150
+ "evidence_cves": [
151
+ "CVE-2026-39987"
152
+ ],
149
153
  "framework_controls_partially_addressing": [
150
154
  "NIST-800-53-SI-10",
151
155
  "ISO-27001-2022-A.8.28"
@@ -177,7 +181,9 @@
177
181
  "attack-surface-pentest",
178
182
  "webapp-security"
179
183
  ],
180
- "evidence_cves": [],
184
+ "evidence_cves": [
185
+ "CVE-2026-42897"
186
+ ],
181
187
  "framework_controls_partially_addressing": [
182
188
  "NIST-800-53-SI-10",
183
189
  "NIST-800-53-SC-18",
@@ -271,8 +277,7 @@
271
277
  "webapp-security"
272
278
  ],
273
279
  "evidence_cves": [
274
- "CVE-2025-53773",
275
- "CVE-2026-30615",
280
+ "CVE-2026-6973",
276
281
  "MAL-2026-3083"
277
282
  ],
278
283
  "framework_controls_partially_addressing": [
@@ -559,7 +564,10 @@
559
564
  "sector-energy",
560
565
  "sector-telecom"
561
566
  ],
562
- "evidence_cves": [],
567
+ "evidence_cves": [
568
+ "CVE-2026-0300",
569
+ "CVE-2026-39987"
570
+ ],
563
571
  "framework_controls_partially_addressing": [
564
572
  "NIST-800-53-IA-2",
565
573
  "ISO-27001-2022-A.5.17"
@@ -846,7 +854,7 @@
846
854
  "mcp-agent-trust"
847
855
  ],
848
856
  "evidence_cves": [
849
- "CVE-2026-30615"
857
+ "CVE-2026-32202"
850
858
  ],
851
859
  "framework_controls_partially_addressing": [
852
860
  "NIST-800-53-SA-12",
@@ -905,7 +913,9 @@
905
913
  "CAPEC-39"
906
914
  ],
907
915
  "skills_referencing": [],
908
- "evidence_cves": [],
916
+ "evidence_cves": [
917
+ "CVE-2026-32202"
918
+ ],
909
919
  "framework_controls_partially_addressing": [
910
920
  "NIST-800-53-SI-7",
911
921
  "NIST-800-53-SC-8(1)",
@@ -938,7 +948,9 @@
938
948
  "fuzz-testing-strategy",
939
949
  "kernel-lpe-triage"
940
950
  ],
941
- "evidence_cves": [],
951
+ "evidence_cves": [
952
+ "CVE-2026-33825"
953
+ ],
942
954
  "framework_controls_partially_addressing": [
943
955
  "NIST-800-53-SI-16",
944
956
  "ISO-27001-2022-A.8.28"
@@ -967,10 +979,7 @@
967
979
  "fuzz-testing-strategy",
968
980
  "kernel-lpe-triage"
969
981
  ],
970
- "evidence_cves": [
971
- "CVE-2026-43284",
972
- "CVE-2026-43500"
973
- ],
982
+ "evidence_cves": [],
974
983
  "framework_controls_partially_addressing": [
975
984
  "NIST-800-53-SI-16",
976
985
  "NIST-800-53-SI-2",
@@ -1058,9 +1067,7 @@
1058
1067
  "mcp-agent-trust",
1059
1068
  "supply-chain-integrity"
1060
1069
  ],
1061
- "evidence_cves": [
1062
- "CVE-2026-30615"
1063
- ],
1070
+ "evidence_cves": [],
1064
1071
  "framework_controls_partially_addressing": [
1065
1072
  "NIST-800-53-SI-7",
1066
1073
  "NIST-800-53-SA-12",
@@ -1120,8 +1127,8 @@
1120
1127
  ],
1121
1128
  "skills_referencing": [],
1122
1129
  "evidence_cves": [
1123
- "CVE-2026-45321",
1124
- "MAL-2026-3083"
1130
+ "MAL-2026-3083",
1131
+ "MAL-2026-NODE-IPC-STEALER"
1125
1132
  ],
1126
1133
  "framework_controls_partially_addressing": [
1127
1134
  "NIST-800-53-SA-12",
@@ -1214,7 +1221,9 @@
1214
1221
  "skills_referencing": [
1215
1222
  "kernel-lpe-triage"
1216
1223
  ],
1217
- "evidence_cves": [],
1224
+ "evidence_cves": [
1225
+ "CVE-2026-46300"
1226
+ ],
1218
1227
  "framework_controls_partially_addressing": [
1219
1228
  "NIST-800-53-SI-16",
1220
1229
  "ISO-27001-2022-A.8.28"
@@ -1339,8 +1348,9 @@
1339
1348
  "kernel-lpe-triage"
1340
1349
  ],
1341
1350
  "evidence_cves": [
1342
- "CVE-2026-31431",
1343
- "CVE-2026-43500"
1351
+ "CVE-2026-0300",
1352
+ "CVE-2026-43500",
1353
+ "CVE-2026-46300"
1344
1354
  ],
1345
1355
  "framework_controls_partially_addressing": [
1346
1356
  "NIST-800-53-SI-10",
@@ -1404,7 +1414,9 @@
1404
1414
  "sector-federal-government",
1405
1415
  "supply-chain-integrity"
1406
1416
  ],
1407
- "evidence_cves": [],
1417
+ "evidence_cves": [
1418
+ "MAL-2026-NODE-IPC-STEALER"
1419
+ ],
1408
1420
  "framework_controls_partially_addressing": [
1409
1421
  "NIST-800-53-SA-12",
1410
1422
  "ISO-27001-2022-A.8.30"
@@ -1643,7 +1655,9 @@
1643
1655
  "sector-federal-government",
1644
1656
  "supply-chain-integrity"
1645
1657
  ],
1646
- "evidence_cves": [],
1658
+ "evidence_cves": [
1659
+ "MAL-2026-NODE-IPC-STEALER"
1660
+ ],
1647
1661
  "framework_controls_partially_addressing": [
1648
1662
  "NIST-800-53-SA-12",
1649
1663
  "ISO-27001-2022-A.5.21",
@@ -1043,5 +1043,51 @@
1043
1043
  "ai_pipeline_applicability": "Self-managed AI hosts: standard FIM applies to MCP server configs, ~/.claude, ~/.cursor settings. Serverless: equivalent is image-immutability + read-only rootfs (modifications outside writable tmpfs are structurally impossible).",
1044
1044
  "lag_notes": "SI-7 covers software/firmware integrity; user-space configuration FIM is implicit not explicit. Framework audits accept 'FIM is deployed' without sampling whether the rule set covers AI-assistant config paths that have become high-value targets.",
1045
1045
  "last_verified": "2026-05-13"
1046
+ },
1047
+ "D3-EFA": {
1048
+ "id": "D3-EFA",
1049
+ "name": "Executable File Analysis",
1050
+ "tactic": "Detect",
1051
+ "subtactic": "File Analysis",
1052
+ "description": "Analyzing the format, contents, or static characteristics of an executable file to determine whether it warrants further investigation. Covers PE/ELF/Mach-O header inspection, embedded-string + import-table review, entropy + packer detection, and YARA-rule matching against known malicious patterns. Distinct from D3-DA (Dynamic Analysis): no execution occurs.",
1053
+ "counters_attack_techniques": [
1054
+ "T1027",
1055
+ "T1027.002",
1056
+ "T1059",
1057
+ "T1078",
1058
+ "T1195.002",
1059
+ "T1204",
1060
+ "T1505.003",
1061
+ "T1546.014",
1062
+ "AML.T0010",
1063
+ "AML.T0019"
1064
+ ],
1065
+ "digital_artifacts_addressed": [
1066
+ "Executable Binary",
1067
+ "Executable Script",
1068
+ "Firmware",
1069
+ "OS Image"
1070
+ ],
1071
+ "skills_referencing": [],
1072
+ "implementation_examples": [
1073
+ "YARA",
1074
+ "PEStudio / PEiD",
1075
+ "radare2 / Cutter / Ghidra (static-only mode)",
1076
+ "ssdeep + sdhash fuzzy-hash matching",
1077
+ "Mandiant CAPA capability detection",
1078
+ "Sigstore cosign verify on container image manifests",
1079
+ "OEM firmware-image signature verification at provisioning time"
1080
+ ],
1081
+ "framework_controls_partially_mapped": [
1082
+ "NIST-800-53-SI-3",
1083
+ "NIST-800-53-SI-7",
1084
+ "NIST-800-53-SI-7(6)",
1085
+ "ISO-27001-2022-A.8.7",
1086
+ "PCI-DSS-v4-5.2.3",
1087
+ "CIS-Controls-v8-10.5"
1088
+ ],
1089
+ "ai_pipeline_applicability": "Directly applicable to model-artifact ingestion paths (pickle/safetensors/ONNX): static analysis of serialized weights can surface malicious __reduce__ payloads (D3-EFA on the pickle stream) before any deserialization occurs. For MCP-server binaries shipped via npm/PyPI, D3-EFA pairs with D3-EAL — analyze first to gate the allowlist decision rather than allow-by-publisher.",
1090
+ "lag_notes": "NIST SI-3 prescribes \"malicious code protection\" without binding the control to static-file-analysis specifically; auditors routinely accept signature-AV deployment as the entire SI-3 implementation, missing the analyze-before-load posture that catches packed / encoder-obfuscated payloads. Distinct from D3-EAL: allowlisting blocks a binary at execute-time; D3-EFA inspects the bytes at file-write / image-pull / artifact-fetch time and gates the allowlist itself.",
1091
+ "last_verified": "2026-05-15"
1046
1092
  }
1047
1093
  }