@blamejs/exceptd-skills 0.13.3 → 0.13.5

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 (71) hide show
  1. package/AGENTS.md +41 -4
  2. package/CHANGELOG.md +64 -0
  3. package/README.md +79 -13
  4. package/bin/exceptd.js +117 -9
  5. package/data/_indexes/_meta.json +44 -44
  6. package/data/_indexes/activity-feed.json +3 -3
  7. package/data/_indexes/catalog-summaries.json +3 -3
  8. package/data/_indexes/chains.json +0 -32
  9. package/data/_indexes/handoff-dag.json +127 -57
  10. package/data/_indexes/section-offsets.json +465 -411
  11. package/data/_indexes/summary-cards.json +34 -34
  12. package/data/_indexes/token-budget.json +298 -268
  13. package/data/cve-catalog.json +4 -146
  14. package/data/exploit-availability.json +0 -27
  15. package/data/framework-control-gaps.json +2 -2
  16. package/data/playbooks/ai-discovered-cve-triage.json +1146 -0
  17. package/data/playbooks/cicd-pipeline-compromise.json +3 -0
  18. package/data/playbooks/cred-stores.json +1 -0
  19. package/data/playbooks/crypto.json +3 -0
  20. package/data/playbooks/framework.json +3 -0
  21. package/data/playbooks/idp-incident.json +2 -1
  22. package/data/playbooks/kernel.json +1 -0
  23. package/data/playbooks/mcp.json +27 -2
  24. package/data/playbooks/post-quantum-migration.json +1268 -0
  25. package/data/playbooks/runtime.json +1 -0
  26. package/data/playbooks/sbom.json +3 -0
  27. package/data/playbooks/supply-chain-recovery.json +1332 -0
  28. package/data/zeroday-lessons.json +0 -89
  29. package/lib/schemas/cve-catalog.schema.json +2 -1
  30. package/lib/schemas/playbook.schema.json +5 -0
  31. package/lib/validate-cve-catalog.js +27 -0
  32. package/manifest.json +80 -80
  33. package/orchestrator/index.js +58 -1
  34. package/package.json +1 -1
  35. package/sbom.cdx.json +99 -66
  36. package/skills/age-gates-child-safety/skill.md +2 -0
  37. package/skills/ai-attack-surface/skill.md +2 -0
  38. package/skills/ai-c2-detection/skill.md +2 -0
  39. package/skills/ai-risk-management/skill.md +2 -0
  40. package/skills/api-security/skill.md +2 -0
  41. package/skills/attack-surface-pentest/skill.md +2 -0
  42. package/skills/cloud-security/skill.md +2 -0
  43. package/skills/compliance-theater/skill.md +28 -2
  44. package/skills/container-runtime-security/skill.md +2 -0
  45. package/skills/coordinated-vuln-disclosure/skill.md +1 -1
  46. package/skills/defensive-countermeasure-mapping/skill.md +2 -0
  47. package/skills/dlp-gap-analysis/skill.md +2 -0
  48. package/skills/exploit-scoring/skill.md +30 -1
  49. package/skills/framework-gap-analysis/skill.md +28 -1
  50. package/skills/fuzz-testing-strategy/skill.md +4 -2
  51. package/skills/global-grc/skill.md +2 -0
  52. package/skills/identity-assurance/skill.md +2 -0
  53. package/skills/kernel-lpe-triage/skill.md +2 -0
  54. package/skills/mcp-agent-trust/skill.md +4 -0
  55. package/skills/mlops-security/skill.md +2 -0
  56. package/skills/ot-ics-security/skill.md +2 -0
  57. package/skills/policy-exception-gen/skill.md +28 -1
  58. package/skills/pqc-first/skill.md +2 -0
  59. package/skills/rag-pipeline-security/skill.md +2 -0
  60. package/skills/researcher/skill.md +2 -0
  61. package/skills/sector-energy/skill.md +2 -0
  62. package/skills/sector-federal-government/skill.md +2 -0
  63. package/skills/sector-financial/skill.md +2 -0
  64. package/skills/sector-healthcare/skill.md +2 -0
  65. package/skills/security-maturity-tiers/skill.md +2 -0
  66. package/skills/skill-update-loop/skill.md +2 -0
  67. package/skills/supply-chain-integrity/skill.md +2 -0
  68. package/skills/threat-model-currency/skill.md +37 -1
  69. package/skills/threat-modeling-methodology/skill.md +2 -0
  70. package/skills/webapp-security/skill.md +2 -0
  71. package/skills/zeroday-gap-learn/skill.md +33 -1
@@ -916,95 +916,6 @@
916
916
  "ai_discovery_date": "2024-03-29",
917
917
  "ai_assist_factor": "low"
918
918
  },
