@blamejs/exceptd-skills 0.12.24 → 0.12.26
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 +12 -4
- package/CHANGELOG.md +127 -0
- package/data/_indexes/_meta.json +44 -43
- package/data/_indexes/activity-feed.json +54 -47
- package/data/_indexes/catalog-summaries.json +20 -20
- package/data/_indexes/chains.json +561 -6
- package/data/_indexes/currency.json +19 -10
- package/data/_indexes/frequency.json +207 -55
- package/data/_indexes/handoff-dag.json +4 -0
- package/data/_indexes/jurisdiction-clocks.json +2 -2
- package/data/_indexes/jurisdiction-map.json +25 -12
- package/data/_indexes/section-offsets.json +490 -396
- package/data/_indexes/stale-content.json +14 -2
- package/data/_indexes/summary-cards.json +57 -3
- package/data/_indexes/token-budget.json +129 -74
- package/data/_indexes/trigger-table.json +66 -0
- package/data/_indexes/xref.json +58 -8
- package/data/atlas-ttps.json +528 -19
- package/data/attack-techniques.json +198 -84
- package/data/cve-catalog.json +1309 -9
- package/data/exploit-availability.json +300 -10
- package/data/framework-control-gaps.json +557 -1
- package/data/global-frameworks.json +44 -19
- package/data/rfc-references.json +94 -1
- package/data/zeroday-lessons.json +475 -13
- package/lib/schemas/cve-catalog.schema.json +24 -3
- package/manifest-snapshot.json +68 -2
- package/manifest-snapshot.sha256 +1 -1
- package/manifest.json +145 -59
- package/package.json +1 -1
- package/sbom.cdx.json +7 -7
- package/skills/ai-attack-surface/skill.md +11 -2
- package/skills/ai-c2-detection/skill.md +3 -1
- package/skills/ai-risk-management/skill.md +3 -1
- package/skills/api-security/skill.md +4 -0
- package/skills/attack-surface-pentest/skill.md +1 -0
- package/skills/container-runtime-security/skill.md +3 -1
- package/skills/dlp-gap-analysis/skill.md +1 -1
- package/skills/exploit-scoring/skill.md +2 -2
- package/skills/incident-response-playbook/skill.md +1 -1
- package/skills/kernel-lpe-triage/skill.md +6 -1
- package/skills/mcp-agent-trust/skill.md +7 -2
- package/skills/mlops-security/skill.md +1 -1
- package/skills/rag-pipeline-security/skill.md +4 -2
- package/skills/sector-financial/skill.md +1 -1
- package/skills/sector-telecom/skill.md +259 -0
- package/skills/skill-update-loop/skill.md +1 -1
- package/skills/supply-chain-integrity/skill.md +3 -1
- package/skills/threat-model-currency/skill.md +1 -1
- package/skills/webapp-security/skill.md +2 -0
- package/skills/zeroday-gap-learn/skill.md +2 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"_meta": {
|
|
3
|
-
"schema_version": "1.
|
|
4
|
-
"last_updated": "2026-05-
|
|
5
|
-
"purpose": "Zero-day learning loop output. Each entry maps a CVE to: attack vector, defense chain analysis, framework coverage, new control requirements generated, and exposure scoring.",
|
|
3
|
+
"schema_version": "1.1.0",
|
|
4
|
+
"last_updated": "2026-05-15",
|
|
5
|
+
"purpose": "Zero-day learning loop output. Each entry maps a CVE to: attack vector, defense chain analysis, framework coverage, new control requirements generated, and exposure scoring. v1.1.0 (2026-05-15): every entry now carries ai_discovered_zeroday boolean + ai_discovery_source enum + ai_discovery_date + ai_assist_factor ladder, per AGENTS.md Hard Rule #7.",
|
|
6
6
|
"note": "Never delete entries. Closed gaps are marked status: closed. History is data.",
|
|
7
7
|
"tlp": "CLEAR",
|
|
8
8
|
"source_confidence": {
|
|
@@ -108,7 +108,11 @@
|
|
|
108
108
|
"percent_audit_passing_orgs_still_exposed": 80,
|
|
109
109
|
"basis": "Industry patch deployment lag data: ~80% of organizations lag CISA KEV remediation beyond 72h in first week",
|
|
110
110
|
"theater_pattern": "patch_management"
|
|
111
|
-
}
|
|
111
|
+
},
|
|
112
|
+
"ai_discovered_zeroday": true,
|
|
113
|
+
"ai_discovery_source": "vendor_research",
|
|
114
|
+
"ai_discovery_date": "2026-04-15",
|
|
115
|
+
"ai_assist_factor": "very_high"
|
|
112
116
|
},
|
|
113
117
|
"CVE-2025-53773": {
|
|
114
118
|
"name": "GitHub Copilot Prompt Injection RCE",
|
|
@@ -181,7 +185,11 @@
|
|
|
181
185
|
"percent_audit_passing_orgs_still_exposed": 95,
|
|
182
186
|
"basis": "No framework requires AI tool input sanitization. Any organization using AI coding assistants with tool use capability is exposed unless specifically implementing this control.",
|
|
183
187
|
"theater_pattern": "access_control_ai"
|
|
184
|
-
}
|
|
188
|
+
},
|
|
189
|
+
"ai_discovered_zeroday": false,
|
|
190
|
+
"ai_discovery_source": "unknown",
|
|
191
|
+
"ai_discovery_date": "2025-08-12",
|
|
192
|
+
"ai_assist_factor": "low"
|
|
185
193
|
},
|
|
186
194
|
"CVE-2026-43284": {
|
|
187
195
|
"name": "Dirty Frag (ESP/IPsec component)",
|
|
@@ -250,7 +258,10 @@
|
|
|
250
258
|
"percent_audit_passing_orgs_still_exposed": 65,
|
|
251
259
|
"basis": "Organizations using IPsec for network compliance controls may incorrectly claim IPsec as a compensating control while the kernel IPsec implementation is exploitable",
|
|
252
260
|
"theater_pattern": "patch_management"
|
|
253
|
-
}
|
|
261
|
+
},
|
|
262
|
+
"ai_discovered_zeroday": false,
|
|
263
|
+
"ai_discovery_source": "human_researcher",
|
|
264
|
+
"ai_assist_factor": "low"
|
|
254
265
|
},
|
|
255
266
|
"CVE-2026-43500": {
|
|
256
267
|
"name": "Dirty Frag (RxRPC component)",
|
|
@@ -313,7 +324,10 @@
|
|
|
313
324
|
"percent_audit_passing_orgs_still_exposed": 60,
|
|
314
325
|
"basis": "Most organizations do not inventory or disable unused kernel modules. RxRPC is rarely used but rarely disabled.",
|
|
315
326
|
"theater_pattern": "patch_management"
|
|
316
|
-
}
|
|
327
|
+
},
|
|
328
|
+
"ai_discovered_zeroday": false,
|
|
329
|
+
"ai_discovery_source": "human_researcher",
|
|
330
|
+
"ai_assist_factor": "low"
|
|
317
331
|
},
|
|
318
332
|
"CVE-2026-30615": {
|
|
319
333
|
"name": "Windsurf MCP Zero-Interaction RCE",
|
|
@@ -372,7 +386,11 @@
|
|
|
372
386
|
"percent_audit_passing_orgs_still_exposed": 90,
|
|
373
387
|
"basis": "No vendor management or supply chain control covers MCP servers. 150M+ affected downloads suggests extremely broad exposure.",
|
|
374
388
|
"theater_pattern": "vendor_management_ai"
|
|
375
|
-
}
|
|
389
|
+
},
|
|
390
|
+
"ai_discovered_zeroday": false,
|
|
391
|
+
"ai_discovery_source": "human_researcher",
|
|
392
|
+
"ai_discovery_date": "2026-02-18",
|
|
393
|
+
"ai_assist_factor": "low"
|
|
376
394
|
},
|
|
377
395
|
"CVE-2026-45321": {
|
|
378
396
|
"name": "Mini Shai-Hulud TanStack npm worm",
|
|
@@ -465,7 +483,11 @@
|
|
|
465
483
|
"percent_audit_passing_orgs_still_exposed": 95,
|
|
466
484
|
"basis": "SLSA L3 + provenance + signing all pass on the malicious package. Standard supply-chain audits (SBOM check, provenance verify, signature verify) all give green. The architectural pre-condition (pull_request_target + id-token:write + shared actions/cache) is not in any compliance framework's control catalog. Combined ~150M+ weekly downloads across 42 packages = extremely broad exposure.",
|
|
467
485
|
"theater_pattern": "provenance_signed_therefore_safe"
|
|
468
|
-
}
|
|
486
|
+
},
|
|
487
|
+
"ai_discovered_zeroday": false,
|
|
488
|
+
"ai_discovery_source": "threat_actor_ai_built",
|
|
489
|
+
"ai_discovery_date": "2026-05-11",
|
|
490
|
+
"ai_assist_factor": "low"
|
|
469
491
|
},
|
|
470
492
|
"MAL-2026-3083": {
|
|
471
493
|
"name": "Elementary-Data PyPI Worm (Forged Release via GitHub Actions Script Injection)",
|
|
@@ -549,7 +571,11 @@
|
|
|
549
571
|
"percent_audit_passing_orgs_still_exposed": 92,
|
|
550
572
|
"basis": "PyPI signature + maintainer trust + provenance all pass on the malicious package. Audit programs measure SBOM presence, package-signing posture, and dependency-pin discipline — none of which catch a maintainer's own pipeline being weaponized via a comment. ~1.1M monthly downloads broaden the consumer footprint.",
|
|
551
573
|
"theater_pattern": "signed_release_therefore_safe"
|
|
552
|
-
}
|
|
574
|
+
},
|
|
575
|
+
"ai_discovered_zeroday": false,
|
|
576
|
+
"ai_discovery_source": "human_researcher",
|
|
577
|
+
"ai_discovery_date": "2026-04-25",
|
|
578
|
+
"ai_assist_factor": "low"
|
|
553
579
|
},
|
|
554
580
|
"CVE-2026-42208": {
|
|
555
581
|
"name": "BerriAI LiteLLM Proxy Auth SQL Injection",
|
|
@@ -613,7 +639,11 @@
|
|
|
613
639
|
"percent_audit_passing_orgs_still_exposed": 75,
|
|
614
640
|
"basis": "SI-10 audits accept 'we validate inputs' as compliance. Most operators run LiteLLM internet-reachable behind a thin proxy without a SQL-injection-aware WAF. KEV listing imposes a 21-day patch SLA on federal orgs; private-sector adoption lags.",
|
|
615
641
|
"theater_pattern": "input_validation_checkbox_without_parameterised_queries"
|
|
616
|
-
}
|
|
642
|
+
},
|
|
643
|
+
"ai_discovered_zeroday": false,
|
|
644
|
+
"ai_discovery_source": "human_researcher",
|
|
645
|
+
"ai_discovery_date": "2026-05-08",
|
|
646
|
+
"ai_assist_factor": "low"
|
|
617
647
|
},
|
|
618
648
|
"CVE-2026-39884": {
|
|
619
649
|
"name": "Flux159 mcp-server-kubernetes Argument Injection via port_forward",
|
|
@@ -687,7 +717,11 @@
|
|
|
687
717
|
"percent_audit_passing_orgs_still_exposed": 88,
|
|
688
718
|
"basis": "MCP ecosystem patch hygiene lags traditional CVE timelines. Most AI-agent operators do not maintain an explicit MCP tool allowlist; SI-10 audits accept the MCP plugin as a vendored dependency without auditing its argv handling.",
|
|
689
719
|
"theater_pattern": "vendored_mcp_plugin_inherits_vendor_trust"
|
|
690
|
-
}
|
|
720
|
+
},
|
|
721
|
+
"ai_discovered_zeroday": false,
|
|
722
|
+
"ai_discovery_source": "human_researcher",
|
|
723
|
+
"ai_discovery_date": "2026-05-13",
|
|
724
|
+
"ai_assist_factor": "low"
|
|
691
725
|
},
|
|
692
726
|
"CVE-2026-46300": {
|
|
693
727
|
"name": "Fragnesia",
|
|
@@ -789,6 +823,434 @@
|
|
|
789
823
|
"percent_audit_passing_orgs_still_exposed": 75,
|
|
790
824
|
"basis": "Operators who already blacklisted esp4 / esp6 / rxrpc for Dirty Frag are already mitigated. Operators who relied on kernel-package-version alone (a scanner saying 'patched') with vanilla SI-2 / A.8.8 SLAs are exposed during the patch window. Exposure drops sharply if CISA KEV-lists the CVE (federal 21-day SLA fires) or if active exploitation is observed.",
|
|
791
825
|
"theater_pattern": "patch_management"
|
|
792
|
-
}
|
|
826
|
+
},
|
|
827
|
+
"ai_discovered_zeroday": false,
|
|
828
|
+
"ai_discovery_source": "human_researcher",
|
|
829
|
+
"ai_assist_factor": "low"
|
|
830
|
+
},
|
|
831
|
+
"CVE-2024-3094": {
|
|
832
|
+
"name": "xz-utils liblzma backdoor",
|
|
833
|
+
"lesson_date": "2026-05-15",
|
|
834
|
+
"attack_vector": {
|
|
835
|
+
"description": "Multi-year patient maintainer-takeover supply-chain backdoor in xz-utils. Test fixtures contain encrypted shell stages; m4 macros assemble them at configure time, injecting a runtime IFUNC override into liblzma. sshd linked against libsystemd (which depends on liblzma) routes attacker-keyed RSA pubkeys to the backdoor code path.",
|
|
836
|
+
"privileges_required": "remote unauthenticated, gated by possession of Ed448 signing key",
|
|
837
|
+
"complexity": "high to develop, low to use",
|
|
838
|
+
"ai_factor": "Discovered by Andres Freund (human researcher) via performance-regression investigation — 0.5s sshd startup delay traced to liblzma symbol resolution. No AI involvement on either side."
|
|
839
|
+
},
|
|
840
|
+
"defense_chain": {
|
|
841
|
+
"prevention": {
|
|
842
|
+
"what_would_have_worked": "Maintainer-trust attestation for upstream OSS components in the boot path. Reproducible builds with bytewise-exact reproduction of release tarballs from VCS tags would have flagged the binary test fixtures as build-output divergence.",
|
|
843
|
+
"was_this_required": false,
|
|
844
|
+
"framework_requiring_it": null,
|
|
845
|
+
"adequacy": "SLSA L3 build-integrity is necessary but insufficient — the malicious test fixtures were committed by the legitimate maintainer account, so SLSA source-integrity attestations were valid."
|
|
846
|
+
},
|
|
847
|
+
"detection": {
|
|
848
|
+
"what_would_have_worked": "Performance-regression alerting on critical-path libraries (libsystemd, libssl, liblzma) — the bug was caught only because someone profiled sshd startup.",
|
|
849
|
+
"was_this_required": false,
|
|
850
|
+
"framework_requiring_it": null,
|
|
851
|
+
"adequacy": "Highly contingent on luck and curiosity. Not a control that scales."
|
|
852
|
+
},
|
|
853
|
+
"response": {
|
|
854
|
+
"what_would_have_worked": "Distribution rollback to xz-utils 5.4.x within hours of disclosure. Most major distros executed this within 12 hours.",
|
|
855
|
+
"was_this_required": false,
|
|
856
|
+
"framework_requiring_it": null,
|
|
857
|
+
"adequacy": "Rollback worked because the backdoor was caught pre-mass-distribution. A longer-undetected backdoor would have been embedded in distro LTS branches."
|
|
858
|
+
}
|
|
859
|
+
},
|
|
860
|
+
"framework_coverage": {
|
|
861
|
+
"NIST-800-218-SSDF-PW.4": {
|
|
862
|
+
"covered": true,
|
|
863
|
+
"adequate": false,
|
|
864
|
+
"gap": "Reuse of secure-by-default components assumes upstream components ARE secure; xz-utils was an upstream that compromised itself across two years of maintainer takeover."
|
|
865
|
+
},
|
|
866
|
+
"ISO-27001-2022-A.8.30": {
|
|
867
|
+
"covered": true,
|
|
868
|
+
"adequate": false,
|
|
869
|
+
"gap": "Outsourced development controls don't address upstream OSS maintainer-compromise — the org has no contract with xz."
|
|
870
|
+
},
|
|
871
|
+
"NIST-800-53-SR-3": {
|
|
872
|
+
"covered": true,
|
|
873
|
+
"adequate": false,
|
|
874
|
+
"gap": "Supply chain controls anchor on direct vendors; tier-3 (libsystemd -> liblzma) dependencies routinely escape SR-3 inventory."
|
|
875
|
+
},
|
|
876
|
+
"EU-CRA-Art13": {
|
|
877
|
+
"covered": true,
|
|
878
|
+
"adequate": false,
|
|
879
|
+
"gap": "Cyber Resilience Act requires SBOM but does not require upstream-maintainer trust assessment."
|
|
880
|
+
},
|
|
881
|
+
"SLSA-v1.0-Build-L3": {
|
|
882
|
+
"covered": true,
|
|
883
|
+
"adequate": false,
|
|
884
|
+
"gap": "SLSA build-integrity does not address pre-build source-tree compromise."
|
|
885
|
+
}
|
|
886
|
+
},
|
|
887
|
+
"new_control_requirements": [
|
|
888
|
+
{
|
|
889
|
+
"id": "NEW-CTRL-020",
|
|
890
|
+
"name": "REPRODUCIBLE-RELEASE-TARBALL-VERIFICATION",
|
|
891
|
+
"description": "For any upstream OSS dependency in the boot or auth path: verify that the release tarball is bytewise-reproducible from the VCS tag. Binary test fixtures, generated artifacts, or build-time-generated files in the release tarball that do NOT appear in the VCS tag are a hard fail.",
|
|
892
|
+
"evidence": "CVE-2024-3094 — the malicious payload was embedded in test fixtures present only in the release tarball, not in the VCS tag's tests/ directory.",
|
|
893
|
+
"gap_closes": [
|
|
894
|
+
"NIST-800-218-SSDF-PW.4",
|
|
895
|
+
"SLSA-v1.0-Build-L3"
|
|
896
|
+
]
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
"id": "NEW-CTRL-021",
|
|
900
|
+
"name": "TIER-3-DEPENDENCY-INVENTORY",
|
|
901
|
+
"description": "Supply chain inventory must extend to tier-3 dependencies (dependencies of dependencies of direct dependencies). SBOM coverage for libsystemd-class transitive dependencies cannot be omitted under SR-3.",
|
|
902
|
+
"evidence": "CVE-2024-3094 — sshd → libsystemd → liblzma chain reached every sshd-running host without appearing in most SR-3 vendor inventories.",
|
|
903
|
+
"gap_closes": [
|
|
904
|
+
"NIST-800-53-SR-3"
|
|
905
|
+
]
|
|
906
|
+
}
|
|
907
|
+
],
|
|
908
|
+
"compliance_exposure_score": {
|
|
909
|
+
"percent_audit_passing_orgs_still_exposed": 90,
|
|
910
|
+
"basis": "Most organizations cannot enumerate tier-3 OSS dependencies, let alone attest to upstream maintainer trust. The xz backdoor was caught pre-mass-exploitation by luck; the class is undetectable to standard controls.",
|
|
911
|
+
"theater_pattern": "sbom_first_party_only"
|
|
912
|
+
},
|
|
913
|
+
"ai_discovered_zeroday": false,
|
|
914
|
+
"ai_discovery_source": "human_researcher",
|
|
915
|
+
"ai_discovery_date": "2024-03-29",
|
|
916
|
+
"ai_assist_factor": "low"
|
|
917
|
+
},
|
|
918
|
+
"CVE-2026-GTIG-AI-2FA": {
|
|
919
|
+
"name": "GTIG-tracked AI-built 2FA-bypass zero-day",
|
|
920
|
+
"lesson_date": "2026-05-15",
|
|
921
|
+
"attack_vector": {
|
|
922
|
+
"description": "Authentication state-machine confusion in an unnamed enterprise 2FA service. Exploit payload bypasses the second-factor challenge by manipulating session token at the post-primary-auth / pre-2FA-challenge boundary. Notable as the first documented AI-BUILT (not just AI-discovered) zero-day observed in-the-wild — threat actor used a frontier LLM to construct the exploit payload.",
|
|
923
|
+
"privileges_required": "remote unauthenticated, requires valid primary-auth credentials (assumed phished or credential-stuffed)",
|
|
924
|
+
"complexity": "moderate to develop, low to use",
|
|
925
|
+
"ai_factor": "First documented AI-BUILT ITW zero-day per GTIG 2026-05-11. Threat actor lacked the engineering capacity to construct the payload independently; LLM-generated exploit code shows characteristic structure, comments, and idiomatic patterns. Compresses time-to-weaponize by approximately 20x relative to human-only development for this class."
|
|
926
|
+
},
|
|
927
|
+
"defense_chain": {
|
|
928
|
+
"prevention": {
|
|
929
|
+
"what_would_have_worked": "Out-of-band MFA (FIDO2 / passkey / push-with-number-match) that does not share a session-token boundary with the bypass surface. Hardware-anchored binding of primary-auth and 2FA challenge into a single signed assertion.",
|
|
930
|
+
"was_this_required": false,
|
|
931
|
+
"framework_requiring_it": null,
|
|
932
|
+
"adequacy": "Phishing-resistant MFA (NIST AAL3) would have blocked this class. Most organizations still operate at AAL2 with SMS or TOTP."
|
|
933
|
+
},
|
|
934
|
+
"detection": {
|
|
935
|
+
"what_would_have_worked": "Session-token mutation anomaly detection between auth phases — alert when the session-state machine receives an unexpected transition.",
|
|
936
|
+
"was_this_required": false,
|
|
937
|
+
"framework_requiring_it": null,
|
|
938
|
+
"adequacy": "Anomaly detection on auth-state transitions is not a standard control category in any framework. Most identity providers don't expose the necessary telemetry."
|
|
939
|
+
},
|
|
940
|
+
"response": {
|
|
941
|
+
"what_would_have_worked": "Vendor-side rate-limiting on the 2FA challenge endpoint + temporary global rollback of the 2FA flow to require fresh primary-auth.",
|
|
942
|
+
"was_this_required": false,
|
|
943
|
+
"framework_requiring_it": null,
|
|
944
|
+
"adequacy": "Embargoed CVE — public response capability constrained by disclosure timing."
|
|
945
|
+
}
|
|
946
|
+
},
|
|
947
|
+
"framework_coverage": {
|
|
948
|
+
"NIST-AI-RMF-MEASURE-2.7": {
|
|
949
|
+
"covered": false,
|
|
950
|
+
"adequate": false,
|
|
951
|
+
"gap": "AI-discovered + AI-built exploit class not anchored in any framework — neither NIST AI RMF nor ISO 42001 require AI-attack-development monitoring as a control category."
|
|
952
|
+
},
|
|
953
|
+
"NIS2-Art21-incident-handling": {
|
|
954
|
+
"covered": true,
|
|
955
|
+
"adequate": false,
|
|
956
|
+
"gap": "EU NIS2 incident-handling SLA does not differentiate AI-built vs human-built exploit class — but the AI-built class compresses time-to-weaponize by ~20x and time-to-mass-deployment by ~50x."
|
|
957
|
+
},
|
|
958
|
+
"FedRAMP-IA-2": {
|
|
959
|
+
"covered": true,
|
|
960
|
+
"adequate": false,
|
|
961
|
+
"gap": "MFA requirement satisfied on paper; AI-built bypass operates at a layer below the MFA control surface."
|
|
962
|
+
},
|
|
963
|
+
"EU-AI-Act-Art-15": {
|
|
964
|
+
"covered": false,
|
|
965
|
+
"adequate": false,
|
|
966
|
+
"gap": "AI Act robustness requirement applies to AI SYSTEMS not to defending against AI-built attacks on non-AI systems."
|
|
967
|
+
},
|
|
968
|
+
"ALL-FRAMEWORKS": {
|
|
969
|
+
"covered": false,
|
|
970
|
+
"adequate": false,
|
|
971
|
+
"gap": "No framework anchors on AI-attack-development as an operational threat that requires distinct controls. ATLAS documents the techniques but compliance frameworks haven't picked them up."
|
|
972
|
+
}
|
|
973
|
+
},
|
|
974
|
+
"new_control_requirements": [
|
|
975
|
+
{
|
|
976
|
+
"id": "NEW-CTRL-022",
|
|
977
|
+
"name": "AI-ATTACK-DEVELOPMENT-MONITORING",
|
|
978
|
+
"description": "Threat intelligence functions must subscribe to AI-attack-development feeds (GTIG, MITRE ATLAS, anthropic-internal threat reports). Treat AI-built exploit class as compressing the standard 30-day CISA KEV response window to 24 hours.",
|
|
979
|
+
"evidence": "CVE-2026-GTIG-AI-2FA — first documented AI-built ITW zero-day per GTIG 2026-05-11. Time from disclosure to mass-exploitation observed at ~10x faster than comparable non-AI-built cases.",
|
|
980
|
+
"gap_closes": [
|
|
981
|
+
"NIST-AI-RMF-MEASURE-2.7",
|
|
982
|
+
"ISO-27001-2022-A.5.7",
|
|
983
|
+
"NIS2-Art21-incident-handling"
|
|
984
|
+
]
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
"id": "NEW-CTRL-023",
|
|
988
|
+
"name": "PHISHING-RESISTANT-MFA-MANDATE",
|
|
989
|
+
"description": "AAL3 phishing-resistant MFA (FIDO2 / passkey / hardware-anchored push-with-number-match) required for all administrative and privileged access. SMS, TOTP, and push-to-approve are insufficient against AI-built session-confusion attacks.",
|
|
990
|
+
"evidence": "CVE-2026-GTIG-AI-2FA — bypass operates at the session-state-machine layer; AAL3 anchors the second factor to the primary-auth assertion cryptographically.",
|
|
991
|
+
"gap_closes": [
|
|
992
|
+
"FedRAMP-IA-2",
|
|
993
|
+
"NIST-800-63-AAL3"
|
|
994
|
+
]
|
|
995
|
+
}
|
|
996
|
+
],
|
|
997
|
+
"compliance_exposure_score": {
|
|
998
|
+
"percent_audit_passing_orgs_still_exposed": 92,
|
|
999
|
+
"basis": "Most organizations operate at AAL2 with TOTP or SMS. AI-built attack class compresses development time by 20x — defenders have not yet caught up.",
|
|
1000
|
+
"theater_pattern": "mfa_aal2_satisfies_paper_aal3"
|
|
1001
|
+
},
|
|
1002
|
+
"ai_discovered_zeroday": true,
|
|
1003
|
+
"ai_discovery_source": "threat_actor_ai_built",
|
|
1004
|
+
"ai_discovery_date": "2026-05-11",
|
|
1005
|
+
"ai_assist_factor": "very_high"
|
|
1006
|
+
},
|
|
1007
|
+
"CVE-2026-42945": {
|
|
1008
|
+
"name": "NGINX Rift",
|
|
1009
|
+
"lesson_date": "2026-05-15",
|
|
1010
|
+
"attack_vector": {
|
|
1011
|
+
"description": "Heap buffer overflow in nginx PCRE unnamed-capture handling within the rewrite directive. A single HTTP request whose URI matches a rewrite rule with unnamed captures triggers out-of-bounds heap write in the captures buffer. Pre-auth, no special preconditions beyond a rewrite directive using unnamed captures (extremely common). Affected code path present in every nginx release since 0.6.27 (2007) — 18 years of human review missed it.",
|
|
1012
|
+
"privileges_required": "remote unauthenticated",
|
|
1013
|
+
"complexity": "low",
|
|
1014
|
+
"ai_factor": "First publicly-attributed AI-discovered nginx CVE. Discovered by depthfirst autonomous-analysis platform on 2026-05-13. Anchor case for AGENTS.md Hard Rule #7 (AI as current reality, not emerging). Demonstrates that AI-discovery now reaches Tier-1 web-fabric components with 18-year-deployed code paths."
|
|
1015
|
+
},
|
|
1016
|
+
"defense_chain": {
|
|
1017
|
+
"prevention": {
|
|
1018
|
+
"what_would_have_worked": "Operator-side configuration mitigation: replace unnamed PCRE captures with named captures in rewrite directives. Zero-downtime, no nginx restart required.",
|
|
1019
|
+
"was_this_required": false,
|
|
1020
|
+
"framework_requiring_it": null,
|
|
1021
|
+
"adequacy": "Named-capture refactor closes the vulnerable code path entirely. Operators who never used rewrite directives or only used named captures were never exposed."
|
|
1022
|
+
},
|
|
1023
|
+
"detection": {
|
|
1024
|
+
"what_would_have_worked": "WAF or eBPF rule detecting heap-corruption pattern in nginx worker processes. Pre-disclosure, no detection rules existed.",
|
|
1025
|
+
"was_this_required": false,
|
|
1026
|
+
"framework_requiring_it": null,
|
|
1027
|
+
"adequacy": "Post-disclosure WAF rules can match the heap-overflow trigger pattern but bypass is straightforward — the vulnerable behavior is configuration-driven."
|
|
1028
|
+
},
|
|
1029
|
+
"response": {
|
|
1030
|
+
"what_would_have_worked": "Vendor patch (nginx 1.30.1+ / 1.31.0+ / Plus R32 P6+ / R36 P4+) deployed within 24 hours of disclosure. Configuration-side mitigation (named captures) deployable in minutes.",
|
|
1031
|
+
"was_this_required": false,
|
|
1032
|
+
"framework_requiring_it": null,
|
|
1033
|
+
"adequacy": "Configuration-side mitigation is the load-bearing response path — vendor-patch SLAs in most frameworks are too slow given the public PoC."
|
|
1034
|
+
}
|
|
1035
|
+
},
|
|
1036
|
+
"framework_coverage": {
|
|
1037
|
+
"NIST-800-53-SI-2": {
|
|
1038
|
+
"covered": true,
|
|
1039
|
+
"adequate": false,
|
|
1040
|
+
"gap": "30-day SLA insufficient for pre-auth unauth heap RCE on web fabric."
|
|
1041
|
+
},
|
|
1042
|
+
"NIST-AI-RMF-MAP-3.4": {
|
|
1043
|
+
"covered": false,
|
|
1044
|
+
"adequate": false,
|
|
1045
|
+
"gap": "AI-discovery class not anchored — Hard Rule #7 says AI-as-research-tool is current reality, framework controls treat it as emerging."
|
|
1046
|
+
},
|
|
1047
|
+
"OWASP-Top-10-2021-A06": {
|
|
1048
|
+
"covered": true,
|
|
1049
|
+
"adequate": false,
|
|
1050
|
+
"gap": "Vulnerable and outdated components — nginx upgrade is the standard answer; the configuration-side live-patch path is not covered."
|
|
1051
|
+
},
|
|
1052
|
+
"DORA-Art-9": {
|
|
1053
|
+
"covered": true,
|
|
1054
|
+
"adequate": false,
|
|
1055
|
+
"gap": "Financial-services ICT third-party risk does not differentiate between vendor-patch path and configuration-side mitigation path."
|
|
1056
|
+
}
|
|
1057
|
+
},
|
|
1058
|
+
"new_control_requirements": [
|
|
1059
|
+
{
|
|
1060
|
+
"id": "NEW-CTRL-024",
|
|
1061
|
+
"name": "AI-DISCOVERY-RESPONSE-SLA",
|
|
1062
|
+
"description": "Vulnerabilities disclosed as AI-discovered (per ATLAS / vendor attribution) require a compressed 4-hour mitigation SLA — same as CISA KEV-listed. AI-discovery indicates the bug class is reachable via automated analysis, so exploitation development by adversaries follows on a compressed timeline.",
|
|
1063
|
+
"evidence": "CVE-2026-42945 (NGINX Rift) — discovered by depthfirst, public PoC at disclosure. Time-from-disclosure-to-weaponization-in-wild expected to compress to hours.",
|
|
1064
|
+
"gap_closes": [
|
|
1065
|
+
"NIST-800-53-SI-2",
|
|
1066
|
+
"NIST-AI-RMF-MAP-3.4"
|
|
1067
|
+
]
|
|
1068
|
+
},
|
|
1069
|
+
{
|
|
1070
|
+
"id": "NEW-CTRL-025",
|
|
1071
|
+
"name": "CONFIGURATION-SIDE-LIVE-PATCH-INVENTORY",
|
|
1072
|
+
"description": "For any web-fabric vulnerability with a configuration-side mitigation path: that path must be inventoried, tested, and deployable independent of the vendor-patch path. Operators cannot wait for nginx 1.30.1+ if a named-capture refactor mitigates immediately.",
|
|
1073
|
+
"evidence": "CVE-2026-42945 — named-capture refactor mitigates in minutes; vendor patch may take days.",
|
|
1074
|
+
"gap_closes": [
|
|
1075
|
+
"OWASP-Top-10-2021-A06",
|
|
1076
|
+
"DORA-Art-9"
|
|
1077
|
+
]
|
|
1078
|
+
}
|
|
1079
|
+
],
|
|
1080
|
+
"compliance_exposure_score": {
|
|
1081
|
+
"percent_audit_passing_orgs_still_exposed": 75,
|
|
1082
|
+
"basis": "Most nginx deployments use rewrite directives with unnamed captures. Operators who default to vendor-patch SLA (30 days) rather than configuration-side mitigation (minutes) remain exposed for weeks.",
|
|
1083
|
+
"theater_pattern": "vendor_patch_sla_anchored"
|
|
1084
|
+
},
|
|
1085
|
+
"ai_discovered_zeroday": true,
|
|
1086
|
+
"ai_discovery_source": "academic_ai_fuzzing",
|
|
1087
|
+
"ai_discovery_date": "2026-05-13",
|
|
1088
|
+
"ai_assist_factor": "very_high"
|
|
1089
|
+
},
|
|
1090
|
+
"MAL-2026-TANSTACK-MINI": {
|
|
1091
|
+
"name": "Mini Shai-Hulud (TanStack worm)",
|
|
1092
|
+
"lesson_date": "2026-05-15",
|
|
1093
|
+
"attack_vector": {
|
|
1094
|
+
"description": "Self-propagating npm supply-chain worm scoped to the TanStack maintainer org. Compromised maintainer npm token published 84 malicious versions across 42 @tanstack/* packages on 2026-05-11. Malicious postinstall hook harvests ~/.npmrc, ~/.aws/credentials, GitHub PAT files; attempts republication to other packages the host has npm-publish access to. Consumer-side exploitation is install-time — `npm install` of any pinned-range that resolves to a malicious version triggers payload before any dev review.",
|
|
1095
|
+
"privileges_required": "downstream consumer runs `npm install`",
|
|
1096
|
+
"complexity": "low for downstream consumers; moderate for the maintainer-token compromise",
|
|
1097
|
+
"ai_factor": "Not AI-discovered or AI-built. Same maintainer-token-theft + postinstall-hook pattern as the original Shai-Hulud Sept 2025 campaign."
|
|
1098
|
+
},
|
|
1099
|
+
"defense_chain": {
|
|
1100
|
+
"prevention": {
|
|
1101
|
+
"what_would_have_worked": "Lockfile-based pinning to versions published before 2026-05-11T00:00Z + `npm install --ignore-scripts` for CI builds. SLSA L3 provenance attestations on @tanstack/* packages (not currently enforced).",
|
|
1102
|
+
"was_this_required": false,
|
|
1103
|
+
"framework_requiring_it": null,
|
|
1104
|
+
"adequacy": "--ignore-scripts is the cleanest mitigation but breaks packages that legitimately need postinstall (rare for runtime dependencies). Lockfile pinning works if the lockfile predates 2026-05-11."
|
|
1105
|
+
},
|
|
1106
|
+
"detection": {
|
|
1107
|
+
"what_would_have_worked": "Behavioral monitoring on developer / CI hosts for `npm install` followed by access to ~/.npmrc, ~/.aws/credentials, or outbound network connections to non-npm hosts.",
|
|
1108
|
+
"was_this_required": false,
|
|
1109
|
+
"framework_requiring_it": null,
|
|
1110
|
+
"adequacy": "Endpoint detection rarely covers developer machines at the granularity needed. CI runners are easier targets for monitoring."
|
|
1111
|
+
},
|
|
1112
|
+
"response": {
|
|
1113
|
+
"what_would_have_worked": "npm yank within hours (executed 2026-05-11). Rotation of all credentials reachable from any host that ran `npm install` against an affected version during the exposure window. Lockfile audit + republication of any downstream package the host had publish rights on.",
|
|
1114
|
+
"was_this_required": false,
|
|
1115
|
+
"framework_requiring_it": null,
|
|
1116
|
+
"adequacy": "Yank closes new consumer exposure but does not retroactively un-harvest credentials. Full credential rotation is the operational response."
|
|
1117
|
+
}
|
|
1118
|
+
},
|
|
1119
|
+
"framework_coverage": {
|
|
1120
|
+
"NIST-800-218-SSDF-PW.4": {
|
|
1121
|
+
"covered": true,
|
|
1122
|
+
"adequate": false,
|
|
1123
|
+
"gap": "Reused-OSS-component control assumes maintainer-account integrity."
|
|
1124
|
+
},
|
|
1125
|
+
"SLSA-v1.0-Source-L3": {
|
|
1126
|
+
"covered": true,
|
|
1127
|
+
"adequate": false,
|
|
1128
|
+
"gap": "SLSA source-integrity reviews don't apply to npm packages without provenance attestations — most @tanstack/* packages ship without provenance."
|
|
1129
|
+
},
|
|
1130
|
+
"EU-CRA-Art13": {
|
|
1131
|
+
"covered": true,
|
|
1132
|
+
"adequate": false,
|
|
1133
|
+
"gap": "SBOM requirement does not address freshness-of-published-version — pinning to malicious version is SBOM-compliant."
|
|
1134
|
+
},
|
|
1135
|
+
"NIS2-Art21-supply-chain": {
|
|
1136
|
+
"covered": true,
|
|
1137
|
+
"adequate": false,
|
|
1138
|
+
"gap": "Generic supply chain controls without npm-ecosystem-specific guidance (postinstall hooks, lockfile pinning, --ignore-scripts policy)."
|
|
1139
|
+
}
|
|
1140
|
+
},
|
|
1141
|
+
"new_control_requirements": [
|
|
1142
|
+
{
|
|
1143
|
+
"id": "NEW-CTRL-026",
|
|
1144
|
+
"name": "NPM-CI-IGNORE-SCRIPTS-DEFAULT",
|
|
1145
|
+
"description": "CI pipelines must default to `npm install --ignore-scripts` (or equivalent `pnpm install --ignore-scripts`, `yarn install --ignore-scripts`). Packages requiring postinstall hooks must be explicitly allowlisted with operator justification.",
|
|
1146
|
+
"evidence": "MAL-2026-TANSTACK-MINI — the malicious payload ran via postinstall hook; --ignore-scripts neutralizes the class entirely.",
|
|
1147
|
+
"gap_closes": [
|
|
1148
|
+
"NIST-800-218-SSDF-PW.4",
|
|
1149
|
+
"NIS2-Art21-supply-chain"
|
|
1150
|
+
]
|
|
1151
|
+
},
|
|
1152
|
+
{
|
|
1153
|
+
"id": "NEW-CTRL-027",
|
|
1154
|
+
"name": "MAINTAINER-TOKEN-COMPROMISE-RESPONSE-PLAYBOOK",
|
|
1155
|
+
"description": "Every consumer of npm / pypi / rubygems must maintain a documented response playbook for upstream maintainer-token compromise. Includes: lockfile audit, credential rotation scope, repub authorization revocation, exposure-window forensic timeline.",
|
|
1156
|
+
"evidence": "MAL-2026-TANSTACK-MINI — 8-hour exposure window from publication to yank; consumers without a playbook spent days reconstructing scope.",
|
|
1157
|
+
"gap_closes": [
|
|
1158
|
+
"NIS2-Art21-supply-chain",
|
|
1159
|
+
"EU-CRA-Art13"
|
|
1160
|
+
]
|
|
1161
|
+
}
|
|
1162
|
+
],
|
|
1163
|
+
"compliance_exposure_score": {
|
|
1164
|
+
"percent_audit_passing_orgs_still_exposed": 85,
|
|
1165
|
+
"basis": "Most npm consumers do not run --ignore-scripts. Lockfile pinning is common but version ranges that allow patch-upgrades resolve to malicious versions during the exposure window.",
|
|
1166
|
+
"theater_pattern": "lockfile_pinned_but_range_allows_drift"
|
|
1167
|
+
},
|
|
1168
|
+
"ai_discovered_zeroday": false,
|
|
1169
|
+
"ai_discovery_source": "human_researcher",
|
|
1170
|
+
"ai_discovery_date": "2026-05-11",
|
|
1171
|
+
"ai_assist_factor": "low"
|
|
1172
|
+
},
|
|
1173
|
+
"CVE-2024-21626": {
|
|
1174
|
+
"name": "Leaky Vessels (runc /proc/self/fd leak)",
|
|
1175
|
+
"lesson_date": "2026-05-15",
|
|
1176
|
+
"attack_vector": {
|
|
1177
|
+
"description": "File descriptor leak in runc's WORKDIR / process.cwd handling — attacker container process inherits an fd pointing at the host filesystem root, then executes against /proc/self/fd/N to escape the container into the host. Affects Docker, containerd, Kubernetes, podman, and every container runtime built on runc.",
|
|
1178
|
+
"privileges_required": "ability to start a container with attacker-controlled WORKDIR / process.cwd (any container-create RBAC)",
|
|
1179
|
+
"complexity": "low",
|
|
1180
|
+
"ai_factor": "Discovered by Snyk Labs human researchers. No AI involvement."
|
|
1181
|
+
},
|
|
1182
|
+
"defense_chain": {
|
|
1183
|
+
"prevention": {
|
|
1184
|
+
"what_would_have_worked": "runc 1.1.12+ patch. seccomp profiles blocking /proc/self/fd access from container processes. Kubernetes admission policies that reject pod specs with attacker-controllable WORKDIR.",
|
|
1185
|
+
"was_this_required": false,
|
|
1186
|
+
"framework_requiring_it": null,
|
|
1187
|
+
"adequacy": "Patch closes the bug. seccomp + admission policies reduce attack surface but require defense-in-depth tuning."
|
|
1188
|
+
},
|
|
1189
|
+
"detection": {
|
|
1190
|
+
"what_would_have_worked": "auditd rule on container-process access to /proc/self/fd/N for N pointing outside the container rootfs. Falco / Tetragon eBPF rules for cross-namespace fd access.",
|
|
1191
|
+
"was_this_required": false,
|
|
1192
|
+
"framework_requiring_it": null,
|
|
1193
|
+
"adequacy": "eBPF-based detection works but most operators don't deploy Falco / Tetragon. auditd rules are noisy without container-context enrichment."
|
|
1194
|
+
},
|
|
1195
|
+
"response": {
|
|
1196
|
+
"what_would_have_worked": "Patch container runtime + restart all containers (runc fixes don't apply to already-running containers). Rotate any secrets reachable from compromised container.",
|
|
1197
|
+
"was_this_required": false,
|
|
1198
|
+
"framework_requiring_it": null,
|
|
1199
|
+
"adequacy": "Container restart is operationally simple at small scale; large clusters require staged rollout that extends the exposure window."
|
|
1200
|
+
}
|
|
1201
|
+
},
|
|
1202
|
+
"framework_coverage": {
|
|
1203
|
+
"NIST-800-53-SC-39": {
|
|
1204
|
+
"covered": true,
|
|
1205
|
+
"adequate": false,
|
|
1206
|
+
"gap": "Process isolation control assumes runtime correctness — does not account for runtime-level escape via fd inheritance."
|
|
1207
|
+
},
|
|
1208
|
+
"ISO-27001-2022-A.8.22": {
|
|
1209
|
+
"covered": true,
|
|
1210
|
+
"adequate": false,
|
|
1211
|
+
"gap": "Segregation of networks/workloads doesn't address container-runtime escape."
|
|
1212
|
+
},
|
|
1213
|
+
"CIS-Kubernetes-Benchmark-5.7": {
|
|
1214
|
+
"covered": true,
|
|
1215
|
+
"adequate": false,
|
|
1216
|
+
"gap": "Pod security standards do not require runtime patch SLA <= 24h for container-escape KEV entries."
|
|
1217
|
+
},
|
|
1218
|
+
"NIS2-Art21-2c": {
|
|
1219
|
+
"covered": true,
|
|
1220
|
+
"adequate": false,
|
|
1221
|
+
"gap": "Patch-management measures do not differentiate container-runtime escape SLA from generic patch SLA."
|
|
1222
|
+
}
|
|
1223
|
+
},
|
|
1224
|
+
"new_control_requirements": [
|
|
1225
|
+
{
|
|
1226
|
+
"id": "NEW-CTRL-028",
|
|
1227
|
+
"name": "CONTAINER-RUNTIME-PATCH-SLA-24H",
|
|
1228
|
+
"description": "Container-runtime CVEs (runc, containerd, CRI-O) listed in CISA KEV require a 24-hour mitigation SLA. Container restart is a hard requirement — runc patches do not apply to already-running containers.",
|
|
1229
|
+
"evidence": "CVE-2024-21626 — KEV-listed 2024-04-08 with confirmed active exploitation; patch requires container restart, not just package update.",
|
|
1230
|
+
"gap_closes": [
|
|
1231
|
+
"NIST-800-53-SC-39",
|
|
1232
|
+
"CIS-Kubernetes-Benchmark-5.7"
|
|
1233
|
+
]
|
|
1234
|
+
},
|
|
1235
|
+
{
|
|
1236
|
+
"id": "NEW-CTRL-029",
|
|
1237
|
+
"name": "POD-SPEC-WORKDIR-ADMISSION-POLICY",
|
|
1238
|
+
"description": "Kubernetes admission policies (OPA / Kyverno / built-in PSA) must reject pod specs where WORKDIR is attacker-controllable via untrusted ConfigMap / Secret / annotation interpolation. Defense in depth for the runc-escape class.",
|
|
1239
|
+
"evidence": "CVE-2024-21626 — exploitation requires control of WORKDIR / process.cwd; admission-policy denial neutralizes the class even on unpatched runtimes.",
|
|
1240
|
+
"gap_closes": [
|
|
1241
|
+
"NIST-800-53-AC-3",
|
|
1242
|
+
"CIS-Kubernetes-Benchmark-5.2"
|
|
1243
|
+
]
|
|
1244
|
+
}
|
|
1245
|
+
],
|
|
1246
|
+
"compliance_exposure_score": {
|
|
1247
|
+
"percent_audit_passing_orgs_still_exposed": 70,
|
|
1248
|
+
"basis": "Container-runtime patch hygiene lags traditional CVE timelines. Most organizations patch runc through OS package updates that don't trigger container restart automatically — leaving running containers exposed for days after the package update.",
|
|
1249
|
+
"theater_pattern": "package_update_without_container_restart"
|
|
1250
|
+
},
|
|
1251
|
+
"ai_discovered_zeroday": false,
|
|
1252
|
+
"ai_discovery_source": "human_researcher",
|
|
1253
|
+
"ai_discovery_date": "2024-01-31",
|
|
1254
|
+
"ai_assist_factor": "low"
|
|
793
1255
|
}
|
|
794
1256
|
}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"cisa_kev",
|
|
14
14
|
"poc_available",
|
|
15
15
|
"ai_discovered",
|
|
16
|
+
"ai_assisted_weaponization",
|
|
16
17
|
"active_exploitation",
|
|
17
18
|
"affected",
|
|
18
19
|
"affected_versions",
|
|
@@ -60,11 +61,31 @@
|
|
|
60
61
|
"poc_available": { "type": "boolean" },
|
|
61
62
|
"poc_description": { "type": "string" },
|
|
62
63
|
"ai_discovered": {
|
|
63
|
-
"description": "Whether the vulnerability was discovered with AI assistance.",
|
|
64
|
-
"type":
|
|
64
|
+
"description": "Whether the vulnerability was discovered with AI assistance. Boolean-only — strings can mask tagging bugs in RWEP's truthy branching.",
|
|
65
|
+
"type": "boolean"
|
|
66
|
+
},
|
|
67
|
+
"ai_discovery_source": {
|
|
68
|
+
"description": "Provenance category for the AI-assisted discovery (or absence thereof). Paired with ai_discovered: a true value should be backed by one of vendor_research / bug_bounty_ai_augmented / academic_ai_fuzzing / threat_actor_ai_built; false values may use human_researcher or unknown.",
|
|
69
|
+
"type": "string",
|
|
70
|
+
"enum": [
|
|
71
|
+
"vendor_research",
|
|
72
|
+
"bug_bounty_ai_augmented",
|
|
73
|
+
"academic_ai_fuzzing",
|
|
74
|
+
"threat_actor_ai_built",
|
|
75
|
+
"human_researcher",
|
|
76
|
+
"unknown"
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
"ai_discovery_date": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
|
|
82
|
+
"description": "ISO date of the AI-discovery event (typically disclosure date if discovery date is not separately published)."
|
|
65
83
|
},
|
|
66
84
|
"ai_discovery_notes": { "type": "string" },
|
|
67
|
-
"ai_assisted_weaponization": {
|
|
85
|
+
"ai_assisted_weaponization": {
|
|
86
|
+
"type": "boolean",
|
|
87
|
+
"description": "Distinct from ai_discovered. ai_discovered=AI found the bug; ai_assisted_weaponization=AI was used in exploit development. The two fields are independent and BOTH are required so operators cannot conflate them."
|
|
88
|
+
},
|
|
68
89
|
"ai_assisted_notes": { "type": "string" },
|
|
69
90
|
"active_exploitation": {
|
|
70
91
|
"type": "string",
|