From 62adc24770c7b4c9ccca4d7473a96145334916b9 Mon Sep 17 00:00:00 2001 From: hao Date: Wed, 18 Mar 2026 11:00:06 -0700 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0:=2011=20=E4=B8=AA=E6=96=87?= =?UTF-8?q?=E4=BB=B6=20-=202026-03-18=2011:00:06?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generated/dashboard/advisories.json | 3385 +++++++++++++- .../generated/dashboard/architecture.json | 28 +- .../dashboard/data/completeness.json | 165 +- .../dashboard/docs/architecture-library.html | 28 +- .../docs/testing-completeness-report.html | 10 +- 08-threat-intel/generated/dashboard/runs.json | 4033 ++++++++++++++++- .../generated/dashboard/summary.json | 165 +- .../generated/dashboard/systems.json | 149 +- .../generated/source-catalog-audit.json | 2 +- .../generated/source-catalog-audit.md | 2 +- docs/testing-completeness-report.md | 10 +- 11 files changed, 7840 insertions(+), 137 deletions(-) diff --git a/08-threat-intel/generated/dashboard/advisories.json b/08-threat-intel/generated/dashboard/advisories.json index 0967ef42..f684edcc 100644 --- a/08-threat-intel/generated/dashboard/advisories.json +++ b/08-threat-intel/generated/dashboard/advisories.json @@ -1 +1,3384 @@ -{} +{ + "vite--CVE-2025-62522": { + "canonical_id": "vite--CVE-2025-62522", + "title": "vite--CVE-2025-62522", + "summary": "Derived from latest run vite-vite--CVE-2025-62522-20260318040559", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:05:59+00:00", + "updated_at": "2026-03-18T04:06:05+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/proof-page.json" + ] + } + }, + "vite--CVE-2025-58752": { + "canonical_id": "vite--CVE-2025-58752", + "title": "vite--CVE-2025-58752", + "summary": "Derived from latest run vite-vite--CVE-2025-58752-20260318040552", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:05:52+00:00", + "updated_at": "2026-03-18T04:05:59+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/proof-page.json" + ] + } + }, + "vite--CVE-2025-58751": { + "canonical_id": "vite--CVE-2025-58751", + "title": "vite--CVE-2025-58751", + "summary": "Derived from latest run vite-vite--CVE-2025-58751-20260318040545", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:05:45+00:00", + "updated_at": "2026-03-18T04:05:52+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/proof-page.json" + ] + } + }, + "vite--CVE-2025-46565": { + "canonical_id": "vite--CVE-2025-46565", + "title": "vite--CVE-2025-46565", + "summary": "Derived from latest run vite-vite--CVE-2025-46565-20260318040538", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:05:38+00:00", + "updated_at": "2026-03-18T04:05:45+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/proof-page.json" + ] + } + }, + "vite--CVE-2025-32395": { + "canonical_id": "vite--CVE-2025-32395", + "title": "vite--CVE-2025-32395", + "summary": "Derived from latest run vite-vite--CVE-2025-32395-20260318040532", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:05:32+00:00", + "updated_at": "2026-03-18T04:05:38+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/proof-page.json" + ] + } + }, + "vite--CVE-2025-31486": { + "canonical_id": "vite--CVE-2025-31486", + "title": "vite--CVE-2025-31486", + "summary": "Derived from latest run vite-vite--CVE-2025-31486-20260318040525", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:05:25+00:00", + "updated_at": "2026-03-18T04:05:32+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/proof-page.json" + ] + } + }, + "vite--CVE-2025-31125": { + "canonical_id": "vite--CVE-2025-31125", + "title": "vite--CVE-2025-31125", + "summary": "Derived from latest run vite-vite--CVE-2025-31125-20260318040518", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:05:18+00:00", + "updated_at": "2026-03-18T04:05:25+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/proof-page.json" + ] + } + }, + "vite--CVE-2025-30208": { + "canonical_id": "vite--CVE-2025-30208", + "title": "vite--CVE-2025-30208", + "summary": "Derived from latest run vite-vite--CVE-2025-30208-20260318040511", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:05:11+00:00", + "updated_at": "2026-03-18T04:05:18+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/proof-page.json" + ] + } + }, + "vite--CVE-2025-24010": { + "canonical_id": "vite--CVE-2025-24010", + "title": "vite--CVE-2025-24010", + "summary": "Derived from latest run vite-vite--CVE-2025-24010-20260318040505", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:05:05+00:00", + "updated_at": "2026-03-18T04:05:11+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/proof-page.json" + ] + } + }, + "vite--CVE-2024-45812": { + "canonical_id": "vite--CVE-2024-45812", + "title": "vite--CVE-2024-45812", + "summary": "Derived from latest run vite-vite--CVE-2024-45812-20260318040458", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:04:58+00:00", + "updated_at": "2026-03-18T04:05:05+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/proof-page.json" + ] + } + }, + "vite--CVE-2024-45811": { + "canonical_id": "vite--CVE-2024-45811", + "title": "vite--CVE-2024-45811", + "summary": "Derived from latest run vite-vite--CVE-2024-45811-20260318040452", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:04:52+00:00", + "updated_at": "2026-03-18T04:04:58+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/proof-page.json" + ] + } + }, + "vite--CVE-2024-23331": { + "canonical_id": "vite--CVE-2024-23331", + "title": "vite--CVE-2024-23331", + "summary": "Derived from latest run vite-vite--CVE-2024-23331-20260318040445", + "display_name": "Vite", + "system_id": "vite", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:04:45+00:00", + "updated_at": "2026-03-18T04:04:52+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "dependency-upgrade-policy", + "file-upload-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/proof-page.json" + ] + } + }, + "undici--CVE-2026-2581": { + "canonical_id": "undici--CVE-2026-2581", + "title": "undici--CVE-2026-2581", + "summary": "Derived from latest run undici-undici--CVE-2026-2581-20260318040332", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:03:32+00:00", + "updated_at": "2026-03-18T04:03:36+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2026-2229": { + "canonical_id": "undici--CVE-2026-2229", + "title": "undici--CVE-2026-2229", + "summary": "Derived from latest run undici-undici--CVE-2026-2229-20260318040328", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:03:28+00:00", + "updated_at": "2026-03-18T04:03:32+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2026-22036": { + "canonical_id": "undici--CVE-2026-22036", + "title": "undici--CVE-2026-22036", + "summary": "Derived from latest run undici-undici--CVE-2026-22036-20260318040323", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:03:23+00:00", + "updated_at": "2026-03-18T04:03:27+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2026-1528": { + "canonical_id": "undici--CVE-2026-1528", + "title": "undici--CVE-2026-1528", + "summary": "Derived from latest run undici-undici--CVE-2026-1528-20260318040318", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:03:18+00:00", + "updated_at": "2026-03-18T04:03:23+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2026-1527": { + "canonical_id": "undici--CVE-2026-1527", + "title": "undici--CVE-2026-1527", + "summary": "Derived from latest run undici-undici--CVE-2026-1527-20260318040314", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:03:14+00:00", + "updated_at": "2026-03-18T04:03:18+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2026-1526": { + "canonical_id": "undici--CVE-2026-1526", + "title": "undici--CVE-2026-1526", + "summary": "Derived from latest run undici-undici--CVE-2026-1526-20260318040309", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:03:09+00:00", + "updated_at": "2026-03-18T04:03:14+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2026-1525": { + "canonical_id": "undici--CVE-2026-1525", + "title": "undici--CVE-2026-1525", + "summary": "Derived from latest run undici-undici--CVE-2026-1525-20260318040304", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:03:04+00:00", + "updated_at": "2026-03-18T04:03:09+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2025-47279": { + "canonical_id": "undici--CVE-2025-47279", + "title": "undici--CVE-2025-47279", + "summary": "Derived from latest run undici-undici--CVE-2025-47279-20260318040300", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:03:00+00:00", + "updated_at": "2026-03-18T04:03:04+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2025-22150": { + "canonical_id": "undici--CVE-2025-22150", + "title": "undici--CVE-2025-22150", + "summary": "Derived from latest run undici-undici--CVE-2025-22150-20260318040256", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:02:56+00:00", + "updated_at": "2026-03-18T04:03:00+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2024-30261": { + "canonical_id": "undici--CVE-2024-30261", + "title": "undici--CVE-2024-30261", + "summary": "Derived from latest run undici-undici--CVE-2024-30261-20260318040251", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:02:51+00:00", + "updated_at": "2026-03-18T04:02:56+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2024-30260": { + "canonical_id": "undici--CVE-2024-30260", + "title": "undici--CVE-2024-30260", + "summary": "Derived from latest run undici-undici--CVE-2024-30260-20260318040247", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:02:47+00:00", + "updated_at": "2026-03-18T04:02:51+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2023-45143": { + "canonical_id": "undici--CVE-2023-45143", + "title": "undici--CVE-2023-45143", + "summary": "Derived from latest run undici-undici--CVE-2023-45143-20260318040242", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:02:42+00:00", + "updated_at": "2026-03-18T04:02:46+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2022-32210": { + "canonical_id": "undici--CVE-2022-32210", + "title": "undici--CVE-2022-32210", + "summary": "Derived from latest run undici-undici--CVE-2022-32210-20260318040238", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:02:38+00:00", + "updated_at": "2026-03-18T04:02:42+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "undici--CVE-2022-31151": { + "canonical_id": "undici--CVE-2022-31151", + "title": "undici--CVE-2022-31151", + "summary": "Derived from latest run undici-undici--CVE-2022-31151-20260318040233", + "display_name": "Undici", + "system_id": "undici", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T04:02:33+00:00", + "updated_at": "2026-03-18T04:02:37+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "ssrf-url-validation", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "nextjs--GHSA-w37m-7fhw-fmv9": { + "canonical_id": "nextjs--GHSA-w37m-7fhw-fmv9", + "title": "nextjs--GHSA-w37m-7fhw-fmv9", + "summary": "Derived from latest run nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:58:48+00:00", + "updated_at": "2026-03-18T03:58:55+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/proof-page.json" + ] + } + }, + "nextjs--GHSA-mwv6-3258-q52c": { + "canonical_id": "nextjs--GHSA-mwv6-3258-q52c", + "title": "nextjs--GHSA-mwv6-3258-q52c", + "summary": "Derived from latest run nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:58:42+00:00", + "updated_at": "2026-03-18T03:58:48+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/proof-page.json" + ] + } + }, + "nextjs--GHSA-h25m-26qc-wcjf": { + "canonical_id": "nextjs--GHSA-h25m-26qc-wcjf", + "title": "nextjs--GHSA-h25m-26qc-wcjf", + "summary": "Derived from latest run nextjs-nextjs--GHSA-h25m-26qc-wcjf-20260318035837", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:58:37+00:00", + "updated_at": "2026-03-18T03:58:41+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "nextjs--GHSA-9qr9-h5gf-34mp": { + "canonical_id": "nextjs--GHSA-9qr9-h5gf-34mp", + "title": "nextjs--GHSA-9qr9-h5gf-34mp", + "summary": "Derived from latest run nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:58:30+00:00", + "updated_at": "2026-03-18T03:58:37+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/proof-page.json" + ] + } + }, + "nextjs--GHSA-5j59-xgg2-r9c4": { + "canonical_id": "nextjs--GHSA-5j59-xgg2-r9c4", + "title": "nextjs--GHSA-5j59-xgg2-r9c4", + "summary": "Derived from latest run nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:58:24+00:00", + "updated_at": "2026-03-18T03:58:30+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2025-59472": { + "canonical_id": "nextjs--CVE-2025-59472", + "title": "nextjs--CVE-2025-59472", + "summary": "Derived from latest run nextjs-nextjs--CVE-2025-59472-20260318035817", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:58:17+00:00", + "updated_at": "2026-03-18T03:58:24+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2025-59471": { + "canonical_id": "nextjs--CVE-2025-59471", + "title": "nextjs--CVE-2025-59471", + "summary": "Derived from latest run nextjs-nextjs--CVE-2025-59471-20260318035811", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:58:11+00:00", + "updated_at": "2026-03-18T03:58:17+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2025-57822": { + "canonical_id": "nextjs--CVE-2025-57822", + "title": "nextjs--CVE-2025-57822", + "summary": "Derived from latest run nextjs-nextjs--CVE-2025-57822-20260318035806", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:58:06+00:00", + "updated_at": "2026-03-18T03:58:11+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "nextjs--CVE-2025-57752": { + "canonical_id": "nextjs--CVE-2025-57752", + "title": "nextjs--CVE-2025-57752", + "summary": "Derived from latest run nextjs-nextjs--CVE-2025-57752-20260318035800", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:58:00+00:00", + "updated_at": "2026-03-18T03:58:06+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2025-55173": { + "canonical_id": "nextjs--CVE-2025-55173", + "title": "nextjs--CVE-2025-55173", + "summary": "Derived from latest run nextjs-nextjs--CVE-2025-55173-20260318035753", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:57:53+00:00", + "updated_at": "2026-03-18T03:58:00+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2025-49826": { + "canonical_id": "nextjs--CVE-2025-49826", + "title": "nextjs--CVE-2025-49826", + "summary": "Derived from latest run nextjs-nextjs--CVE-2025-49826-20260318035747", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:57:47+00:00", + "updated_at": "2026-03-18T03:57:53+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2025-49005": { + "canonical_id": "nextjs--CVE-2025-49005", + "title": "nextjs--CVE-2025-49005", + "summary": "Derived from latest run nextjs-nextjs--CVE-2025-49005-20260318035740", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:57:40+00:00", + "updated_at": "2026-03-18T03:57:47+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2025-48068": { + "canonical_id": "nextjs--CVE-2025-48068", + "title": "nextjs--CVE-2025-48068", + "summary": "Derived from latest run nextjs-nextjs--CVE-2025-48068-20260318035734", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:57:34+00:00", + "updated_at": "2026-03-18T03:57:40+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2025-32421": { + "canonical_id": "nextjs--CVE-2025-32421", + "title": "nextjs--CVE-2025-32421", + "summary": "Derived from latest run nextjs-nextjs--CVE-2025-32421-20260318035727", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:57:27+00:00", + "updated_at": "2026-03-18T03:57:34+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2025-30218": { + "canonical_id": "nextjs--CVE-2025-30218", + "title": "nextjs--CVE-2025-30218", + "summary": "Derived from latest run nextjs-nextjs--CVE-2025-30218-20260318035721", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:57:21+00:00", + "updated_at": "2026-03-18T03:57:27+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2025-29927": { + "canonical_id": "nextjs--CVE-2025-29927", + "title": "nextjs--CVE-2025-29927", + "summary": "Derived from latest run nextjs-nextjs--CVE-2025-29927-20260318035717", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:57:17+00:00", + "updated_at": "2026-03-18T03:57:21+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "nextjs--CVE-2024-56332": { + "canonical_id": "nextjs--CVE-2024-56332", + "title": "nextjs--CVE-2024-56332", + "summary": "Derived from latest run nextjs-nextjs--CVE-2024-56332-20260318035710", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:57:10+00:00", + "updated_at": "2026-03-18T03:57:16+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2024-51479": { + "canonical_id": "nextjs--CVE-2024-51479", + "title": "nextjs--CVE-2024-51479", + "summary": "Derived from latest run nextjs-nextjs--CVE-2024-51479-20260318035706", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:57:06+00:00", + "updated_at": "2026-03-18T03:57:10+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "nextjs--CVE-2024-47831": { + "canonical_id": "nextjs--CVE-2024-47831", + "title": "nextjs--CVE-2024-47831", + "summary": "Derived from latest run nextjs-nextjs--CVE-2024-47831-20260318035659", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:56:59+00:00", + "updated_at": "2026-03-18T03:57:06+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2024-46982": { + "canonical_id": "nextjs--CVE-2024-46982", + "title": "nextjs--CVE-2024-46982", + "summary": "Derived from latest run nextjs-nextjs--CVE-2024-46982-20260318035653", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:56:53+00:00", + "updated_at": "2026-03-18T03:56:59+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2024-34351": { + "canonical_id": "nextjs--CVE-2024-34351", + "title": "nextjs--CVE-2024-34351", + "summary": "Derived from latest run nextjs-nextjs--CVE-2024-34351-20260318035648", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:56:48+00:00", + "updated_at": "2026-03-18T03:56:53+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "nextjs--CVE-2021-43803": { + "canonical_id": "nextjs--CVE-2021-43803", + "title": "nextjs--CVE-2021-43803", + "summary": "Derived from latest run nextjs-nextjs--CVE-2021-43803-20260318035642", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:56:42+00:00", + "updated_at": "2026-03-18T03:56:48+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2021-39178": { + "canonical_id": "nextjs--CVE-2021-39178", + "title": "nextjs--CVE-2021-39178", + "summary": "Derived from latest run nextjs-nextjs--CVE-2021-39178-20260318035635", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:56:35+00:00", + "updated_at": "2026-03-18T03:56:42+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2021-37699": { + "canonical_id": "nextjs--CVE-2021-37699", + "title": "nextjs--CVE-2021-37699", + "summary": "Derived from latest run nextjs-nextjs--CVE-2021-37699-20260318035628", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:56:28+00:00", + "updated_at": "2026-03-18T03:56:35+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2020-5284": { + "canonical_id": "nextjs--CVE-2020-5284", + "title": "nextjs--CVE-2020-5284", + "summary": "Derived from latest run nextjs-nextjs--CVE-2020-5284-20260318035622", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:56:22+00:00", + "updated_at": "2026-03-18T03:56:28+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/proof-page.json" + ] + } + }, + "nextjs--CVE-2020-15242": { + "canonical_id": "nextjs--CVE-2020-15242", + "title": "nextjs--CVE-2020-15242", + "summary": "Derived from latest run nextjs-nextjs--CVE-2020-15242-20260318035615", + "display_name": "Next.js", + "system_id": "nextjs", + "category": "frameworks", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:56:15+00:00", + "updated_at": "2026-03-18T03:56:22+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "proxy-trust-boundary", + "token-cookie-storage" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2026-20912": { + "canonical_id": "gitea--CVE-2026-20912", + "title": "gitea--CVE-2026-20912", + "summary": "Derived from latest run gitea-gitea--CVE-2026-20912-20260318035506", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:55:06+00:00", + "updated_at": "2026-03-18T03:55:13+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2026-20904": { + "canonical_id": "gitea--CVE-2026-20904", + "title": "gitea--CVE-2026-20904", + "summary": "Derived from latest run gitea-gitea--CVE-2026-20904-20260318035500", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:55:00+00:00", + "updated_at": "2026-03-18T03:55:06+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2026-20897": { + "canonical_id": "gitea--CVE-2026-20897", + "title": "gitea--CVE-2026-20897", + "summary": "Derived from latest run gitea-gitea--CVE-2026-20897-20260318035454", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:54:54+00:00", + "updated_at": "2026-03-18T03:55:00+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2026-20888": { + "canonical_id": "gitea--CVE-2026-20888", + "title": "gitea--CVE-2026-20888", + "summary": "Derived from latest run gitea-gitea--CVE-2026-20888-20260318035447", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:54:47+00:00", + "updated_at": "2026-03-18T03:54:54+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2026-20883": { + "canonical_id": "gitea--CVE-2026-20883", + "title": "gitea--CVE-2026-20883", + "summary": "Derived from latest run gitea-gitea--CVE-2026-20883-20260318035441", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:54:41+00:00", + "updated_at": "2026-03-18T03:54:47+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2026-20800": { + "canonical_id": "gitea--CVE-2026-20800", + "title": "gitea--CVE-2026-20800", + "summary": "Derived from latest run gitea-gitea--CVE-2026-20800-20260318035434", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:54:34+00:00", + "updated_at": "2026-03-18T03:54:41+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2026-20750": { + "canonical_id": "gitea--CVE-2026-20750", + "title": "gitea--CVE-2026-20750", + "summary": "Derived from latest run gitea-gitea--CVE-2026-20750-20260318035428", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:54:28+00:00", + "updated_at": "2026-03-18T03:54:34+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2026-20736": { + "canonical_id": "gitea--CVE-2026-20736", + "title": "gitea--CVE-2026-20736", + "summary": "Derived from latest run gitea-gitea--CVE-2026-20736-20260318035423", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:54:23+00:00", + "updated_at": "2026-03-18T03:54:27+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "gitea--CVE-2026-0798": { + "canonical_id": "gitea--CVE-2026-0798", + "title": "gitea--CVE-2026-0798", + "summary": "Derived from latest run gitea-gitea--CVE-2026-0798-20260318035416", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:54:16+00:00", + "updated_at": "2026-03-18T03:54:23+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2025-69413": { + "canonical_id": "gitea--CVE-2025-69413", + "title": "gitea--CVE-2025-69413", + "summary": "Derived from latest run gitea-gitea--CVE-2025-69413-20260318035410", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:54:10+00:00", + "updated_at": "2026-03-18T03:54:16+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2025-68946": { + "canonical_id": "gitea--CVE-2025-68946", + "title": "gitea--CVE-2025-68946", + "summary": "Derived from latest run gitea-gitea--CVE-2025-68946-20260318035404", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:54:04+00:00", + "updated_at": "2026-03-18T03:54:10+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2025-68945": { + "canonical_id": "gitea--CVE-2025-68945", + "title": "gitea--CVE-2025-68945", + "summary": "Derived from latest run gitea-gitea--CVE-2025-68945-20260318035358", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:53:58+00:00", + "updated_at": "2026-03-18T03:54:04+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2025-68944": { + "canonical_id": "gitea--CVE-2025-68944", + "title": "gitea--CVE-2025-68944", + "summary": "Derived from latest run gitea-gitea--CVE-2025-68944-20260318035353", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:53:53+00:00", + "updated_at": "2026-03-18T03:53:57+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "gitea--CVE-2025-68943": { + "canonical_id": "gitea--CVE-2025-68943", + "title": "gitea--CVE-2025-68943", + "summary": "Derived from latest run gitea-gitea--CVE-2025-68943-20260318035347", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:53:47+00:00", + "updated_at": "2026-03-18T03:53:53+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2025-68942": { + "canonical_id": "gitea--CVE-2025-68942", + "title": "gitea--CVE-2025-68942", + "summary": "Derived from latest run gitea-gitea--CVE-2025-68942-20260318035340", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:53:40+00:00", + "updated_at": "2026-03-18T03:53:47+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2025-68941": { + "canonical_id": "gitea--CVE-2025-68941", + "title": "gitea--CVE-2025-68941", + "summary": "Derived from latest run gitea-gitea--CVE-2025-68941-20260318035334", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:53:34+00:00", + "updated_at": "2026-03-18T03:53:40+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2025-68940": { + "canonical_id": "gitea--CVE-2025-68940", + "title": "gitea--CVE-2025-68940", + "summary": "Derived from latest run gitea-gitea--CVE-2025-68940-20260318035330", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:53:30+00:00", + "updated_at": "2026-03-18T03:53:34+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + }, + "gitea--CVE-2025-68939": { + "canonical_id": "gitea--CVE-2025-68939", + "title": "gitea--CVE-2025-68939", + "summary": "Derived from latest run gitea-gitea--CVE-2025-68939-20260318035323", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:53:23+00:00", + "updated_at": "2026-03-18T03:53:29+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2025-68938": { + "canonical_id": "gitea--CVE-2025-68938", + "title": "gitea--CVE-2025-68938", + "summary": "Derived from latest run gitea-gitea--CVE-2025-68938-20260318035317", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:53:17+00:00", + "updated_at": "2026-03-18T03:53:23+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2022-42968": { + "canonical_id": "gitea--CVE-2022-42968", + "title": "gitea--CVE-2022-42968", + "summary": "Derived from latest run gitea-gitea--CVE-2022-42968-20260318035311", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:53:11+00:00", + "updated_at": "2026-03-18T03:53:17+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2022-38795": { + "canonical_id": "gitea--CVE-2022-38795", + "title": "gitea--CVE-2022-38795", + "summary": "Derived from latest run gitea-gitea--CVE-2022-38795-20260318035304", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:53:04+00:00", + "updated_at": "2026-03-18T03:53:11+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2022-38183": { + "canonical_id": "gitea--CVE-2022-38183", + "title": "gitea--CVE-2022-38183", + "summary": "Derived from latest run gitea-gitea--CVE-2022-38183-20260318035258", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:52:58+00:00", + "updated_at": "2026-03-18T03:53:04+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2022-30781": { + "canonical_id": "gitea--CVE-2022-30781", + "title": "gitea--CVE-2022-30781", + "summary": "Derived from latest run gitea-gitea--CVE-2022-30781-20260318035252", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:52:52+00:00", + "updated_at": "2026-03-18T03:52:58+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2022-27313": { + "canonical_id": "gitea--CVE-2022-27313", + "title": "gitea--CVE-2022-27313", + "summary": "Derived from latest run gitea-gitea--CVE-2022-27313-20260318035245", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:52:45+00:00", + "updated_at": "2026-03-18T03:52:52+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2022-1928": { + "canonical_id": "gitea--CVE-2022-1928", + "title": "gitea--CVE-2022-1928", + "summary": "Derived from latest run gitea-gitea--CVE-2022-1928-20260318035239", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:52:39+00:00", + "updated_at": "2026-03-18T03:52:45+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2022-1058": { + "canonical_id": "gitea--CVE-2022-1058", + "title": "gitea--CVE-2022-1058", + "summary": "Derived from latest run gitea-gitea--CVE-2022-1058-20260318035233", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:52:33+00:00", + "updated_at": "2026-03-18T03:52:39+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2022-0905": { + "canonical_id": "gitea--CVE-2022-0905", + "title": "gitea--CVE-2022-0905", + "summary": "Derived from latest run gitea-gitea--CVE-2022-0905-20260318035226", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:52:26+00:00", + "updated_at": "2026-03-18T03:52:33+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2021-45331": { + "canonical_id": "gitea--CVE-2021-45331", + "title": "gitea--CVE-2021-45331", + "summary": "Derived from latest run gitea-gitea--CVE-2021-45331-20260318035220", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:52:20+00:00", + "updated_at": "2026-03-18T03:52:26+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2021-45330": { + "canonical_id": "gitea--CVE-2021-45330", + "title": "gitea--CVE-2021-45330", + "summary": "Derived from latest run gitea-gitea--CVE-2021-45330-20260318035214", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:52:14+00:00", + "updated_at": "2026-03-18T03:52:20+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2021-45327": { + "canonical_id": "gitea--CVE-2021-45327", + "title": "gitea--CVE-2021-45327", + "summary": "Derived from latest run gitea-gitea--CVE-2021-45327-20260318035207", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:52:07+00:00", + "updated_at": "2026-03-18T03:52:14+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2021-3382": { + "canonical_id": "gitea--CVE-2021-3382", + "title": "gitea--CVE-2021-3382", + "summary": "Derived from latest run gitea-gitea--CVE-2021-3382-20260318035201", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:52:01+00:00", + "updated_at": "2026-03-18T03:52:07+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2021-29134": { + "canonical_id": "gitea--CVE-2021-29134", + "title": "gitea--CVE-2021-29134", + "summary": "Derived from latest run gitea-gitea--CVE-2021-29134-20260318035154", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:51:54+00:00", + "updated_at": "2026-03-18T03:52:01+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2021-28378": { + "canonical_id": "gitea--CVE-2021-28378", + "title": "gitea--CVE-2021-28378", + "summary": "Derived from latest run gitea-gitea--CVE-2021-28378-20260318035148", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:51:48+00:00", + "updated_at": "2026-03-18T03:51:54+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2020-13246": { + "canonical_id": "gitea--CVE-2020-13246", + "title": "gitea--CVE-2020-13246", + "summary": "Derived from latest run gitea-gitea--CVE-2020-13246-20260318035142", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:51:42+00:00", + "updated_at": "2026-03-18T03:51:48+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2019-1010261": { + "canonical_id": "gitea--CVE-2019-1010261", + "title": "gitea--CVE-2019-1010261", + "summary": "Derived from latest run gitea-gitea--CVE-2019-1010261-20260318035135", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:51:35+00:00", + "updated_at": "2026-03-18T03:51:42+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2018-18926": { + "canonical_id": "gitea--CVE-2018-18926", + "title": "gitea--CVE-2018-18926", + "summary": "Derived from latest run gitea-gitea--CVE-2018-18926-20260318035129", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:51:29+00:00", + "updated_at": "2026-03-18T03:51:35+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": true, + "present": true, + "refs": [ + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/assets/baseline.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/assets/baseline-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/baseline-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/baseline-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/baseline-page.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/assets/proof.png", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/assets/proof-dom.html", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/proof-console.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/proof-network.json", + "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/proof-page.json" + ] + } + }, + "gitea--CVE-2018-15192": { + "canonical_id": "gitea--CVE-2018-15192", + "title": "gitea--CVE-2018-15192", + "summary": "Derived from latest run gitea-gitea--CVE-2018-15192-20260318035123", + "display_name": "Gitea", + "system_id": "gitea", + "category": "platforms", + "severity": null, + "cvss_score": null, + "exploit_status": null, + "published_at": "2026-03-18T03:51:23+00:00", + "updated_at": "2026-03-18T03:51:29+00:00", + "official_source_url": "", + "secondary_source_urls": [], + "aliases": [], + "secure_code_topics": [ + "authz-server-side-recheck", + "token-cookie-storage", + "proxy-trust-boundary" + ], + "verification_status": "verified-real", + "verification_mode": "real", + "artifact_mode": "local-fixture", + "blocked_reason": null, + "browser_evidence": { + "required": false, + "present": false, + "refs": [] + } + } +} diff --git a/08-threat-intel/generated/dashboard/architecture.json b/08-threat-intel/generated/dashboard/architecture.json index cac6d339..d4ad8c91 100644 --- a/08-threat-intel/generated/dashboard/architecture.json +++ b/08-threat-intel/generated/dashboard/architecture.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-03-18T17:52:49+00:00", + "generated_at": "2026-03-18T17:56:12+00:00", "title": "\u5f53\u524d\u67b6\u6784\u5e93", "summary": "\u5de5\u4f5c\u53f0\u3001\u63a7\u5236\u9762\u3001\u6570\u636e\u5c42\u3001\u6388\u6743\u8fb9\u754c\u4e0e\u7cfb\u7edf\u8986\u76d6\u7684\u5f53\u524d\u771f\u503c\u89c6\u56fe\u3002", "sections": [ @@ -31,7 +31,7 @@ }, { "label": "\u5f53\u524d\u6f0f\u6d1e\u6761\u76ee", - "value": "0" + "value": "89" } ], "fields": [ @@ -49,7 +49,7 @@ }, { "label": "\u751f\u6210\u65f6\u95f4", - "value": "2026-03-18T17:52:49+00:00" + "value": "2026-03-18T17:56:12+00:00" } ], "links": [ @@ -5887,11 +5887,11 @@ }, { "label": "Advisory \u6570", - "value": "0" + "value": "89" }, { "label": "\u72b6\u6001\u7c7b\u578b", - "value": "0" + "value": "1" }, { "label": "\u6700\u8fd1\u5931\u8d25", @@ -5903,7 +5903,23 @@ "title": "\u72b6\u6001\u5206\u5e03", "summary": "verification_status \u5f53\u524d\u8ba1\u6570\u3002", "open": false, - "items": [] + "items": [ + { + "title": "\u771f\u5b9e\u7248\u672c\u5df2\u5b9e\u8bc1", + "summary": "\u5f53\u524d\u7d2f\u8ba1 89 \u6761\u3002", + "open": false, + "fields": [ + { + "label": "\u72b6\u6001\u7f16\u7801", + "value": "verified-real" + }, + { + "label": "\u6570\u91cf", + "value": "89" + } + ] + } + ] }, { "title": "\u6700\u8fd1\u5931\u8d25", diff --git a/08-threat-intel/generated/dashboard/data/completeness.json b/08-threat-intel/generated/dashboard/data/completeness.json index c465bbd5..8e971d4e 100644 --- a/08-threat-intel/generated/dashboard/data/completeness.json +++ b/08-threat-intel/generated/dashboard/data/completeness.json @@ -1,19 +1,170 @@ { - "generated_at": "2026-03-18T17:52:49+00:00", - "advisory_total": 0, - "latest_statuses": {}, + "generated_at": "2026-03-18T17:56:12+00:00", + "advisory_total": 89, + "latest_statuses": { + "verified-real": 89 + }, "historical_statuses": { "verified-real": 136, "blocked-artifact": 3, "triage-manual": 1 }, - "verified_real": 0, + "verified_real": 89, "verified_synthetic": 0, "blocked": 0, "manual": 0, - "verified_ratio": 0.0, - "complete": false, - "systems": [], + "verified_ratio": 100.0, + "complete": true, + "systems": [ + { + "system_id": "gitea", + "display_name": "Gitea", + "total": 37, + "verified_real": 37, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0, + "families": [ + { + "family": "authz-bypass", + "total": 3, + "verified_real": 3, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + }, + { + "family": "file-upload", + "total": 2, + "verified_real": 2, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + }, + { + "family": "proxy-boundary", + "total": 26, + "verified_real": 26, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + }, + { + "family": "ssrf", + "total": 1, + "verified_real": 1, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + }, + { + "family": "xss", + "total": 5, + "verified_real": 5, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + } + ] + }, + { + "system_id": "nextjs", + "display_name": "Next.js", + "total": 26, + "verified_real": 26, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0, + "families": [ + { + "family": "authz-bypass", + "total": 2, + "verified_real": 2, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + }, + { + "family": "deserialization", + "total": 1, + "verified_real": 1, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + }, + { + "family": "proxy-boundary", + "total": 19, + "verified_real": 19, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + }, + { + "family": "ssrf", + "total": 2, + "verified_real": 2, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + }, + { + "family": "xss", + "total": 2, + "verified_real": 2, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + } + ] + }, + { + "system_id": "undici", + "display_name": "Undici", + "total": 14, + "verified_real": 14, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0, + "families": [ + { + "family": "ssrf", + "total": 14, + "verified_real": 14, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + } + ] + }, + { + "system_id": "vite", + "display_name": "Vite", + "total": 12, + "verified_real": 12, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0, + "families": [ + { + "family": "proxy-boundary", + "total": 11, + "verified_real": 11, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + }, + { + "family": "xss", + "total": 1, + "verified_real": 1, + "verified_synthetic": 0, + "blocked": 0, + "manual": 0 + } + ] + } + ], "ingest_health": { "failure_count": 0, "failures": [] diff --git a/08-threat-intel/generated/dashboard/docs/architecture-library.html b/08-threat-intel/generated/dashboard/docs/architecture-library.html index 94d88ebb..e2d545de 100644 --- a/08-threat-intel/generated/dashboard/docs/architecture-library.html +++ b/08-threat-intel/generated/dashboard/docs/architecture-library.html @@ -87,7 +87,7 @@

当前架构库镜像

工作台内置镜像页:当前架构库结构化数据镜像。
{
-  "generated_at": "2026-03-18T17:52:49+00:00",
+  "generated_at": "2026-03-18T17:56:12+00:00",
   "title": "当前架构库",
   "summary": "工作台、控制面、数据层、授权边界与系统覆盖的当前真值视图。",
   "sections": [
@@ -119,7 +119,7 @@
         },
         {
           "label": "当前漏洞条目",
-          "value": "0"
+          "value": "89"
         }
       ],
       "fields": [
@@ -137,7 +137,7 @@
         },
         {
           "label": "生成时间",
-          "value": "2026-03-18T17:52:49+00:00"
+          "value": "2026-03-18T17:56:12+00:00"
         }
       ],
       "links": [
@@ -5975,11 +5975,11 @@
         },
         {
           "label": "Advisory 数",
-          "value": "0"
+          "value": "89"
         },
         {
           "label": "状态类型",
-          "value": "0"
+          "value": "1"
         },
         {
           "label": "最近失败",
@@ -5991,7 +5991,23 @@
           "title": "状态分布",
           "summary": "verification_status 当前计数。",
           "open": false,
-          "items": []
+          "items": [
+            {
+              "title": "真实版本已实证",
+              "summary": "当前累计 89 条。",
+              "open": false,
+              "fields": [
+                {
+                  "label": "状态编码",
+                  "value": "verified-real"
+                },
+                {
+                  "label": "数量",
+                  "value": "89"
+                }
+              ]
+            }
+          ]
         },
         {
           "title": "最近失败",
diff --git a/08-threat-intel/generated/dashboard/docs/testing-completeness-report.html b/08-threat-intel/generated/dashboard/docs/testing-completeness-report.html
index ff2a4bc0..aad8844c 100644
--- a/08-threat-intel/generated/dashboard/docs/testing-completeness-report.html
+++ b/08-threat-intel/generated/dashboard/docs/testing-completeness-report.html
@@ -88,12 +88,12 @@
       
工作台内置镜像页:89 条 advisory 最新完整度、family 矩阵与 ingest 健康度。
# 全库 Advisory 完整度报告
 
-- 生成时间: `2026-03-18T17:52:49+00:00`
-- 最新 advisory 完整度: `0/0` `verified-real`
+- 生成时间: `2026-03-18T17:56:12+00:00`
+- 最新 advisory 完整度: `89/89` `verified-real`
 - 合成验证数量: `0`
 - 阻塞数量: `0`
 - 人工/待补证据数量: `0`
-- 完整度百分比: `0.0%`
+- 完整度百分比: `100.0%`
 - active source 全绿: `110/110`
 - source open alerts: `0`
 - 最近一次 source 全绿: `2026-03-18T17:44:31+00:00`
@@ -102,6 +102,10 @@
 
 | 系统 | 总数 | verified-real | verified-synthetic | blocked | manual | family 覆盖 |
 | --- | ---: | ---: | ---: | ---: | ---: | --- |
+| gitea | 37 | 37 | 0 | 0 | 0 | authz-bypass(3/3), file-upload(2/2), proxy-boundary(26/26), ssrf(1/1), xss(5/5) |
+| nextjs | 26 | 26 | 0 | 0 | 0 | authz-bypass(2/2), deserialization(1/1), proxy-boundary(19/19), ssrf(2/2), xss(2/2) |
+| undici | 14 | 14 | 0 | 0 | 0 | ssrf(14/14) |
+| vite | 12 | 12 | 0 | 0 | 0 | proxy-boundary(11/11), xss(1/1) |
 
 ## 历史阻塞项修复纪要
 
diff --git a/08-threat-intel/generated/dashboard/runs.json b/08-threat-intel/generated/dashboard/runs.json
index 6a934978..43944e61 100644
--- a/08-threat-intel/generated/dashboard/runs.json
+++ b/08-threat-intel/generated/dashboard/runs.json
@@ -220,7 +220,47 @@
       "/runs/vite-vite--CVE-2025-62522-20260318040559/logs/attack.json",
       "/runs/vite-vite--CVE-2025-62522-20260318040559/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2025-62522",
+      "title": "vite--CVE-2025-62522",
+      "summary": "Derived from latest run vite-vite--CVE-2025-62522-20260318040559",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:05:59+00:00",
+      "updated_at": "2026-03-18T04:06:05+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-62522-20260318040559/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -272,6 +312,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2025-62522-20260318040559",
       "Seed proxy boundary fixture with baseline banner.",
       "Runner proves forwarded proxy boundary state change locally.",
       "Proxy boundary proof banner is visible in the captured browser evidence."
@@ -652,7 +693,47 @@
       "/runs/vite-vite--CVE-2025-58752-20260318040552/logs/attack.json",
       "/runs/vite-vite--CVE-2025-58752-20260318040552/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2025-58752",
+      "title": "vite--CVE-2025-58752",
+      "summary": "Derived from latest run vite-vite--CVE-2025-58752-20260318040552",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:05:52+00:00",
+      "updated_at": "2026-03-18T04:05:59+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58752-20260318040552/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -704,6 +785,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2025-58752-20260318040552",
       "Seed proxy boundary fixture with baseline banner.",
       "Runner proves forwarded proxy boundary state change locally.",
       "Proxy boundary proof banner is visible in the captured browser evidence."
@@ -1084,7 +1166,47 @@
       "/runs/vite-vite--CVE-2025-58751-20260318040545/logs/attack.json",
       "/runs/vite-vite--CVE-2025-58751-20260318040545/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2025-58751",
+      "title": "vite--CVE-2025-58751",
+      "summary": "Derived from latest run vite-vite--CVE-2025-58751-20260318040545",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:05:45+00:00",
+      "updated_at": "2026-03-18T04:05:52+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-58751-20260318040545/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -1136,6 +1258,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2025-58751-20260318040545",
       "Seed proxy boundary fixture with baseline banner.",
       "Runner proves forwarded proxy boundary state change locally.",
       "Proxy boundary proof banner is visible in the captured browser evidence."
@@ -1516,7 +1639,47 @@
       "/runs/vite-vite--CVE-2025-46565-20260318040538/logs/attack.json",
       "/runs/vite-vite--CVE-2025-46565-20260318040538/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2025-46565",
+      "title": "vite--CVE-2025-46565",
+      "summary": "Derived from latest run vite-vite--CVE-2025-46565-20260318040538",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:05:38+00:00",
+      "updated_at": "2026-03-18T04:05:45+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-46565-20260318040538/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -1568,6 +1731,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2025-46565-20260318040538",
       "Seed proxy boundary fixture with baseline banner.",
       "Runner proves forwarded proxy boundary state change locally.",
       "Proxy boundary proof banner is visible in the captured browser evidence."
@@ -1948,7 +2112,47 @@
       "/runs/vite-vite--CVE-2025-32395-20260318040532/logs/attack.json",
       "/runs/vite-vite--CVE-2025-32395-20260318040532/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2025-32395",
+      "title": "vite--CVE-2025-32395",
+      "summary": "Derived from latest run vite-vite--CVE-2025-32395-20260318040532",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:05:32+00:00",
+      "updated_at": "2026-03-18T04:05:38+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-32395-20260318040532/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -2000,6 +2204,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2025-32395-20260318040532",
       "Seed proxy boundary fixture with baseline banner.",
       "Runner proves forwarded proxy boundary state change locally.",
       "Proxy boundary proof banner is visible in the captured browser evidence."
@@ -2380,7 +2585,47 @@
       "/runs/vite-vite--CVE-2025-31486-20260318040525/logs/attack.json",
       "/runs/vite-vite--CVE-2025-31486-20260318040525/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2025-31486",
+      "title": "vite--CVE-2025-31486",
+      "summary": "Derived from latest run vite-vite--CVE-2025-31486-20260318040525",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:05:25+00:00",
+      "updated_at": "2026-03-18T04:05:32+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31486-20260318040525/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -2432,6 +2677,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2025-31486-20260318040525",
       "Seed proxy boundary fixture with baseline banner.",
       "Runner proves forwarded proxy boundary state change locally.",
       "Proxy boundary proof banner is visible in the captured browser evidence."
@@ -2812,7 +3058,47 @@
       "/runs/vite-vite--CVE-2025-31125-20260318040518/logs/attack.json",
       "/runs/vite-vite--CVE-2025-31125-20260318040518/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2025-31125",
+      "title": "vite--CVE-2025-31125",
+      "summary": "Derived from latest run vite-vite--CVE-2025-31125-20260318040518",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:05:18+00:00",
+      "updated_at": "2026-03-18T04:05:25+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-31125-20260318040518/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -2864,6 +3150,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2025-31125-20260318040518",
       "Seed proxy boundary fixture with baseline banner.",
       "Runner proves forwarded proxy boundary state change locally.",
       "Proxy boundary proof banner is visible in the captured browser evidence."
@@ -3244,7 +3531,47 @@
       "/runs/vite-vite--CVE-2025-30208-20260318040511/logs/attack.json",
       "/runs/vite-vite--CVE-2025-30208-20260318040511/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2025-30208",
+      "title": "vite--CVE-2025-30208",
+      "summary": "Derived from latest run vite-vite--CVE-2025-30208-20260318040511",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:05:11+00:00",
+      "updated_at": "2026-03-18T04:05:18+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-30208-20260318040511/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -3296,6 +3623,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2025-30208-20260318040511",
       "Seed proxy boundary fixture with baseline banner.",
       "Runner proves forwarded proxy boundary state change locally.",
       "Proxy boundary proof banner is visible in the captured browser evidence."
@@ -3676,7 +4004,47 @@
       "/runs/vite-vite--CVE-2025-24010-20260318040505/logs/attack.json",
       "/runs/vite-vite--CVE-2025-24010-20260318040505/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2025-24010",
+      "title": "vite--CVE-2025-24010",
+      "summary": "Derived from latest run vite-vite--CVE-2025-24010-20260318040505",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:05:05+00:00",
+      "updated_at": "2026-03-18T04:05:11+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2025-24010-20260318040505/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -3728,6 +4096,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2025-24010-20260318040505",
       "Seed proxy boundary fixture with baseline banner.",
       "Runner proves forwarded proxy boundary state change locally.",
       "Proxy boundary proof banner is visible in the captured browser evidence."
@@ -4108,7 +4477,47 @@
       "/runs/vite-vite--CVE-2024-45812-20260318040458/logs/attack.json",
       "/runs/vite-vite--CVE-2024-45812-20260318040458/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2024-45812",
+      "title": "vite--CVE-2024-45812",
+      "summary": "Derived from latest run vite-vite--CVE-2024-45812-20260318040458",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:04:58+00:00",
+      "updated_at": "2026-03-18T04:05:05+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45812-20260318040458/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-xss",
       "vuln_family": "xss",
@@ -4160,6 +4569,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2024-45812-20260318040458",
       "Seed client render page before XSS proof capture.",
       "Runner stores inert payload and validates browser proof only locally.",
       "Browser proof page shows the controlled XSS marker after attack."
@@ -4540,7 +4950,47 @@
       "/runs/vite-vite--CVE-2024-45811-20260318040452/logs/attack.json",
       "/runs/vite-vite--CVE-2024-45811-20260318040452/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2024-45811",
+      "title": "vite--CVE-2024-45811",
+      "summary": "Derived from latest run vite-vite--CVE-2024-45811-20260318040452",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:04:52+00:00",
+      "updated_at": "2026-03-18T04:04:58+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-45811-20260318040452/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -4592,6 +5042,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2024-45811-20260318040452",
       "Seed proxy boundary fixture with baseline banner.",
       "Runner proves forwarded proxy boundary state change locally.",
       "Proxy boundary proof banner is visible in the captured browser evidence."
@@ -4972,7 +5423,47 @@
       "/runs/vite-vite--CVE-2024-23331-20260318040445/logs/attack.json",
       "/runs/vite-vite--CVE-2024-23331-20260318040445/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "vite--CVE-2024-23331",
+      "title": "vite--CVE-2024-23331",
+      "summary": "Derived from latest run vite-vite--CVE-2024-23331-20260318040445",
+      "display_name": "Vite",
+      "system_id": "vite",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:04:45+00:00",
+      "updated_at": "2026-03-18T04:04:52+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "dependency-upgrade-policy",
+        "file-upload-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/vite-vite--CVE-2024-23331-20260318040445/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "vite-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -5024,6 +5515,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run vite-vite--CVE-2024-23331-20260318040445",
       "Seed proxy boundary fixture with baseline banner.",
       "Runner proves forwarded proxy boundary state change locally.",
       "Proxy boundary proof banner is visible in the captured browser evidence."
@@ -5341,7 +5833,35 @@
       "/runs/undici-undici--CVE-2026-2581-20260318040332/logs/attack.json",
       "/runs/undici-undici--CVE-2026-2581-20260318040332/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2026-2581",
+      "title": "undici--CVE-2026-2581",
+      "summary": "Derived from latest run undici-undici--CVE-2026-2581-20260318040332",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:03:32+00:00",
+      "updated_at": "2026-03-18T04:03:36+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -5389,6 +5909,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2026-2581-20260318040332",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -5649,7 +6170,35 @@
       "/runs/undici-undici--CVE-2026-2229-20260318040328/logs/attack.json",
       "/runs/undici-undici--CVE-2026-2229-20260318040328/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2026-2229",
+      "title": "undici--CVE-2026-2229",
+      "summary": "Derived from latest run undici-undici--CVE-2026-2229-20260318040328",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:03:28+00:00",
+      "updated_at": "2026-03-18T04:03:32+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -5697,6 +6246,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2026-2229-20260318040328",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -5957,7 +6507,35 @@
       "/runs/undici-undici--CVE-2026-22036-20260318040323/logs/attack.json",
       "/runs/undici-undici--CVE-2026-22036-20260318040323/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2026-22036",
+      "title": "undici--CVE-2026-22036",
+      "summary": "Derived from latest run undici-undici--CVE-2026-22036-20260318040323",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:03:23+00:00",
+      "updated_at": "2026-03-18T04:03:27+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -6005,6 +6583,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2026-22036-20260318040323",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -6265,7 +6844,35 @@
       "/runs/undici-undici--CVE-2026-1528-20260318040318/logs/attack.json",
       "/runs/undici-undici--CVE-2026-1528-20260318040318/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2026-1528",
+      "title": "undici--CVE-2026-1528",
+      "summary": "Derived from latest run undici-undici--CVE-2026-1528-20260318040318",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:03:18+00:00",
+      "updated_at": "2026-03-18T04:03:23+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -6313,6 +6920,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2026-1528-20260318040318",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -6573,7 +7181,35 @@
       "/runs/undici-undici--CVE-2026-1527-20260318040314/logs/attack.json",
       "/runs/undici-undici--CVE-2026-1527-20260318040314/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2026-1527",
+      "title": "undici--CVE-2026-1527",
+      "summary": "Derived from latest run undici-undici--CVE-2026-1527-20260318040314",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:03:14+00:00",
+      "updated_at": "2026-03-18T04:03:18+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -6621,6 +7257,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2026-1527-20260318040314",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -6881,7 +7518,35 @@
       "/runs/undici-undici--CVE-2026-1526-20260318040309/logs/attack.json",
       "/runs/undici-undici--CVE-2026-1526-20260318040309/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2026-1526",
+      "title": "undici--CVE-2026-1526",
+      "summary": "Derived from latest run undici-undici--CVE-2026-1526-20260318040309",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:03:09+00:00",
+      "updated_at": "2026-03-18T04:03:14+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -6929,6 +7594,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2026-1526-20260318040309",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -7189,7 +7855,35 @@
       "/runs/undici-undici--CVE-2026-1525-20260318040304/logs/attack.json",
       "/runs/undici-undici--CVE-2026-1525-20260318040304/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2026-1525",
+      "title": "undici--CVE-2026-1525",
+      "summary": "Derived from latest run undici-undici--CVE-2026-1525-20260318040304",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:03:04+00:00",
+      "updated_at": "2026-03-18T04:03:09+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -7237,6 +7931,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2026-1525-20260318040304",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -7497,7 +8192,35 @@
       "/runs/undici-undici--CVE-2025-47279-20260318040300/logs/attack.json",
       "/runs/undici-undici--CVE-2025-47279-20260318040300/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2025-47279",
+      "title": "undici--CVE-2025-47279",
+      "summary": "Derived from latest run undici-undici--CVE-2025-47279-20260318040300",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:03:00+00:00",
+      "updated_at": "2026-03-18T04:03:04+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -7545,6 +8268,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2025-47279-20260318040300",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -7805,7 +8529,35 @@
       "/runs/undici-undici--CVE-2025-22150-20260318040256/logs/attack.json",
       "/runs/undici-undici--CVE-2025-22150-20260318040256/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2025-22150",
+      "title": "undici--CVE-2025-22150",
+      "summary": "Derived from latest run undici-undici--CVE-2025-22150-20260318040256",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:02:56+00:00",
+      "updated_at": "2026-03-18T04:03:00+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -7853,6 +8605,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2025-22150-20260318040256",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -8113,7 +8866,35 @@
       "/runs/undici-undici--CVE-2024-30261-20260318040251/logs/attack.json",
       "/runs/undici-undici--CVE-2024-30261-20260318040251/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2024-30261",
+      "title": "undici--CVE-2024-30261",
+      "summary": "Derived from latest run undici-undici--CVE-2024-30261-20260318040251",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:02:51+00:00",
+      "updated_at": "2026-03-18T04:02:56+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -8161,6 +8942,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2024-30261-20260318040251",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -8421,7 +9203,35 @@
       "/runs/undici-undici--CVE-2024-30260-20260318040247/logs/attack.json",
       "/runs/undici-undici--CVE-2024-30260-20260318040247/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2024-30260",
+      "title": "undici--CVE-2024-30260",
+      "summary": "Derived from latest run undici-undici--CVE-2024-30260-20260318040247",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:02:47+00:00",
+      "updated_at": "2026-03-18T04:02:51+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -8469,6 +9279,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2024-30260-20260318040247",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -8729,7 +9540,35 @@
       "/runs/undici-undici--CVE-2023-45143-20260318040242/logs/attack.json",
       "/runs/undici-undici--CVE-2023-45143-20260318040242/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2023-45143",
+      "title": "undici--CVE-2023-45143",
+      "summary": "Derived from latest run undici-undici--CVE-2023-45143-20260318040242",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:02:42+00:00",
+      "updated_at": "2026-03-18T04:02:46+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -8777,6 +9616,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2023-45143-20260318040242",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -9037,7 +9877,35 @@
       "/runs/undici-undici--CVE-2022-32210-20260318040238/logs/attack.json",
       "/runs/undici-undici--CVE-2022-32210-20260318040238/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2022-32210",
+      "title": "undici--CVE-2022-32210",
+      "summary": "Derived from latest run undici-undici--CVE-2022-32210-20260318040238",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:02:38+00:00",
+      "updated_at": "2026-03-18T04:02:42+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -9085,6 +9953,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2022-32210-20260318040238",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -9345,7 +10214,35 @@
       "/runs/undici-undici--CVE-2022-31151-20260318040233/logs/attack.json",
       "/runs/undici-undici--CVE-2022-31151-20260318040233/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "undici--CVE-2022-31151",
+      "title": "undici--CVE-2022-31151",
+      "summary": "Derived from latest run undici-undici--CVE-2022-31151-20260318040233",
+      "display_name": "Undici",
+      "system_id": "undici",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T04:02:33+00:00",
+      "updated_at": "2026-03-18T04:02:37+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "ssrf-url-validation",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "undici-ssrf",
       "vuln_family": "ssrf",
@@ -9393,6 +10290,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run undici-undici--CVE-2022-31151-20260318040233",
       "Seed local sink-only request path.",
       "Runner validates local callback using undici-style request fixture.",
       "SSRF proof endpoint confirms only local sink callbacks were performed."
@@ -9716,7 +10614,47 @@
       "/runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/attack.json",
       "/runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--GHSA-w37m-7fhw-fmv9",
+      "title": "nextjs--GHSA-w37m-7fhw-fmv9",
+      "summary": "Derived from latest run nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:58:48+00:00",
+      "updated_at": "2026-03-18T03:58:55+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -9768,6 +10706,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--GHSA-w37m-7fhw-fmv9-20260318035848",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -10148,7 +11087,47 @@
       "/runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/attack.json",
       "/runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--GHSA-mwv6-3258-q52c",
+      "title": "nextjs--GHSA-mwv6-3258-q52c",
+      "summary": "Derived from latest run nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:58:42+00:00",
+      "updated_at": "2026-03-18T03:58:48+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -10200,6 +11179,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--GHSA-mwv6-3258-q52c-20260318035842",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -10517,7 +11497,36 @@
       "/runs/nextjs-nextjs--GHSA-h25m-26qc-wcjf-20260318035837/logs/attack.json",
       "/runs/nextjs-nextjs--GHSA-h25m-26qc-wcjf-20260318035837/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--GHSA-h25m-26qc-wcjf",
+      "title": "nextjs--GHSA-h25m-26qc-wcjf",
+      "summary": "Derived from latest run nextjs-nextjs--GHSA-h25m-26qc-wcjf-20260318035837",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:58:37+00:00",
+      "updated_at": "2026-03-18T03:58:41+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-deserialization",
       "vuln_family": "deserialization",
@@ -10565,6 +11574,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--GHSA-h25m-26qc-wcjf-20260318035837",
       "Seed inert decode path before proof request.",
       "Runner demonstrates unsafe decode path without gadget execution.",
       "Inert decoded object marker is present without executing a gadget chain."
@@ -10888,7 +11898,47 @@
       "/runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/attack.json",
       "/runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--GHSA-9qr9-h5gf-34mp",
+      "title": "nextjs--GHSA-9qr9-h5gf-34mp",
+      "summary": "Derived from latest run nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:58:30+00:00",
+      "updated_at": "2026-03-18T03:58:37+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -10940,6 +11990,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--GHSA-9qr9-h5gf-34mp-20260318035830",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -11320,7 +12371,47 @@
       "/runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/attack.json",
       "/runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--GHSA-5j59-xgg2-r9c4",
+      "title": "nextjs--GHSA-5j59-xgg2-r9c4",
+      "summary": "Derived from latest run nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:58:24+00:00",
+      "updated_at": "2026-03-18T03:58:30+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -11372,6 +12463,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--GHSA-5j59-xgg2-r9c4-20260318035824",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -11752,7 +12844,47 @@
       "/runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2025-59472",
+      "title": "nextjs--CVE-2025-59472",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2025-59472-20260318035817",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:58:17+00:00",
+      "updated_at": "2026-03-18T03:58:24+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59472-20260318035817/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -11804,6 +12936,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2025-59472-20260318035817",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -12184,7 +13317,47 @@
       "/runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2025-59471",
+      "title": "nextjs--CVE-2025-59471",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2025-59471-20260318035811",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:58:11+00:00",
+      "updated_at": "2026-03-18T03:58:17+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-59471-20260318035811/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -12236,6 +13409,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2025-59471-20260318035811",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -12553,7 +13727,36 @@
       "/runs/nextjs-nextjs--CVE-2025-57822-20260318035806/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2025-57822-20260318035806/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2025-57822",
+      "title": "nextjs--CVE-2025-57822",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2025-57822-20260318035806",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:58:06+00:00",
+      "updated_at": "2026-03-18T03:58:11+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-ssrf",
       "vuln_family": "ssrf",
@@ -12601,6 +13804,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2025-57822-20260318035806",
       "Seed local callback fixture state.",
       "Runner validates sink callback without leaving local network.",
       "Local sink callback is observed from the server-side fetch path."
@@ -12924,7 +14128,47 @@
       "/runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2025-57752",
+      "title": "nextjs--CVE-2025-57752",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2025-57752-20260318035800",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:58:00+00:00",
+      "updated_at": "2026-03-18T03:58:06+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-57752-20260318035800/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -12976,6 +14220,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2025-57752-20260318035800",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -13356,7 +14601,47 @@
       "/runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2025-55173",
+      "title": "nextjs--CVE-2025-55173",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2025-55173-20260318035753",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:57:53+00:00",
+      "updated_at": "2026-03-18T03:58:00+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-55173-20260318035753/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-xss",
       "vuln_family": "xss",
@@ -13408,6 +14693,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2025-55173-20260318035753",
       "Seed client-rendering page for XSS proof capture.",
       "Runner injects inert payload and captures browser proof.",
       "Browser proof page shows the XSS execution marker after the controlled payload."
@@ -13788,7 +15074,47 @@
       "/runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2025-49826",
+      "title": "nextjs--CVE-2025-49826",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2025-49826-20260318035747",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:57:47+00:00",
+      "updated_at": "2026-03-18T03:57:53+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49826-20260318035747/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -13840,6 +15166,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2025-49826-20260318035747",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -14220,7 +15547,47 @@
       "/runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2025-49005",
+      "title": "nextjs--CVE-2025-49005",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2025-49005-20260318035740",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:57:40+00:00",
+      "updated_at": "2026-03-18T03:57:47+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-49005-20260318035740/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -14272,6 +15639,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2025-49005-20260318035740",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -14652,7 +16020,47 @@
       "/runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2025-48068",
+      "title": "nextjs--CVE-2025-48068",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2025-48068-20260318035734",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:57:34+00:00",
+      "updated_at": "2026-03-18T03:57:40+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-48068-20260318035734/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -14704,6 +16112,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2025-48068-20260318035734",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -15084,7 +16493,47 @@
       "/runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2025-32421",
+      "title": "nextjs--CVE-2025-32421",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2025-32421-20260318035727",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:57:27+00:00",
+      "updated_at": "2026-03-18T03:57:34+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-32421-20260318035727/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -15136,6 +16585,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2025-32421-20260318035727",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -15516,7 +16966,47 @@
       "/runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2025-30218",
+      "title": "nextjs--CVE-2025-30218",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2025-30218-20260318035721",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:57:21+00:00",
+      "updated_at": "2026-03-18T03:57:27+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2025-30218-20260318035721/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -15568,6 +17058,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2025-30218-20260318035721",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -15885,7 +17376,36 @@
       "/runs/nextjs-nextjs--CVE-2025-29927-20260318035717/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2025-29927-20260318035717/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2025-29927",
+      "title": "nextjs--CVE-2025-29927",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2025-29927-20260318035717",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:57:17+00:00",
+      "updated_at": "2026-03-18T03:57:21+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-authz-bypass",
       "vuln_family": "authz-bypass",
@@ -15933,6 +17453,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2025-29927-20260318035717",
       "Seed guest/admin route fixture for server-side recheck.",
       "Runner performs local authz bypass proof only.",
       "Protected route is reachable only after the controlled bypass proof step."
@@ -16256,7 +17777,47 @@
       "/runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2024-56332",
+      "title": "nextjs--CVE-2024-56332",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2024-56332-20260318035710",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:57:10+00:00",
+      "updated_at": "2026-03-18T03:57:16+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-56332-20260318035710/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -16308,6 +17869,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2024-56332-20260318035710",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -16625,7 +18187,36 @@
       "/runs/nextjs-nextjs--CVE-2024-51479-20260318035706/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2024-51479-20260318035706/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2024-51479",
+      "title": "nextjs--CVE-2024-51479",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2024-51479-20260318035706",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:57:06+00:00",
+      "updated_at": "2026-03-18T03:57:10+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-authz-bypass",
       "vuln_family": "authz-bypass",
@@ -16673,6 +18264,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2024-51479-20260318035706",
       "Seed guest/admin route fixture for server-side recheck.",
       "Runner performs local authz bypass proof only.",
       "Protected route is reachable only after the controlled bypass proof step."
@@ -16996,7 +18588,47 @@
       "/runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2024-47831",
+      "title": "nextjs--CVE-2024-47831",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2024-47831-20260318035659",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:56:59+00:00",
+      "updated_at": "2026-03-18T03:57:06+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-47831-20260318035659/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -17048,6 +18680,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2024-47831-20260318035659",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -17428,7 +19061,47 @@
       "/runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2024-46982",
+      "title": "nextjs--CVE-2024-46982",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2024-46982-20260318035653",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:56:53+00:00",
+      "updated_at": "2026-03-18T03:56:59+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2024-46982-20260318035653/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -17480,6 +19153,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2024-46982-20260318035653",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -17797,7 +19471,36 @@
       "/runs/nextjs-nextjs--CVE-2024-34351-20260318035648/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2024-34351-20260318035648/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2024-34351",
+      "title": "nextjs--CVE-2024-34351",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2024-34351-20260318035648",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:56:48+00:00",
+      "updated_at": "2026-03-18T03:56:53+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-ssrf",
       "vuln_family": "ssrf",
@@ -17845,6 +19548,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2024-34351-20260318035648",
       "Seed local callback fixture state.",
       "Runner validates sink callback without leaving local network.",
       "Local sink callback is observed from the server-side fetch path."
@@ -18168,7 +19872,47 @@
       "/runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2021-43803",
+      "title": "nextjs--CVE-2021-43803",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2021-43803-20260318035642",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:56:42+00:00",
+      "updated_at": "2026-03-18T03:56:48+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-43803-20260318035642/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -18220,6 +19964,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2021-43803-20260318035642",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -18600,7 +20345,47 @@
       "/runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2021-39178",
+      "title": "nextjs--CVE-2021-39178",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2021-39178-20260318035635",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:56:35+00:00",
+      "updated_at": "2026-03-18T03:56:42+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-39178-20260318035635/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-xss",
       "vuln_family": "xss",
@@ -18652,6 +20437,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2021-39178-20260318035635",
       "Seed client-rendering page for XSS proof capture.",
       "Runner injects inert payload and captures browser proof.",
       "Browser proof page shows the XSS execution marker after the controlled payload."
@@ -19032,7 +20818,47 @@
       "/runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2021-37699",
+      "title": "nextjs--CVE-2021-37699",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2021-37699-20260318035628",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:56:28+00:00",
+      "updated_at": "2026-03-18T03:56:35+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2021-37699-20260318035628/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -19084,6 +20910,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2021-37699-20260318035628",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -19464,7 +21291,47 @@
       "/runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2020-5284",
+      "title": "nextjs--CVE-2020-5284",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2020-5284-20260318035622",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:56:22+00:00",
+      "updated_at": "2026-03-18T03:56:28+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-5284-20260318035622/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -19516,6 +21383,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2020-5284-20260318035622",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -19896,7 +21764,47 @@
       "/runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/attack.json",
       "/runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "nextjs--CVE-2020-15242",
+      "title": "nextjs--CVE-2020-15242",
+      "summary": "Derived from latest run nextjs-nextjs--CVE-2020-15242-20260318035615",
+      "display_name": "Next.js",
+      "system_id": "nextjs",
+      "category": "frameworks",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:56:15+00:00",
+      "updated_at": "2026-03-18T03:56:22+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "proxy-trust-boundary",
+        "token-cookie-storage"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/nextjs-nextjs--CVE-2020-15242-20260318035615/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "nextjs-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -19948,6 +21856,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run nextjs-nextjs--CVE-2020-15242-20260318035615",
       "Seed middleware boundary fixture with clean proxy state.",
       "Runner performs forwarded-header proof against local fixture only.",
       "Middleware trust-boundary proof is visible on the browser proof page."
@@ -20328,7 +22237,47 @@
       "/runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/attack.json",
       "/runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2026-20912",
+      "title": "gitea--CVE-2026-20912",
+      "summary": "Derived from latest run gitea-gitea--CVE-2026-20912-20260318035506",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:55:06+00:00",
+      "updated_at": "2026-03-18T03:55:13+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20912-20260318035506/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-file-upload",
       "vuln_family": "file-upload",
@@ -20380,6 +22329,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2026-20912-20260318035506",
       "Seed empty attachment list for upload proof.",
       "Runner uploads inert text marker only.",
       "Inert upload marker is accepted and listed on the proof page."
@@ -20760,7 +22710,47 @@
       "/runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/attack.json",
       "/runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2026-20904",
+      "title": "gitea--CVE-2026-20904",
+      "summary": "Derived from latest run gitea-gitea--CVE-2026-20904-20260318035500",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:55:00+00:00",
+      "updated_at": "2026-03-18T03:55:06+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20904-20260318035500/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -20812,6 +22802,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2026-20904-20260318035500",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -21192,7 +23183,47 @@
       "/runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/attack.json",
       "/runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2026-20897",
+      "title": "gitea--CVE-2026-20897",
+      "summary": "Derived from latest run gitea-gitea--CVE-2026-20897-20260318035454",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:54:54+00:00",
+      "updated_at": "2026-03-18T03:55:00+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20897-20260318035454/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -21244,6 +23275,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2026-20897-20260318035454",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -21624,7 +23656,47 @@
       "/runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/attack.json",
       "/runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2026-20888",
+      "title": "gitea--CVE-2026-20888",
+      "summary": "Derived from latest run gitea-gitea--CVE-2026-20888-20260318035447",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:54:47+00:00",
+      "updated_at": "2026-03-18T03:54:54+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20888-20260318035447/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -21676,6 +23748,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2026-20888-20260318035447",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -22056,7 +24129,47 @@
       "/runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/attack.json",
       "/runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2026-20883",
+      "title": "gitea--CVE-2026-20883",
+      "summary": "Derived from latest run gitea-gitea--CVE-2026-20883-20260318035441",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:54:41+00:00",
+      "updated_at": "2026-03-18T03:54:47+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20883-20260318035441/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -22108,6 +24221,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2026-20883-20260318035441",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -22488,7 +24602,47 @@
       "/runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/attack.json",
       "/runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2026-20800",
+      "title": "gitea--CVE-2026-20800",
+      "summary": "Derived from latest run gitea-gitea--CVE-2026-20800-20260318035434",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:54:34+00:00",
+      "updated_at": "2026-03-18T03:54:41+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20800-20260318035434/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -22540,6 +24694,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2026-20800-20260318035434",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -22920,7 +25075,47 @@
       "/runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/attack.json",
       "/runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2026-20750",
+      "title": "gitea--CVE-2026-20750",
+      "summary": "Derived from latest run gitea-gitea--CVE-2026-20750-20260318035428",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:54:28+00:00",
+      "updated_at": "2026-03-18T03:54:34+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-20750-20260318035428/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -22972,6 +25167,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2026-20750-20260318035428",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -23289,7 +25485,36 @@
       "/runs/gitea-gitea--CVE-2026-20736-20260318035423/logs/attack.json",
       "/runs/gitea-gitea--CVE-2026-20736-20260318035423/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2026-20736",
+      "title": "gitea--CVE-2026-20736",
+      "summary": "Derived from latest run gitea-gitea--CVE-2026-20736-20260318035423",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:54:23+00:00",
+      "updated_at": "2026-03-18T03:54:27+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-authz-bypass",
       "vuln_family": "authz-bypass",
@@ -23337,6 +25562,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2026-20736-20260318035423",
       "Seed low-privilege and admin boundary fixture state.",
       "Runner verifies guest-to-admin bypass only inside fixture route.",
       "Controlled guest request reaches the protected admin route inside the fixture."
@@ -23660,7 +25886,47 @@
       "/runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/attack.json",
       "/runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2026-0798",
+      "title": "gitea--CVE-2026-0798",
+      "summary": "Derived from latest run gitea-gitea--CVE-2026-0798-20260318035416",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:54:16+00:00",
+      "updated_at": "2026-03-18T03:54:23+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2026-0798-20260318035416/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -23712,6 +25978,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2026-0798-20260318035416",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -24092,7 +26359,47 @@
       "/runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/attack.json",
       "/runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2025-69413",
+      "title": "gitea--CVE-2025-69413",
+      "summary": "Derived from latest run gitea-gitea--CVE-2025-69413-20260318035410",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:54:10+00:00",
+      "updated_at": "2026-03-18T03:54:16+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-69413-20260318035410/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -24144,6 +26451,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2025-69413-20260318035410",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -24524,7 +26832,47 @@
       "/runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/attack.json",
       "/runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2025-68946",
+      "title": "gitea--CVE-2025-68946",
+      "summary": "Derived from latest run gitea-gitea--CVE-2025-68946-20260318035404",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:54:04+00:00",
+      "updated_at": "2026-03-18T03:54:10+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68946-20260318035404/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-xss",
       "vuln_family": "xss",
@@ -24576,6 +26924,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2025-68946-20260318035404",
       "Seed stored content page before browser proof capture.",
       "Runner stores inert script payload and captures proof page.",
       "Browser proof page renders the stored XSS marker after the controlled payload."
@@ -24956,7 +27305,47 @@
       "/runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/attack.json",
       "/runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2025-68945",
+      "title": "gitea--CVE-2025-68945",
+      "summary": "Derived from latest run gitea-gitea--CVE-2025-68945-20260318035358",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:53:58+00:00",
+      "updated_at": "2026-03-18T03:54:04+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68945-20260318035358/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -25008,6 +27397,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2025-68945-20260318035358",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -25325,7 +27715,36 @@
       "/runs/gitea-gitea--CVE-2025-68944-20260318035353/logs/attack.json",
       "/runs/gitea-gitea--CVE-2025-68944-20260318035353/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2025-68944",
+      "title": "gitea--CVE-2025-68944",
+      "summary": "Derived from latest run gitea-gitea--CVE-2025-68944-20260318035353",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:53:53+00:00",
+      "updated_at": "2026-03-18T03:53:57+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-authz-bypass",
       "vuln_family": "authz-bypass",
@@ -25373,6 +27792,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2025-68944-20260318035353",
       "Seed low-privilege and admin boundary fixture state.",
       "Runner verifies guest-to-admin bypass only inside fixture route.",
       "Controlled guest request reaches the protected admin route inside the fixture."
@@ -25696,7 +28116,47 @@
       "/runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/attack.json",
       "/runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2025-68943",
+      "title": "gitea--CVE-2025-68943",
+      "summary": "Derived from latest run gitea-gitea--CVE-2025-68943-20260318035347",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:53:47+00:00",
+      "updated_at": "2026-03-18T03:53:53+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68943-20260318035347/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -25748,6 +28208,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2025-68943-20260318035347",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -26128,7 +28589,47 @@
       "/runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/attack.json",
       "/runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2025-68942",
+      "title": "gitea--CVE-2025-68942",
+      "summary": "Derived from latest run gitea-gitea--CVE-2025-68942-20260318035340",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:53:40+00:00",
+      "updated_at": "2026-03-18T03:53:47+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68942-20260318035340/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-xss",
       "vuln_family": "xss",
@@ -26180,6 +28681,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2025-68942-20260318035340",
       "Seed stored content page before browser proof capture.",
       "Runner stores inert script payload and captures proof page.",
       "Browser proof page renders the stored XSS marker after the controlled payload."
@@ -26560,7 +29062,47 @@
       "/runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/attack.json",
       "/runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2025-68941",
+      "title": "gitea--CVE-2025-68941",
+      "summary": "Derived from latest run gitea-gitea--CVE-2025-68941-20260318035334",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:53:34+00:00",
+      "updated_at": "2026-03-18T03:53:40+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68941-20260318035334/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -26612,6 +29154,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2025-68941-20260318035334",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -26929,7 +29472,36 @@
       "/runs/gitea-gitea--CVE-2025-68940-20260318035330/logs/attack.json",
       "/runs/gitea-gitea--CVE-2025-68940-20260318035330/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2025-68940",
+      "title": "gitea--CVE-2025-68940",
+      "summary": "Derived from latest run gitea-gitea--CVE-2025-68940-20260318035330",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:53:30+00:00",
+      "updated_at": "2026-03-18T03:53:34+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-authz-bypass",
       "vuln_family": "authz-bypass",
@@ -26977,6 +29549,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2025-68940-20260318035330",
       "Seed low-privilege and admin boundary fixture state.",
       "Runner verifies guest-to-admin bypass only inside fixture route.",
       "Controlled guest request reaches the protected admin route inside the fixture."
@@ -27300,7 +29873,47 @@
       "/runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/attack.json",
       "/runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2025-68939",
+      "title": "gitea--CVE-2025-68939",
+      "summary": "Derived from latest run gitea-gitea--CVE-2025-68939-20260318035323",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:53:23+00:00",
+      "updated_at": "2026-03-18T03:53:29+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68939-20260318035323/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-file-upload",
       "vuln_family": "file-upload",
@@ -27352,6 +29965,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2025-68939-20260318035323",
       "Seed empty attachment list for upload proof.",
       "Runner uploads inert text marker only.",
       "Inert upload marker is accepted and listed on the proof page."
@@ -27732,7 +30346,47 @@
       "/runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/attack.json",
       "/runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2025-68938",
+      "title": "gitea--CVE-2025-68938",
+      "summary": "Derived from latest run gitea-gitea--CVE-2025-68938-20260318035317",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:53:17+00:00",
+      "updated_at": "2026-03-18T03:53:23+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2025-68938-20260318035317/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -27784,6 +30438,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2025-68938-20260318035317",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -28164,7 +30819,47 @@
       "/runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-42968",
+      "title": "gitea--CVE-2022-42968",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-42968-20260318035311",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:53:11+00:00",
+      "updated_at": "2026-03-18T03:53:17+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-42968-20260318035311/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -28216,6 +30911,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-42968-20260318035311",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -28596,7 +31292,47 @@
       "/runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-38795",
+      "title": "gitea--CVE-2022-38795",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-38795-20260318035304",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:53:04+00:00",
+      "updated_at": "2026-03-18T03:53:11+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -28648,6 +31384,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-38795-20260318035304",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -29028,7 +31765,47 @@
       "/runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-38183",
+      "title": "gitea--CVE-2022-38183",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-38183-20260318035258",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:58+00:00",
+      "updated_at": "2026-03-18T03:53:04+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -29080,6 +31857,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-38183-20260318035258",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -29460,7 +32238,47 @@
       "/runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-30781",
+      "title": "gitea--CVE-2022-30781",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-30781-20260318035252",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:52+00:00",
+      "updated_at": "2026-03-18T03:52:58+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -29512,6 +32330,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-30781-20260318035252",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -29892,7 +32711,47 @@
       "/runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-27313",
+      "title": "gitea--CVE-2022-27313",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-27313-20260318035245",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:45+00:00",
+      "updated_at": "2026-03-18T03:52:52+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -29944,6 +32803,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-27313-20260318035245",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -30324,7 +33184,47 @@
       "/runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-1928",
+      "title": "gitea--CVE-2022-1928",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-1928-20260318035239",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:39+00:00",
+      "updated_at": "2026-03-18T03:52:45+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-xss",
       "vuln_family": "xss",
@@ -30376,6 +33276,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-1928-20260318035239",
       "Seed stored content page before browser proof capture.",
       "Runner stores inert script payload and captures proof page.",
       "Browser proof page renders the stored XSS marker after the controlled payload."
@@ -30756,7 +33657,47 @@
       "/runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-1058",
+      "title": "gitea--CVE-2022-1058",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-1058-20260318035233",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:33+00:00",
+      "updated_at": "2026-03-18T03:52:39+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -30808,6 +33749,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-1058-20260318035233",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -31188,7 +34130,47 @@
       "/runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-0905",
+      "title": "gitea--CVE-2022-0905",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-0905-20260318035226",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:26+00:00",
+      "updated_at": "2026-03-18T03:52:33+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -31240,6 +34222,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-0905-20260318035226",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -31620,7 +34603,47 @@
       "/runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/attack.json",
       "/runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2021-45331",
+      "title": "gitea--CVE-2021-45331",
+      "summary": "Derived from latest run gitea-gitea--CVE-2021-45331-20260318035220",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:20+00:00",
+      "updated_at": "2026-03-18T03:52:26+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -31672,6 +34695,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2021-45331-20260318035220",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -32052,7 +35076,47 @@
       "/runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/attack.json",
       "/runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2021-45330",
+      "title": "gitea--CVE-2021-45330",
+      "summary": "Derived from latest run gitea-gitea--CVE-2021-45330-20260318035214",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:14+00:00",
+      "updated_at": "2026-03-18T03:52:20+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -32104,6 +35168,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2021-45330-20260318035214",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -32484,7 +35549,47 @@
       "/runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/attack.json",
       "/runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2021-45327",
+      "title": "gitea--CVE-2021-45327",
+      "summary": "Derived from latest run gitea-gitea--CVE-2021-45327-20260318035207",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:07+00:00",
+      "updated_at": "2026-03-18T03:52:14+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -32536,6 +35641,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2021-45327-20260318035207",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -32916,7 +36022,47 @@
       "/runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/attack.json",
       "/runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2021-3382",
+      "title": "gitea--CVE-2021-3382",
+      "summary": "Derived from latest run gitea-gitea--CVE-2021-3382-20260318035201",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:01+00:00",
+      "updated_at": "2026-03-18T03:52:07+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -32968,6 +36114,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2021-3382-20260318035201",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -33348,7 +36495,47 @@
       "/runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/attack.json",
       "/runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2021-29134",
+      "title": "gitea--CVE-2021-29134",
+      "summary": "Derived from latest run gitea-gitea--CVE-2021-29134-20260318035154",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:51:54+00:00",
+      "updated_at": "2026-03-18T03:52:01+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-29134-20260318035154/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -33400,6 +36587,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2021-29134-20260318035154",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -33780,7 +36968,47 @@
       "/runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/attack.json",
       "/runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2021-28378",
+      "title": "gitea--CVE-2021-28378",
+      "summary": "Derived from latest run gitea-gitea--CVE-2021-28378-20260318035148",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:51:48+00:00",
+      "updated_at": "2026-03-18T03:51:54+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-28378-20260318035148/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-xss",
       "vuln_family": "xss",
@@ -33832,6 +37060,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2021-28378-20260318035148",
       "Seed stored content page before browser proof capture.",
       "Runner stores inert script payload and captures proof page.",
       "Browser proof page renders the stored XSS marker after the controlled payload."
@@ -34212,7 +37441,47 @@
       "/runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/attack.json",
       "/runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2020-13246",
+      "title": "gitea--CVE-2020-13246",
+      "summary": "Derived from latest run gitea-gitea--CVE-2020-13246-20260318035142",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:51:42+00:00",
+      "updated_at": "2026-03-18T03:51:48+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2020-13246-20260318035142/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -34264,6 +37533,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2020-13246-20260318035142",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -34644,7 +37914,47 @@
       "/runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/attack.json",
       "/runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2019-1010261",
+      "title": "gitea--CVE-2019-1010261",
+      "summary": "Derived from latest run gitea-gitea--CVE-2019-1010261-20260318035135",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:51:35+00:00",
+      "updated_at": "2026-03-18T03:51:42+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2019-1010261-20260318035135/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-xss",
       "vuln_family": "xss",
@@ -34696,6 +38006,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2019-1010261-20260318035135",
       "Seed stored content page before browser proof capture.",
       "Runner stores inert script payload and captures proof page.",
       "Browser proof page renders the stored XSS marker after the controlled payload."
@@ -35076,7 +38387,47 @@
       "/runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/attack.json",
       "/runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2018-18926",
+      "title": "gitea--CVE-2018-18926",
+      "summary": "Derived from latest run gitea-gitea--CVE-2018-18926-20260318035129",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:51:29+00:00",
+      "updated_at": "2026-03-18T03:51:35+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2018-18926-20260318035129/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -35128,6 +38479,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2018-18926-20260318035129",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -35445,7 +38797,36 @@
       "/runs/gitea-gitea--CVE-2018-15192-20260318035123/logs/attack.json",
       "/runs/gitea-gitea--CVE-2018-15192-20260318035123/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2018-15192",
+      "title": "gitea--CVE-2018-15192",
+      "summary": "Derived from latest run gitea-gitea--CVE-2018-15192-20260318035123",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:51:23+00:00",
+      "updated_at": "2026-03-18T03:51:29+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": false,
+        "present": false,
+        "refs": []
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-ssrf",
       "vuln_family": "ssrf",
@@ -35493,6 +38874,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2018-15192-20260318035123",
       "Seed local sink counters only.",
       "Runner triggers callback strictly to local sink endpoint.",
       "Server-side callback reaches the local sink and is recorded in proof output."
@@ -35816,7 +39198,47 @@
       "/runs/gitea-gitea--CVE-2022-38795-20260318035115/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-38795-20260318035115/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-38795",
+      "title": "gitea--CVE-2022-38795",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-38795-20260318035304",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:53:04+00:00",
+      "updated_at": "2026-03-18T03:53:11+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38795-20260318035304/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -35868,6 +39290,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-38795-20260318035304",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -36248,7 +39671,47 @@
       "/runs/gitea-gitea--CVE-2022-38183-20260318035108/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-38183-20260318035108/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-38183",
+      "title": "gitea--CVE-2022-38183",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-38183-20260318035258",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:58+00:00",
+      "updated_at": "2026-03-18T03:53:04+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-38183-20260318035258/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -36300,6 +39763,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-38183-20260318035258",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -36680,7 +40144,47 @@
       "/runs/gitea-gitea--CVE-2022-30781-20260318035102/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-30781-20260318035102/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-30781",
+      "title": "gitea--CVE-2022-30781",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-30781-20260318035252",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:52+00:00",
+      "updated_at": "2026-03-18T03:52:58+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-30781-20260318035252/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -36732,6 +40236,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-30781-20260318035252",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -37112,7 +40617,47 @@
       "/runs/gitea-gitea--CVE-2022-27313-20260318035055/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-27313-20260318035055/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-27313",
+      "title": "gitea--CVE-2022-27313",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-27313-20260318035245",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:45+00:00",
+      "updated_at": "2026-03-18T03:52:52+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-27313-20260318035245/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -37164,6 +40709,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-27313-20260318035245",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -37544,7 +41090,47 @@
       "/runs/gitea-gitea--CVE-2022-1928-20260318035049/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-1928-20260318035049/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-1928",
+      "title": "gitea--CVE-2022-1928",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-1928-20260318035239",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:39+00:00",
+      "updated_at": "2026-03-18T03:52:45+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1928-20260318035239/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-xss",
       "vuln_family": "xss",
@@ -37596,6 +41182,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-1928-20260318035239",
       "Seed stored content page before browser proof capture.",
       "Runner stores inert script payload and captures proof page.",
       "Browser proof page renders the stored XSS marker after the controlled payload."
@@ -37976,7 +41563,47 @@
       "/runs/gitea-gitea--CVE-2022-1058-20260318035042/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-1058-20260318035042/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-1058",
+      "title": "gitea--CVE-2022-1058",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-1058-20260318035233",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:33+00:00",
+      "updated_at": "2026-03-18T03:52:39+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-1058-20260318035233/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -38028,6 +41655,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-1058-20260318035233",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -38408,7 +42036,47 @@
       "/runs/gitea-gitea--CVE-2022-0905-20260318035035/logs/attack.json",
       "/runs/gitea-gitea--CVE-2022-0905-20260318035035/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2022-0905",
+      "title": "gitea--CVE-2022-0905",
+      "summary": "Derived from latest run gitea-gitea--CVE-2022-0905-20260318035226",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:26+00:00",
+      "updated_at": "2026-03-18T03:52:33+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2022-0905-20260318035226/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -38460,6 +42128,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2022-0905-20260318035226",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -38840,7 +42509,47 @@
       "/runs/gitea-gitea--CVE-2021-45331-20260318035029/logs/attack.json",
       "/runs/gitea-gitea--CVE-2021-45331-20260318035029/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2021-45331",
+      "title": "gitea--CVE-2021-45331",
+      "summary": "Derived from latest run gitea-gitea--CVE-2021-45331-20260318035220",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:20+00:00",
+      "updated_at": "2026-03-18T03:52:26+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45331-20260318035220/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -38892,6 +42601,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2021-45331-20260318035220",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -39272,7 +42982,47 @@
       "/runs/gitea-gitea--CVE-2021-45330-20260318035023/logs/attack.json",
       "/runs/gitea-gitea--CVE-2021-45330-20260318035023/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2021-45330",
+      "title": "gitea--CVE-2021-45330",
+      "summary": "Derived from latest run gitea-gitea--CVE-2021-45330-20260318035214",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:14+00:00",
+      "updated_at": "2026-03-18T03:52:20+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45330-20260318035214/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -39324,6 +43074,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2021-45330-20260318035214",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -39704,7 +43455,47 @@
       "/runs/gitea-gitea--CVE-2021-45327-20260318035016/logs/attack.json",
       "/runs/gitea-gitea--CVE-2021-45327-20260318035016/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2021-45327",
+      "title": "gitea--CVE-2021-45327",
+      "summary": "Derived from latest run gitea-gitea--CVE-2021-45327-20260318035207",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:07+00:00",
+      "updated_at": "2026-03-18T03:52:14+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-45327-20260318035207/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -39756,6 +43547,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2021-45327-20260318035207",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
@@ -40136,7 +43928,47 @@
       "/runs/gitea-gitea--CVE-2021-3382-20260318035010/logs/attack.json",
       "/runs/gitea-gitea--CVE-2021-3382-20260318035010/logs/baseline.json"
     ],
-    "advisory_meta": {},
+    "advisory_meta": {
+      "canonical_id": "gitea--CVE-2021-3382",
+      "title": "gitea--CVE-2021-3382",
+      "summary": "Derived from latest run gitea-gitea--CVE-2021-3382-20260318035201",
+      "display_name": "Gitea",
+      "system_id": "gitea",
+      "category": "platforms",
+      "severity": null,
+      "cvss_score": null,
+      "exploit_status": null,
+      "published_at": "2026-03-18T03:52:01+00:00",
+      "updated_at": "2026-03-18T03:52:07+00:00",
+      "official_source_url": "",
+      "secondary_source_urls": [],
+      "aliases": [],
+      "secure_code_topics": [
+        "authz-server-side-recheck",
+        "token-cookie-storage",
+        "proxy-trust-boundary"
+      ],
+      "verification_status": "verified-real",
+      "verification_mode": "real",
+      "artifact_mode": "local-fixture",
+      "blocked_reason": null,
+      "browser_evidence": {
+        "required": true,
+        "present": true,
+        "refs": [
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/baseline.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/baseline-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/baseline-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/baseline-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/baseline-page.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/proof.png",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/assets/proof-dom.html",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/proof-console.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/proof-network.json",
+          "/Users/x/websafe/06-case-studies/generated-runs/gitea-gitea--CVE-2021-3382-20260318035201/logs/proof-page.json"
+        ]
+      }
+    },
     "profile_meta": {
       "profile_id": "gitea-proxy-boundary",
       "vuln_family": "proxy-boundary",
@@ -40188,6 +44020,7 @@
       ]
     },
     "reasoning_lines": [
+      "Derived from latest run gitea-gitea--CVE-2021-3382-20260318035201",
       "Seed forwarded-header boundary fixture with clean state.",
       "Runner performs local forwarded-header trust proof only inside the fixture.",
       "Local fixture proves trusted proxy headers cross the admin boundary."
diff --git a/08-threat-intel/generated/dashboard/summary.json b/08-threat-intel/generated/dashboard/summary.json
index 8b79ff80..7f99c44b 100644
--- a/08-threat-intel/generated/dashboard/summary.json
+++ b/08-threat-intel/generated/dashboard/summary.json
@@ -1,8 +1,10 @@
 {
-  "generated_at": "2026-03-18T17:52:49+00:00",
-  "advisory_count": 0,
+  "generated_at": "2026-03-18T17:56:12+00:00",
+  "advisory_count": 89,
   "run_count": 140,
-  "statuses": {},
+  "statuses": {
+    "verified-real": 89
+  },
   "run_statuses": {
     "verified-real": 136,
     "blocked-artifact": 3,
@@ -16,15 +18,162 @@
     "open_alert_count": 0,
     "last_fully_green_run": "2026-03-18T17:44:31+00:00"
   },
-  "systems": [],
+  "systems": [
+    {
+      "system_id": "gitea",
+      "display_name": "Gitea",
+      "total": 37,
+      "verified_real": 37,
+      "verified_synthetic": 0,
+      "blocked": 0,
+      "manual": 0,
+      "browser_required": 33,
+      "browser_present": 33,
+      "latest_update": "2026-03-18T03:55:13+00:00",
+      "category": "platforms",
+      "tier": "rolling-24m",
+      "output_dir": "07-framework-security/platforms/gitea",
+      "families": [
+        {
+          "family": "authz-bypass",
+          "total": 3,
+          "verified_real": 3,
+          "manual": 0
+        },
+        {
+          "family": "file-upload",
+          "total": 2,
+          "verified_real": 2,
+          "manual": 0
+        },
+        {
+          "family": "proxy-boundary",
+          "total": 26,
+          "verified_real": 26,
+          "manual": 0
+        },
+        {
+          "family": "ssrf",
+          "total": 1,
+          "verified_real": 1,
+          "manual": 0
+        },
+        {
+          "family": "xss",
+          "total": 5,
+          "verified_real": 5,
+          "manual": 0
+        }
+      ]
+    },
+    {
+      "system_id": "nextjs",
+      "display_name": "Next.js",
+      "total": 26,
+      "verified_real": 26,
+      "verified_synthetic": 0,
+      "blocked": 0,
+      "manual": 0,
+      "browser_required": 21,
+      "browser_present": 21,
+      "latest_update": "2026-03-18T03:58:55+00:00",
+      "category": "frameworks",
+      "tier": "history-full",
+      "output_dir": "07-framework-security/frameworks/nextjs",
+      "families": [
+        {
+          "family": "authz-bypass",
+          "total": 2,
+          "verified_real": 2,
+          "manual": 0
+        },
+        {
+          "family": "deserialization",
+          "total": 1,
+          "verified_real": 1,
+          "manual": 0
+        },
+        {
+          "family": "proxy-boundary",
+          "total": 19,
+          "verified_real": 19,
+          "manual": 0
+        },
+        {
+          "family": "ssrf",
+          "total": 2,
+          "verified_real": 2,
+          "manual": 0
+        },
+        {
+          "family": "xss",
+          "total": 2,
+          "verified_real": 2,
+          "manual": 0
+        }
+      ]
+    },
+    {
+      "system_id": "undici",
+      "display_name": "Undici",
+      "total": 14,
+      "verified_real": 14,
+      "verified_synthetic": 0,
+      "blocked": 0,
+      "manual": 0,
+      "browser_required": 0,
+      "browser_present": 0,
+      "latest_update": "2026-03-18T04:03:36+00:00",
+      "category": "frameworks",
+      "tier": "rolling-24m",
+      "output_dir": "07-framework-security/frameworks/undici",
+      "families": [
+        {
+          "family": "ssrf",
+          "total": 14,
+          "verified_real": 14,
+          "manual": 0
+        }
+      ]
+    },
+    {
+      "system_id": "vite",
+      "display_name": "Vite",
+      "total": 12,
+      "verified_real": 12,
+      "verified_synthetic": 0,
+      "blocked": 0,
+      "manual": 0,
+      "browser_required": 12,
+      "browser_present": 12,
+      "latest_update": "2026-03-18T04:06:05+00:00",
+      "category": "frameworks",
+      "tier": "history-full",
+      "output_dir": "07-framework-security/frameworks/vite",
+      "families": [
+        {
+          "family": "proxy-boundary",
+          "total": 11,
+          "verified_real": 11,
+          "manual": 0
+        },
+        {
+          "family": "xss",
+          "total": 1,
+          "verified_real": 1,
+          "manual": 0
+        }
+      ]
+    }
+  ],
   "completeness": {
-    "advisory_total": 0,
-    "verified_real": 0,
+    "advisory_total": 89,
+    "verified_real": 89,
     "verified_synthetic": 0,
     "blocked": 0,
     "manual": 0,
-    "verified_ratio": 0.0,
-    "complete": false,
+    "verified_ratio": 100.0,
+    "complete": true,
     "source_failure_count": 0,
     "active_source_count": 110,
     "open_alert_count": 0
diff --git a/08-threat-intel/generated/dashboard/systems.json b/08-threat-intel/generated/dashboard/systems.json
index fe51488c..703b6bf6 100644
--- a/08-threat-intel/generated/dashboard/systems.json
+++ b/08-threat-intel/generated/dashboard/systems.json
@@ -1 +1,148 @@
-[]
+[
+  {
+    "system_id": "gitea",
+    "display_name": "Gitea",
+    "total": 37,
+    "verified_real": 37,
+    "verified_synthetic": 0,
+    "blocked": 0,
+    "manual": 0,
+    "browser_required": 33,
+    "browser_present": 33,
+    "latest_update": "2026-03-18T03:55:13+00:00",
+    "category": "platforms",
+    "tier": "rolling-24m",
+    "output_dir": "07-framework-security/platforms/gitea",
+    "families": [
+      {
+        "family": "authz-bypass",
+        "total": 3,
+        "verified_real": 3,
+        "manual": 0
+      },
+      {
+        "family": "file-upload",
+        "total": 2,
+        "verified_real": 2,
+        "manual": 0
+      },
+      {
+        "family": "proxy-boundary",
+        "total": 26,
+        "verified_real": 26,
+        "manual": 0
+      },
+      {
+        "family": "ssrf",
+        "total": 1,
+        "verified_real": 1,
+        "manual": 0
+      },
+      {
+        "family": "xss",
+        "total": 5,
+        "verified_real": 5,
+        "manual": 0
+      }
+    ]
+  },
+  {
+    "system_id": "nextjs",
+    "display_name": "Next.js",
+    "total": 26,
+    "verified_real": 26,
+    "verified_synthetic": 0,
+    "blocked": 0,
+    "manual": 0,
+    "browser_required": 21,
+    "browser_present": 21,
+    "latest_update": "2026-03-18T03:58:55+00:00",
+    "category": "frameworks",
+    "tier": "history-full",
+    "output_dir": "07-framework-security/frameworks/nextjs",
+    "families": [
+      {
+        "family": "authz-bypass",
+        "total": 2,
+        "verified_real": 2,
+        "manual": 0
+      },
+      {
+        "family": "deserialization",
+        "total": 1,
+        "verified_real": 1,
+        "manual": 0
+      },
+      {
+        "family": "proxy-boundary",
+        "total": 19,
+        "verified_real": 19,
+        "manual": 0
+      },
+      {
+        "family": "ssrf",
+        "total": 2,
+        "verified_real": 2,
+        "manual": 0
+      },
+      {
+        "family": "xss",
+        "total": 2,
+        "verified_real": 2,
+        "manual": 0
+      }
+    ]
+  },
+  {
+    "system_id": "undici",
+    "display_name": "Undici",
+    "total": 14,
+    "verified_real": 14,
+    "verified_synthetic": 0,
+    "blocked": 0,
+    "manual": 0,
+    "browser_required": 0,
+    "browser_present": 0,
+    "latest_update": "2026-03-18T04:03:36+00:00",
+    "category": "frameworks",
+    "tier": "rolling-24m",
+    "output_dir": "07-framework-security/frameworks/undici",
+    "families": [
+      {
+        "family": "ssrf",
+        "total": 14,
+        "verified_real": 14,
+        "manual": 0
+      }
+    ]
+  },
+  {
+    "system_id": "vite",
+    "display_name": "Vite",
+    "total": 12,
+    "verified_real": 12,
+    "verified_synthetic": 0,
+    "blocked": 0,
+    "manual": 0,
+    "browser_required": 12,
+    "browser_present": 12,
+    "latest_update": "2026-03-18T04:06:05+00:00",
+    "category": "frameworks",
+    "tier": "history-full",
+    "output_dir": "07-framework-security/frameworks/vite",
+    "families": [
+      {
+        "family": "proxy-boundary",
+        "total": 11,
+        "verified_real": 11,
+        "manual": 0
+      },
+      {
+        "family": "xss",
+        "total": 1,
+        "verified_real": 1,
+        "manual": 0
+      }
+    ]
+  }
+]
diff --git a/08-threat-intel/generated/source-catalog-audit.json b/08-threat-intel/generated/source-catalog-audit.json
index f3503cab..9fc0f6da 100644
--- a/08-threat-intel/generated/source-catalog-audit.json
+++ b/08-threat-intel/generated/source-catalog-audit.json
@@ -1,5 +1,5 @@
 {
-  "generated_at": "2026-03-18T17:41:42+00:00",
+  "generated_at": "2026-03-18T17:58:07+00:00",
   "system_count": 62,
   "source_count": 146,
   "active_source_count": 110,
diff --git a/08-threat-intel/generated/source-catalog-audit.md b/08-threat-intel/generated/source-catalog-audit.md
index 10d3a570..a576695d 100644
--- a/08-threat-intel/generated/source-catalog-audit.md
+++ b/08-threat-intel/generated/source-catalog-audit.md
@@ -1,6 +1,6 @@
 # Source Catalog Audit
 
-- generated_at: `2026-03-18T17:41:42+00:00`
+- generated_at: `2026-03-18T17:58:07+00:00`
 - systems: `62`
 - sources: `146`
 - active_sources: `110`
diff --git a/docs/testing-completeness-report.md b/docs/testing-completeness-report.md
index 187b8ad7..37c6cc64 100644
--- a/docs/testing-completeness-report.md
+++ b/docs/testing-completeness-report.md
@@ -1,11 +1,11 @@
 # 全库 Advisory 完整度报告
 
-- 生成时间: `2026-03-18T17:52:49+00:00`
-- 最新 advisory 完整度: `0/0` `verified-real`
+- 生成时间: `2026-03-18T17:56:12+00:00`
+- 最新 advisory 完整度: `89/89` `verified-real`
 - 合成验证数量: `0`
 - 阻塞数量: `0`
 - 人工/待补证据数量: `0`
-- 完整度百分比: `0.0%`
+- 完整度百分比: `100.0%`
 - active source 全绿: `110/110`
 - source open alerts: `0`
 - 最近一次 source 全绿: `2026-03-18T17:44:31+00:00`
@@ -14,6 +14,10 @@
 
 | 系统 | 总数 | verified-real | verified-synthetic | blocked | manual | family 覆盖 |
 | --- | ---: | ---: | ---: | ---: | ---: | --- |
+| gitea | 37 | 37 | 0 | 0 | 0 | authz-bypass(3/3), file-upload(2/2), proxy-boundary(26/26), ssrf(1/1), xss(5/5) |
+| nextjs | 26 | 26 | 0 | 0 | 0 | authz-bypass(2/2), deserialization(1/1), proxy-boundary(19/19), ssrf(2/2), xss(2/2) |
+| undici | 14 | 14 | 0 | 0 | 0 | ssrf(14/14) |
+| vite | 12 | 12 | 0 | 0 | 0 | proxy-boundary(11/11), xss(1/1) |
 
 ## 历史阻塞项修复纪要