919
- "CVE-2026-GTIG-AI-2FA": {
920
- "name": "GTIG-tracked AI-built 2FA-bypass zero-day",
921
- "lesson_date": "2026-05-15",
922
- "attack_vector": {
923
- "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.",
924
- "privileges_required": "remote unauthenticated, requires valid primary-auth credentials (assumed phished or credential-stuffed)",
925
- "complexity": "moderate to develop, low to use",
926
- "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."
927
- },
928
- "defense_chain": {
929
- "prevention": {
930
- "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.",
931
- "was_this_required": false,
932
- "framework_requiring_it": null,
933
- "adequacy": "Phishing-resistant MFA (NIST AAL3) would have blocked this class. Most organizations still operate at AAL2 with SMS or TOTP."
934
- },
935
- "detection": {
936
- "what_would_have_worked": "Session-token mutation anomaly detection between auth phases — alert when the session-state machine receives an unexpected transition.",
937
- "was_this_required": false,
938
- "framework_requiring_it": null,
939
- "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."
940
- },
941
- "response": {
942
- "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.",
943
- "was_this_required": false,
944
- "framework_requiring_it": null,
945
- "adequacy": "Embargoed CVE — public response capability constrained by disclosure timing."
946
- }
947
- },
948
- "framework_coverage": {
949
- "NIST-AI-RMF-MEASURE-2.7": {
950
- "covered": false,
951
- "adequate": false,
952
- "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."
953
- },
954
- "NIS2-Art21-incident-handling": {
955
- "covered": true,
956
- "adequate": false,
957
- "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."
958
- },
959
- "FedRAMP-IA-2": {
960
- "covered": true,
961
- "adequate": false,
962
- "gap": "MFA requirement satisfied on paper; AI-built bypass operates at a layer below the MFA control surface."
963
- },
964
- "EU-AI-Act-Art-15": {
965
- "covered": false,
966
- "adequate": false,
967
- "gap": "AI Act robustness requirement applies to AI SYSTEMS not to defending against AI-built attacks on non-AI systems."
968
- },
969
- "ALL-FRAMEWORKS": {
970
- "covered": false,
971
- "adequate": false,
972
- "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."
973
- }
974
- },
975
- "new_control_requirements": [
976
- {
977
- "id": "NEW-CTRL-022",
978
- "name": "AI-ATTACK-DEVELOPMENT-MONITORING",
979
- "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.",
980
- "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.",
981
- "gap_closes": [
982
- "NIST-AI-RMF-MEASURE-2.7",
983
- "ISO-27001-2022-A.5.7",
984
- "NIS2-Art21-incident-handling"
985
- ]
986
- },
987
- {
988
- "id": "NEW-CTRL-023",
989
- "name": "PHISHING-RESISTANT-MFA-MANDATE",
990
- "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.",
991
- "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.",
992
- "gap_closes": [
993
- "FedRAMP-IA-2",
994
- "NIST-800-63-AAL3"
995
- ]
996
- }
997
- ],
998
- "compliance_exposure_score": {
999
- "percent_audit_passing_orgs_still_exposed": 92,
1000
- "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.",
1001
- "theater_pattern": "mfa_aal2_satisfies_paper_aal3"
1002
- },
1003
- "ai_discovered_zeroday": true,
1004
- "ai_discovery_source": "threat_actor_ai_built",
1005
- "ai_discovery_date": "2026-05-11",
1006
- "ai_assist_factor": "very_high"
1007
- },
1008
919
  "CVE-2026-42945": {
1009
920
  "name": "NGINX Rift",
1010
921
  "lesson_date": "2026-05-15",
@@ -89,7 +89,8 @@
89
89
  "ai_assisted_notes": { "type": "string" },
90
90
  "active_exploitation": {
91
91
  "type": "string",
92
- "enum": ["confirmed", "suspected", "none", "unknown"]
92
+ "enum": ["confirmed", "suspected", "theoretical", "none", "unknown"],
93
+ "description": "v0.13.5: enum reconciled with the _meta.active_exploitation_vocabulary block (5 values). 'theoretical' added — distinct from 'suspected' because it captures the 'PoC exists but no observation in the wild' state without committing to a probability claim."
93
94
  },
94
95
  "affected": {
95
96
  "type": "string",
@@ -119,6 +119,11 @@
119
119
  "condition": { "type": "string", "examples": ["finding.severity == 'critical'", "theater_score < 60", "always"] }
120
120
  }
121
121
  }
122
+ },
123
+ "fed_by": {
124
+ "type": "array",
125
+ "description": "v0.13.0: reverse direction of feeds_into. Auto-populated by scripts/refresh-reverse-refs.js — operators reading this playbook see what chains INTO it without grepping every other playbook. Plain array of playbook ids; condition is recorded on the SOURCE playbook's feeds_into entry, not duplicated here.",
126
+ "items": { "type": "string" }
122
127
  }
123
128
  }
124
129
  },
@@ -325,6 +325,33 @@ function main() {
325
325
  const cveKeys = Object.keys(catalog).filter((k) => !k.startsWith('_'));
326
326
  const lessonKeys = new Set(Object.keys(lessons).filter((k) => !k.startsWith('_')));
327
327
 
328
+ // v0.13.5: cross-check that the schema's active_exploitation enum
329
+ // matches catalog._meta.active_exploitation_vocabulary.values. Pre-fix
330
+ // the two could drift independently (the v0.12.41 _meta block had 5
331
+ // values, the schema enum had 4 — operators reading the _meta vocab
332
+ // got a list that the validator wouldn't accept). v0.13.5 reconciled
333
+ // by adding "theoretical" to the schema; this cross-check refuses any
334
+ // future drift.
335
+ const schemaEnum = ((schema.properties || {}).active_exploitation || {}).enum;
336
+ const metaVocab = (catalog._meta && catalog._meta.active_exploitation_vocabulary && catalog._meta.active_exploitation_vocabulary.values) || null;
337
+ if (Array.isArray(schemaEnum) && Array.isArray(metaVocab)) {
338
+ const schemaSet = new Set(schemaEnum);
339
+ const metaSet = new Set(metaVocab);
340
+ const missingFromMeta = schemaEnum.filter((v) => !metaSet.has(v));
341
+ const missingFromSchema = metaVocab.filter((v) => !schemaSet.has(v));
342
+ if (missingFromMeta.length > 0 || missingFromSchema.length > 0) {
343
+ process.stderr.write(
344
+ `[validate-cve-catalog] FAIL: active_exploitation enum / _meta vocabulary mismatch.\n` +
345
+ ` Schema enum: ${JSON.stringify(schemaEnum)}\n` +
346
+ ` _meta vocab: ${JSON.stringify(metaVocab)}\n` +
347
+ (missingFromMeta.length ? ` Missing from _meta: ${JSON.stringify(missingFromMeta)}\n` : '') +
348
+ (missingFromSchema.length ? ` Missing from schema: ${JSON.stringify(missingFromSchema)}\n` : '') +
349
+ ` Reconcile by updating one or the other so they agree exactly.\n`,
350
+ );
351
+ process.exit(1);
352
+ }
353
+ }
354
+
328
355
  let failed = 0;
329
356
  let drafts = 0;
330
357
  let warned = 0;
package/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exceptd-security",
3
- "version": "0.13.3",
3
+ "version": "0.13.5",
4
4
  "description": "AI security skills grounded in mid-2026 threat reality, not stale framework documentation",
5
5
  "homepage": "https://exceptd.com",
6
6
  "license": "Apache-2.0",
@@ -52,8 +52,8 @@
52
52
  "RFC-7296"
53
53
  ],
54
54
  "last_threat_review": "2026-05-01",
55
- "signature": "ZS8UdA+c6vWovG2EsBP2X2xd43uSC33/LPq6SZtYEEQto4zuzLNH+pcL74oE2V5mie03r+5YdisQYtV5g+ANCQ==",
56
- "signed_at": "2026-05-18T03:03:42.897Z",
55
+ "signature": "lXhZgoIrrVloO3XaTvo/43AxZn4mwErstd7DR0O/oVhD3AOGODM4HqrageYEou9WKOdMEGP5mJNTjJsXdP5NDA==",
56
+ "signed_at": "2026-05-18T04:52:45.562Z",
57
57
  "cwe_refs": [
58
58
  "CWE-125",
59
59
  "CWE-362",
@@ -116,8 +116,8 @@
116
116
  "SOC2-CC6-logical-access"
117
117
  ],
118
118
  "last_threat_review": "2026-05-01",
119
- "signature": "l5PS3EMYS5+e4EBeYOaWTeKLcmeWDuqxRjDQFD4m7n1uRdCPziTEkHkEAVxSuBp1aKhbOvShTFpXXtTgZ0nhBg==",
120
- "signed_at": "2026-05-18T03:03:42.899Z",
119
+ "signature": "OI+pADcTrRHZB8UTq9G89cNPvvYf1A+4rR+oJGTCVGXWoxPY9+bKW7FqCPQBb+rnxde/gwBX0+vxN/Nn7XwgDA==",
120
+ "signed_at": "2026-05-18T04:52:45.564Z",
121
121
  "cwe_refs": [
122
122
  "CWE-1039",
123
123
  "CWE-1426",
@@ -179,8 +179,8 @@
179
179
  "RFC-9700"
180
180
  ],
181
181
  "last_threat_review": "2026-05-01",
182
- "signature": "KXUDBx+nPn+85iFh7+zMIllAdkjUWbhgXpaot5/yliZwKzVmFFPjQF/xZm8gdZLFkskyO5M0MS/MqjowPvAHBw==",
183
- "signed_at": "2026-05-18T03:03:42.899Z",
182
+ "signature": "fqnvFL75sJgJJV6LUt6qHld4PsMJiPB1r+M905mkr8mUkByE0pPZfK1voS/r/wh2O1+1j2zzo0OkAw0pCk37Aw==",
183
+ "signed_at": "2026-05-18T04:52:45.564Z",
184
184
  "cwe_refs": [
185
185
  "CWE-22",
186
186
  "CWE-345",
@@ -225,8 +225,8 @@
225
225
  "attack_refs": [],
226
226
  "framework_gaps": [],
227
227
  "last_threat_review": "2026-05-01",
228
- "signature": "Jn4HdauaKGzLGB4lmqgS7ntrrkKykfHrths/mlJegHgjoRsauVK/+S3VN82YxRcnTa1gOYd08hMUV7FnKRs6Cg==",
229
- "signed_at": "2026-05-18T03:03:42.900Z"
228
+ "signature": "g+vvEyHA4LllzMLuyY2Cc6h7hSWeQbfDqGx629Yb3/kQ8MsQW0moypnxUMA50KBetKMd0+WfnbC4H1DvxJtgAg==",
229
+ "signed_at": "2026-05-18T04:52:45.565Z"
230
230
  },
231
231
  {
232
232
  "name": "compliance-theater",
@@ -256,8 +256,8 @@
256
256
  "CMMC-2.0-Level-2"
257
257
  ],
258
258
  "last_threat_review": "2026-05-01",
259
- "signature": "byFyQfZFeQ9mhH4+DxNWyM2lBVDcZiEx+vDPSJpjmblb61T3KIK70PWb9KhUKO//9RBwnb7Bz9KbltruhaB3DA==",
260
- "signed_at": "2026-05-18T03:03:42.900Z"
259
+ "signature": "N7vMeWMdMutAAZ49QoPW7lMA1WRjnTRezh9oLBUfAgetZBcHHd14Rg9uqWTkCjilXxhw/fyQrWPjraD2IRg4AQ==",
260
+ "signed_at": "2026-05-18T04:52:45.565Z"
261
261
  },
262
262
  {
263
263
  "name": "exploit-scoring",
@@ -285,8 +285,8 @@
285
285
  "CIS-Controls-v8-Control7"
286
286
  ],
287
287
  "last_threat_review": "2026-05-01",
288
- "signature": "6nar8a3phaFK55Xpgw0XEBz3k4WrtRfW79JfKjgeKRc1FqljMaqmNxb3ftOCFy0CgMEu/lULuubGXFqp0DpcDA==",
289
- "signed_at": "2026-05-18T03:03:42.900Z"
288
+ "signature": "9DFiNgH4Nl21B90MjL5Z9eJ74Z8zR60n+EZ6RStCTe6YcLg7P5K8iiuQ4u6q0hxsVewKZmS60SqZL9UEpeGgCg==",
289
+ "signed_at": "2026-05-18T04:52:45.565Z"
290
290
  },
291
291
  {
292
292
  "name": "rag-pipeline-security",
@@ -322,8 +322,8 @@
322
322
  "OWASP-LLM-Top-10-2025-LLM08"
323
323
  ],
324
324
  "last_threat_review": "2026-05-01",
325
- "signature": "8BOfZgS2fm9KeEYZwwUc4JUSVxnLAgQ3UrViUcGlrA1NMcJz92mw7QGGhTx+PUn4yoPTGelxGz6MF5mEqpfDAQ==",
326
- "signed_at": "2026-05-18T03:03:42.901Z",
325
+ "signature": "AijYcd8FuFEDdcx+mzIHVpQ0uh5LpYDZ0rIgbudM6WIvsSDRkBmE65gI8uKgHYdGTEAQGLkamkLaTtdwcx0YAQ==",
326
+ "signed_at": "2026-05-18T04:52:45.566Z",
327
327
  "cwe_refs": [
328
328
  "CWE-1395",
329
329
  "CWE-1426"
@@ -379,8 +379,8 @@
379
379
  "RFC-9000"
380
380
  ],
381
381
  "last_threat_review": "2026-05-01",
382
- "signature": "o5CamxRHrwbM+R7lQzEoKxHBTFbo76C3Uf8/Qx3cbLlrXczvI6K9a1KfWIoOq/8UoTuQy7dB6lZge0H+94gbBw==",
383
- "signed_at": "2026-05-18T03:03:42.901Z",
382
+ "signature": "ba7EtmQAML+H+wn7UyH7yGnK30gT79SlxwO+jKCaSBzctOZ/OVex3wFVz/Yi9kPPPJ6Z5EEhBl6rWJrCr4uOBg==",
383
+ "signed_at": "2026-05-18T04:52:45.567Z",
384
384
  "d3fend_refs": [
385
385
  "D3-CA",
386
386
  "D3-CSPP",
@@ -414,8 +414,8 @@
414
414
  "attack_refs": [],
415
415
  "framework_gaps": [],
416
416
  "last_threat_review": "2026-05-01",
417
- "signature": "02UBMUa3Wox2vXhKVr+2m0Lq5+sY3azliVeAyNSM2p8tw7Fj/HzKQwsgBVAfTM+5yqDzaIMCmup9UAgn4FYbAw==",
418
- "signed_at": "2026-05-18T03:03:42.902Z",
417
+ "signature": "V7v4r2RzeD7ICZUABLfSQTEmSQUlWegiXoo1iGvnrmQtw/nquZNRPTa3QsKQD1i7IxEg7NmJhCX6NLEz4eV0Dg==",
418
+ "signed_at": "2026-05-18T04:52:45.567Z",
419
419
  "cwe_refs": [
420
420
  "CWE-1188"
421
421
  ]
@@ -442,8 +442,8 @@
442
442
  "attack_refs": [],
443
443
  "framework_gaps": [],
444
444
  "last_threat_review": "2026-05-01",
445
- "signature": "IVCHD1LCPV8l+kc7i0EuTFkI91l3X9bQnxb8esfs0oJ+C2tCADickTyzlwhpSDdv3icGya9rOk984vBXxLjtDA==",
446
- "signed_at": "2026-05-18T03:03:42.902Z"
445
+ "signature": "xjtEOaQiBjq7XBD7nCpU59egkLNgBDwfvY7GMxEe+wOyUM4GBMHK2O3khanVEaCgWfu1NNoTMPsDCejJ+D64Ag==",
446
+ "signed_at": "2026-05-18T04:52:45.567Z"
447
447
  },
448
448
  {
449
449
  "name": "global-grc",
@@ -474,8 +474,8 @@
474
474
  "attack_refs": [],
475
475
  "framework_gaps": [],
476
476
  "last_threat_review": "2026-05-01",
477
- "signature": "VcWZd1hN1fxw3BmLqcNP1giz9yiAQEDI928Y9ECOV1bPQvt/zZpONoLg4K7f13HyfoO192mssEcAOTQgnGxQDA==",
478
- "signed_at": "2026-05-18T03:03:42.902Z"
477
+ "signature": "oYsSk35N2Uzq7MRofACykylcVwkgPhI4luWZ14vmQT+gUKLyZiKVOUJbe1+7lGl6BYPRN0sUDQ0f7S5Eu5w2Ag==",
478
+ "signed_at": "2026-05-18T04:52:45.568Z"
479
479
  },
480
480
  {
481
481
  "name": "zeroday-gap-learn",
@@ -501,8 +501,8 @@
501
501
  "attack_refs": [],
502
502
  "framework_gaps": [],
503
503
  "last_threat_review": "2026-05-01",
504
- "signature": "LOg96wT5l+hjplhMcO/pwZKvQCsTXbjjXVSGBnt6I++8yx9Y/yqqewXNoM2SiqBK20WtXlcR/pPheWBCv++fDQ==",
505
- "signed_at": "2026-05-18T03:03:42.903Z"
504
+ "signature": "01faIrHr8xeZU0USNoWiDQBUqu/yu7KHskZdi48q5eg811Tu6YwCopHezIoeuPabaH46M8Qve8ll/7qGpFGEBA==",
505
+ "signed_at": "2026-05-18T04:52:45.568Z"
506
506
  },
507
507
  {
508
508
  "name": "pqc-first",
@@ -553,8 +553,8 @@
553
553
  "CRQC timeline estimate changes"
554
554
  ],
555
555
  "last_threat_review": "2026-05-01",
556
- "signature": "BoFVxwiopgnmDY8AJ0j5KzRkwQQOzdizisTsZOLHBE2BUixr/B6FV8S3AIN3rvS9YixL48rbt8rdAz0j0HDCAw==",
557
- "signed_at": "2026-05-18T03:03:42.903Z",
556
+ "signature": "vhc3wuQEro/86s1ro2b/KakUXg8QVnySYTBqA7ebzv9oeR2HYO5bvGEJp3oOHWtL37JDqcCAHYadSN/qxIyCCA==",
557
+ "signed_at": "2026-05-18T04:52:45.568Z",
558
558
  "cwe_refs": [
559
559
  "CWE-327"
560
560
  ],
@@ -600,8 +600,8 @@
600
600
  "Framework publication updates"
601
601
  ],
602
602
  "last_threat_review": "2026-05-01",
603
- "signature": "LvwHc4LPAo3u1D94umZ6AFr6IaEkAMqAVJVoq4oiIKwT0qdOSfYRcACp+5AU18S5hIwiM0QgMiSnTwtPOUmyCw==",
604
- "signed_at": "2026-05-18T03:03:42.903Z"
603
+ "signature": "8P1I6i7N0sFHloR/hY4NIWictk5Irrze4xPjVQEH5BtBrS2OCCq/YzCpUuS+XexhWiIpyLo2CA1ecbllnWlNBQ==",
604
+ "signed_at": "2026-05-18T04:52:45.569Z"
605
605
  },
606
606
  {
607
607
  "name": "security-maturity-tiers",
@@ -637,8 +637,8 @@
637
637
  "PQC tooling maturity shifting overkill to practical"
638
638
  ],
639
639
  "last_threat_review": "2026-05-01",
640
- "signature": "nZNIznYPxcs2mAjruwejfH2HrlW0SVDQ2Q2Ethh35uJBZkK7twgCDSJKVPbvR5ftaVdslDrq5o6Xhcwf7rWJDw==",
641
- "signed_at": "2026-05-18T03:03:42.904Z",
640
+ "signature": "SdTtvkaxdgcHkm8ph7YX+2VMihw2iBMy434JGf5TxCFQq1AfNsQcowK+7FPDquEM47a1KTvS3ytxaJxpHuOqDw==",
641
+ "signed_at": "2026-05-18T04:52:45.569Z",
642
642
  "cwe_refs": [
643
643
  "CWE-1188"
644
644
  ]
@@ -672,8 +672,8 @@
672
672
  "attack_refs": [],
673
673
  "framework_gaps": [],
674
674
  "last_threat_review": "2026-05-11",
675
- "signature": "49BxLraoRRpTRaZV7maw4/e8TOZzRNZgfM1wPuG8elb6dpG98LooRqV1WDLuKAP/7ShqicjNTpr1wyBGTFJ7CQ==",
676
- "signed_at": "2026-05-18T03:03:42.904Z"
675
+ "signature": "WAu5fRirzSOcnnZsTx2d/JJZwa/LPpXCi+31qATTGLmoNuhyy81k3ooPe9kCM3E0CLMtvTePg9DagYqBninZDQ==",
676
+ "signed_at": "2026-05-18T04:52:45.569Z"
677
677
  },
678
678
  {
679
679
  "name": "attack-surface-pentest",
@@ -743,8 +743,8 @@
743
743
  "OWASP WSTG v5.x AI/MCP test cases (currently in working-group draft)",
744
744
  "PTES revision incorporating AI-surface enumeration"
745
745
  ],
746
- "signature": "/p8RImZYTSneXWjgwqMbuJN4XKROGWxzVzz3fwldev/qEhUZi3ptW/nZ/OZF0hgrO/04Xbm9p5fHzOshNYCODQ==",
747
- "signed_at": "2026-05-18T03:03:42.904Z"
746
+ "signature": "pKVlOkHybXjj5Llpm4VQtz+b/qTxE2vWsoDx/aie5z0rA2qWMmNNiWZl+b8/oO4Ghu2TIOdy/+cX4YlTrIg7DA==",
747
+ "signed_at": "2026-05-18T04:52:45.569Z"
748
748
  },
749
749
  {
750
750
  "name": "fuzz-testing-strategy",
@@ -803,8 +803,8 @@
803
803
  "syzkaller eBPF and io_uring surface expansion as new kernel attack surfaces ship",
804
804
  "OSS-Fuzz-Gen / AI-assisted harness generation becoming the default expectation for OSS maintainers"
805
805
  ],
806
- "signature": "mMZmXMzXPTZHmfK/j8jd32U1wio5NoGHosJ8yy2aYY8mHCVOS1zhKYvCXSzfAe9GAjeJf+zNZCe239tWDBnNBQ==",
807
- "signed_at": "2026-05-18T03:03:42.904Z"
806
+ "signature": "uf8JFFve9Q7QXdyO8yc11SBFndVGEKQkMKTSZEJSCzj33HRvMGhV184JSpHUy5Vce284HUcVC1R73aOjbc0iBg==",
807
+ "signed_at": "2026-05-18T04:52:45.570Z"
808
808
  },
809
809
  {
810
810
  "name": "dlp-gap-analysis",
@@ -878,8 +878,8 @@
878
878
  "MCP gateway / proxy standardisation (Anthropic enterprise MCP gateway, Portkey MCP) — tool-call argument inspection is the missing primary control",
879
879
  "Quebec Law 25, India DPDPA, KSA PDPL enforcement actions naming AI-tool prompt data as in-scope personal information"
880
880
  ],
881
- "signature": "lXBKwsA1ouEI8CLFW9AQMwTaR2HTtz/tZC3qEs13XL8IOBpl6OwZj6GkDCWuT1SK4enOgpmKHypaNGJ/vtGQBg==",
882
- "signed_at": "2026-05-18T03:03:42.905Z"
881
+ "signature": "y6N/9z4AwGPfhcNWVk1zEVSMBpn+3YTmIaIXAin4Q9yREAupKDey3ch9s+Y2LjFSS/SLLzh4H/Y8rDs2bKxFCg==",
882
+ "signed_at": "2026-05-18T04:52:45.570Z"
883
883
  },
884
884
  {
885
885
  "name": "supply-chain-integrity",
@@ -955,8 +955,8 @@
955
955
  "EU CRA (Regulation 2024/2847) — implementing acts for technical documentation and SBOM submission expected through 2027",
956
956
  "OpenSSF model-signing — emerging Sigstore-based signing standard for ML model weights; track for production adoption"
957
957
  ],
958
- "signature": "6r0zv9/tNfZd/NKSc8z1+4p/6R80EwbelY+mr5zLrwEc/ViD0E8G9SbE2dLuWg4V0EoIMLrWJ/b9RQGSaOYvBQ==",
959
- "signed_at": "2026-05-18T03:03:42.905Z"
958
+ "signature": "c3OewLIMenKMWba5eKOwfa1OD8pp6tU9o+xFC/KbIcIPUhtZAO+R5/uoOhZXiwhjmg2GzHU2f8ROpBP3p0dxBA==",
959
+ "signed_at": "2026-05-18T04:52:45.571Z"
960
960
  },
961
961
  {
962
962
  "name": "defensive-countermeasure-mapping",
@@ -1012,8 +1012,8 @@
1012
1012
  "D3-SCP"
1013
1013
  ],
1014
1014
  "last_threat_review": "2026-05-11",
1015
- "signature": "dNw1zQ61gvG7y0WlF7n4heuMgDBfe59Yr2Kr/HfOb9jkc5grPipDXEeGko0xcJuZ3WVeu/OjRnPVDJkorBIHAg==",
1016
- "signed_at": "2026-05-18T03:03:42.905Z"
1015
+ "signature": "gqF8eU3VBrZhO2WnlcqKa7wm1d2mmWtvpbmx0kNCgHojNV+qEt+Ij84RO6bZvaUqhfYPWizWL79Fa4DL0curAQ==",
1016
+ "signed_at": "2026-05-18T04:52:45.571Z"
1017
1017
  },
1018
1018
  {
1019
1019
  "name": "identity-assurance",
@@ -1079,8 +1079,8 @@
1079
1079
  ],
1080
1080
  "d3fend_refs": [],
1081
1081
  "last_threat_review": "2026-05-11",
1082
- "signature": "zx3uucOcICwlEUJytEMnHsfqTpOSK+Zsv4/Z3hX6AUtUvh5Bi6pgAQYkX45Y6fk5K+QEGR5Vkiecv/9R+UakCw==",
1083
- "signed_at": "2026-05-18T03:03:42.906Z"
1082
+ "signature": "Wv5hGMeHjlaQK1zwicVCA7AvdKgJBgvcjdpGM9Ywahh9tagAKhbkOjybowDQZzu7OZ3bDkbh6pBYc1Sdwr6NAA==",
1083
+ "signed_at": "2026-05-18T04:52:45.571Z"
1084
1084
  },
1085
1085
  {
1086
1086
  "name": "ot-ics-security",
@@ -1135,8 +1135,8 @@
1135
1135
  ],
1136
1136
  "d3fend_refs": [],
1137
1137
  "last_threat_review": "2026-05-11",
1138
- "signature": "Lsn7F3sOedjUvUH7/EmGFVUrhpwW6Bkx/EtTCEU69EPHFV6kMCMlqFyRuHKV8vjZpp1x6o2RZgD0oW54T2ufCw==",
1139
- "signed_at": "2026-05-18T03:03:42.906Z"
1138
+ "signature": "2Z8iAEf+dzdBpE6InLL6hHT7aGUNHJOlgyddDsdNb+xxjC2TJz+sXIRsHHhpaPuFMVf38VJSD5SqL1cwB+5lDw==",
1139
+ "signed_at": "2026-05-18T04:52:45.572Z"
1140
1140
  },
1141
1141
  {
1142
1142
  "name": "coordinated-vuln-disclosure",
@@ -1187,8 +1187,8 @@
1187
1187
  "UK NCSC Vulnerability Disclosure Toolkit revisions and AU ISM CVD guidance updates",
1188
1188
  "NYDFS 23 NYCRR 500 amendments potentially adding explicit CVD program requirements"
1189
1189
  ],
1190
- "signature": "f1w8AOT3bw+IeaAkg+vubUf7+Gx+/zTuQyIKOxQTbF9m1HGIE/SJQlWZST9ALtlH1BN4gJK5WPRmloX6LzQYBw==",
1191
- "signed_at": "2026-05-18T03:03:42.906Z"
1190
+ "signature": "TITt0dI7T6nifFEdiOaGSDzIdrpjBCtuwyNcQdZm4P/nm1yLPI2+7T3SXWNeCTfZuMGiBBhuGETuawH21lBBBA==",
1191
+ "signed_at": "2026-05-18T04:52:45.572Z"
1192
1192
  },
1193
1193
  {
1194
1194
  "name": "threat-modeling-methodology",
@@ -1237,8 +1237,8 @@
1237
1237
  "LINDDUN-GO and LINDDUN-PRO updates incorporating LLM privacy threats",
1238
1238
  "PASTA v2 updates incorporating AI/ML application threats"
1239
1239
  ],
1240
- "signature": "nA1GtYV23HnOWNtsSp4kLsIMyszAWdLntkgcT7hwVddHybgTKb/Scj+WyVv7vfM6l9n2+2rk3GgptZKaRF/aBg==",
1241
- "signed_at": "2026-05-18T03:03:42.907Z"
1240
+ "signature": "0c5JzFhjzSU+Em8pWkez62TtAs2ePLnY0Na/dz9CxkU5A7U0s4B7bynpXuz8DxsQZd75/o4BkaYQegp7d/ktBw==",
1241
+ "signed_at": "2026-05-18T04:52:45.572Z"
1242
1242
  },
1243
1243
  {
1244
1244
  "name": "webapp-security",
@@ -1311,8 +1311,8 @@
1311
1311
  ],
1312
1312
  "d3fend_refs": [],
1313
1313
  "last_threat_review": "2026-05-11",
1314
- "signature": "oEBU+4xdW24VOlpsD+Gi8hMDDZK/Z4S8dWqnNRioth7rNwll42LWvfUyrgrxi5U0ucZtLHLRZGJHcMPkPC5bDQ==",
1315
- "signed_at": "2026-05-18T03:03:42.907Z"
1314
+ "signature": "vIm/lDjC/bx7tHXWWEK2foOmiqdr7UuUuWPo75h6yV9ZteEF6kzNpWPbQ1KRThUm+2/XOBT+iwJ5Ecf2WDpDAQ==",
1315
+ "signed_at": "2026-05-18T04:52:45.573Z"
1316
1316
  },
1317
1317
  {
1318
1318
  "name": "ai-risk-management",
@@ -1361,8 +1361,8 @@
1361
1361
  ],
1362
1362
  "d3fend_refs": [],
1363
1363
  "last_threat_review": "2026-05-11",
1364
- "signature": "AqZYnDlvr5EUu/WVFa0ffW77/QYSF7JDzi8jV/+7EynQ7vFPnJbaQQ93aVw91mXQHF5DEqRgeLb30yr++KcVBg==",
1365
- "signed_at": "2026-05-18T03:03:42.907Z"
1364
+ "signature": "IIXnkZ5ZNqFwOto5KfytADTLLZLoyXNZACD1ORZ40P1HUAQxe6u2uyXFzzsfuob4Uy06jNkRGr2FFgCphUH1Cw==",
1365
+ "signed_at": "2026-05-18T04:52:45.573Z"
1366
1366
  },
1367
1367
  {
1368
1368
  "name": "sector-healthcare",
@@ -1421,8 +1421,8 @@
1421
1421
  ],
1422
1422
  "d3fend_refs": [],
1423
1423
  "last_threat_review": "2026-05-11",
1424
- "signature": "53kKCGnBk6b88Q0Mf34CkowBH1osOYTpUf0wkMK70CAOCna2qYaBTTnYVHamV2+DsE6IC9W+JIzmPWcl3jC5BA==",
1425
- "signed_at": "2026-05-18T03:03:42.908Z"
1424
+ "signature": "2JPsumXuTOrUhEGcfb03Q69zcW1hw+MTlNoycZ7RSNCHDw7jKaDlEfYmg0Px/aJp2hIt9qDGFq+cpYdfL+tfAQ==",
1425
+ "signed_at": "2026-05-18T04:52:45.573Z"
1426
1426
  },
1427
1427
  {
1428
1428
  "name": "sector-financial",
@@ -1502,8 +1502,8 @@
1502
1502
  "OSFI B-13 (Technology and Cyber Risk Management) post-2024 examination findings",
1503
1503
  "TIBER-EU framework v2.0 alignment with DORA TLPT RTS (JC 2024/40); cross-recognition with CBEST and iCAST"
1504
1504
  ],
1505
- "signature": "64PrvGD26sxvxzfmMBsCGpocascDDurGSNMJrdJJ5IS4rj5aXS6oQCBw0pDDasJvwaQdkrOiQ/RoEQoEQnRkDg==",
1506
- "signed_at": "2026-05-18T03:03:42.908Z"
1505
+ "signature": "xz0p47mECulSsdRdioeqi6K7KEnyXd+SWNtFra8JQh7g88CV9ycQeSPTTjiNpWaPreDAmYhRM83jupC7EEdUAg==",
1506
+ "signed_at": "2026-05-18T04:52:45.574Z"
1507
1507
  },
1508
1508
  {
1509
1509
  "name": "sector-federal-government",
@@ -1571,8 +1571,8 @@
1571
1571
  "EU Cybersecurity Certification Scheme on Common Criteria (EUCC) operational — first certificates issued 2024; high-assurance level for government use cases ramping",
1572
1572
  "Australia PSPF 2024 revision and ISM quarterly updates — track for Essential Eight Maturity Level requirements for federal entities"
1573
1573
  ],
1574
- "signature": "6BEcpzMRaY7yuQvZuz/Y52xq3EO690jZq8q0ABBT8ujCuBBmBGqAz4Ml1F6hlMVCZ3Jjl2AFHP5tnNNRmkD3Dg==",
1575
- "signed_at": "2026-05-18T03:03:42.909Z"
1574
+ "signature": "PebiIg9j8Lm8yF8wIH2w7Pj75B5NaqQYcRZJ16RtKHC37tEG6THbo714JOaek45ifTMBhzNPwZ6Cy32ae4VdAQ==",
1575
+ "signed_at": "2026-05-18T04:52:45.574Z"
1576
1576
  },
1577
1577
  {
1578
1578
  "name": "sector-energy",
@@ -1636,8 +1636,8 @@
1636
1636
  "MadIoT-class research on consumer-IoT-driven grid frequency manipulation moving from proof-of-concept to attributed campaigns",
1637
1637
  "ICS-CERT advisory feed (https://www.cisa.gov/news-events/cybersecurity-advisories/ics-advisories) for vendor CVEs in Siemens, Rockwell, Schneider Electric, ABB, GE Vernova, Hitachi Energy, AVEVA / OSIsoft PI"
1638
1638
  ],
1639
- "signature": "RhKFw5oVfDljrAe7bzY9d/IfmF3oyT85WVaqpHAHbNcrWpxNrX1sIE4+Sf4Uj3njI8/2fMgk4HN3oZv9aA6nCQ==",
1640
- "signed_at": "2026-05-18T03:03:42.909Z"
1639
+ "signature": "4KOVUlWWuhOWIV8ilCEOOuKV/s9CbIvNo4crB1oSf+G5KQ8KkUHxEn6KzEJX/NAwk5bOA1k58XykXvUun2YJDQ==",
1640
+ "signed_at": "2026-05-18T04:52:45.575Z"
1641
1641
  },
1642
1642
  {
1643
1643
  "name": "sector-telecom",
@@ -1723,7 +1723,7 @@
1723
1723
  "O-RAN SFG / WG11 security specifications"
1724
1724
  ],
1725
1725
  "signature": "JWVxKFoKrbX4d+Tko1d4OBdwyg25MfFFKn4CT6E/CzH+YwnU3T6Y76uBQIKg3+gIGTvPduqyvQwQQ5FxKDuPBw==",
1726
- "signed_at": "2026-05-18T03:03:42.909Z"
1726
+ "signed_at": "2026-05-18T04:52:45.575Z"
1727
1727
  },
1728
1728
  {
1729
1729
  "name": "api-security",
@@ -1791,8 +1791,8 @@
1791
1791
  ],
1792
1792
  "d3fend_refs": [],
1793
1793
  "last_threat_review": "2026-05-11",
1794
- "signature": "8u34Sx9A6z7jpB4KVwxMPF8u3DV6NNnvcn5iGBREKRxYcOrTFjk1eRYI7wX/UU9XeLSstsmhgFsWKbogC2sLDg==",
1795
- "signed_at": "2026-05-18T03:03:42.910Z"
1794
+ "signature": "LgEIz6dmHxnlV3ay8BxqH7nXt+lWB8AsWcf5fPI40uuljs8+/dWNb4dCuB5s4SWRPX/64LoAXMOyzBvlt7QNCw==",
1795
+ "signed_at": "2026-05-18T04:52:45.575Z"
1796
1796
  },
1797
1797
  {
1798
1798
  "name": "cloud-security",
@@ -1872,8 +1872,8 @@
1872
1872
  "eBPF-based runtime detection coverage of confidential-computing enclaves (AWS Nitro Enclaves, Azure Confidential VMs, GCP Confidential Space) — partial visibility is a tracked detection gap",
1873
1873
  "CISA KEV additions for cloud-control-plane CVEs (IMDSv1 abuses, federation token mishandling, cross-tenant boundary failures); CISA Cybersecurity Advisories for cross-cloud advisories"
1874
1874
  ],
1875
- "signature": "9eHXut2agJm6+Z7r6zRD8Rbokj1yTeSeFh9BIoZCE9KrntlnAVU0Y0jl+JRBHOptWh4z04bOW1eAhy0vjl+lAQ==",
1876
- "signed_at": "2026-05-18T03:03:42.910Z"
1875
+ "signature": "fu8QqobbuyqDqmuo3iAigJmH2wUzS5AbMNNB7BrY8qAQ2KGHmrVIn4p53vUjF58bEzo6W2qAIldHla5p1sQCDw==",
1876
+ "signed_at": "2026-05-18T04:52:45.576Z"
1877
1877
  },
1878
1878
  {
1879
1879
  "name": "container-runtime-security",
@@ -1934,8 +1934,8 @@
1934
1934
  ],
1935
1935
  "d3fend_refs": [],
1936
1936
  "last_threat_review": "2026-05-11",
1937
- "signature": "gTi2joMM9bqqXQ+R7oqL0MUtz1sOettl0mOXrQS5jTnZ9TDwrg3E/PbuanQjPDC8aLRFRgPdi/EN2Rtp5Zj+Dg==",
1938
- "signed_at": "2026-05-18T03:03:42.910Z"
1937
+ "signature": "Z9KNlVRL9UWtObXDr3FmfdG+bBQGaUKEAv8WbZPRhwQUafx1mNp/h7CLsASeOQmGime00XN7fbO25oA18vYVAA==",
1938
+ "signed_at": "2026-05-18T04:52:45.576Z"
1939
1939
  },
1940
1940
  {
1941
1941
  "name": "mlops-security",
@@ -2005,8 +2005,8 @@
2005
2005
  "EU AI Act high-risk technical-file implementing acts (2026-2027) — operational requirements for Article 10 / 13 / 15 documentation may pin ML-BOM or model-signing",
2006
2006
  "MITRE ATLAS v5.4.0 (released February 2026) shipped the AML.T0010 sub-technique expansion this forecast tracked plus new techniques (\"Publish Poisoned AI Agent Tool\", \"Escape to Host\"); inventory now 16 tactics, 84 techniques, 56 sub-techniques. Forward watch: ATLAS v5.5 / v6.0 — track next-cadence updates to agentic-AI TTPs and MLOps-pipeline-specific techniques"
2007
2007
  ],
2008
- "signature": "ZNk3SKNnmFy8DHYJd0PMGWg9Aj8yOyh96p6rNdYllojEIO5G+Lj6fdCPOOopAEu4ta3pO9+EAfYuw3QUbpfVAg==",
2009
- "signed_at": "2026-05-18T03:03:42.911Z"
2008
+ "signature": "2xuFDRLVjmzsbuipOc0HlUCjQ9B5lbB3L2fh5sPD9l0KqHmV1w1MuU9293ODxdTtqhSEJKkA5ghlbr8esFnlBw==",
2009
+ "signed_at": "2026-05-18T04:52:45.576Z"
2010
2010
  },
2011
2011
  {
2012
2012
  "name": "incident-response-playbook",
@@ -2068,7 +2068,7 @@
2068
2068
  "NYDFS 23 NYCRR 500.17 amendments tightening ransom-payment 24h disclosure operationalization"
2069
2069
  ],
2070
2070
  "signature": "6/9Ehyx49Rr/o5Tp9oQ3cfHa2WhKYtLXJp0akoDbRC1RSCxZVbkKaW7/5/IkdgCQMiJivI/Q0g0Bq/5q/UUZAA==",
2071
- "signed_at": "2026-05-18T03:03:42.911Z"
2071
+ "signed_at": "2026-05-18T04:52:45.577Z"
2072
2072
  },
2073
2073
  {
2074
2074
  "name": "ransomware-response",
@@ -2148,7 +2148,7 @@
2148
2148
  ],
2149
2149
  "last_threat_review": "2026-05-15",
2150
2150
  "signature": "+5FiwJFRq08x2oXejTO1Nw6Cd+EzOcrwAG2xNrngJ8vHPDXqFgGAjTAJuXrNl7QblTfSLQ+xvoAziBly56/eDg==",
2151
- "signed_at": "2026-05-18T03:03:42.911Z"
2151
+ "signed_at": "2026-05-18T04:52:45.577Z"
2152
2152
  },
2153
2153
  {
2154
2154
  "name": "email-security-anti-phishing",
@@ -2201,7 +2201,7 @@
2201
2201
  "d3fend_refs": [],
2202
2202
  "last_threat_review": "2026-05-11",
2203
2203
  "signature": "rK+WnuS+9tqEABmwc0jO/PEmxcLjG1/tmUb897HsClQeKzf+TQOlwBE+OsbtuKxpjYNwur62Xxs3TxObkwm8Cw==",
2204
- "signed_at": "2026-05-18T03:03:42.912Z"
2204
+ "signed_at": "2026-05-18T04:52:45.577Z"
2205
2205
  },
2206
2206
  {
2207
2207
  "name": "age-gates-child-safety",
@@ -2268,8 +2268,8 @@
2268
2268
  "France SREN (Securing and Regulating the Digital Space) Act 2024 — ARCOM age-verification referential for adult content services; double-anonymity model under deployment",
2269
2269
  "US state adult-site age-verification laws — 19+ states by mid-2026 (TX HB 18 upheld by SCOTUS June 2025 in Free Speech Coalition v. Paxton); track ongoing challenges in remaining states"
2270
2270
  ],
2271
- "signature": "OaxxkpowZXLeaBKUr3iNbGSEE2zyCYZ32cHLOumEOmBwLYN8LMsqqPUmM32XxVBOeopCbMM7ayZRF7geRQHhAg==",
2272
- "signed_at": "2026-05-18T03:03:42.912Z"
2271
+ "signature": "5BXLeR3lzvdRs2nSzN/rOE17ur2sMa44gQvY8+OWvazm5Vh6lNAaDDDoExB2/hlg6k7v1KIKwA1MPAKj6qB/CQ==",
2272
+ "signed_at": "2026-05-18T04:52:45.578Z"
2273
2273
  },
2274
2274
  {
2275
2275
  "name": "cloud-iam-incident",
@@ -2349,7 +2349,7 @@
2349
2349
  ],
2350
2350
  "last_threat_review": "2026-05-15",
2351
2351
  "signature": "e/kij7GtKaytROyIj7V5RH+FC9WtmVFzrmG2kIlNDNn29ep/CRNlIQKwXLpzo/81AIf634pmdr1qy/+vwIuUDA==",
2352
- "signed_at": "2026-05-18T03:03:42.912Z"
2352
+ "signed_at": "2026-05-18T04:52:45.578Z"
2353
2353
  },
2354
2354
  {
2355
2355
  "name": "idp-incident-response",
@@ -2430,11 +2430,11 @@
2430
2430
  ],
2431
2431
  "last_threat_review": "2026-05-15",
2432
2432
  "signature": "ew9Kglc9fAZzbn0ZIfGP7WSK/j4eV2VhSvpy+s5bEfNEVYIMa2kZjnGBapgUsyGDLes9H9K2ovjQyX17+GKiBw==",
2433
- "signed_at": "2026-05-18T03:03:42.913Z"
2433
+ "signed_at": "2026-05-18T04:52:45.578Z"
2434
2434
  }
2435
2435
  ],
2436
2436
  "manifest_signature": {
2437
2437
  "algorithm": "Ed25519",
2438
- "signature_base64": "m/guw9FcxUf1OgSdM00b9uuZLyGlUUYfiNUzoVwh8JQz+a7VMnLUntdDP4bt2nxV8kyvfJEO6pny1er5B9JHBw=="
2438
+ "signature_base64": "n5tSvRRTaxwFhKxj5kgeJLFYdLOf0PEsnhKZCtAP6wKL1FcM9cyFg3LLfxbcg1vPqOIuwJ7LOKXCfuBXjVqBAg=="
2439
2439
  }
2440
2440
  }