用途:在漏洞分析与后续影响评估、合并阶段之间使用,依据上游修复 PR/CL 获取精确补丁文件及修改文件列表。输入为 .ace-outputs/{runId}/{issue_id}/01_issue_analysis.md 与 .json,其中 upstream_fix_prs[] 是唯一可信入口。输出写入同一 issue 目录:02_patch_fetch.md、02_patch_fetch.json,patch 归档到 {issue_id}/patches/;根目录不得写文件,不生成索引文件或 runId 级 patches/ 目录。
主要能力:优先用内置脚本抓取校验,命令为 python3 skills/arkweb-security-patch-fetch/scripts/fetch_chromium_patch.py --project-root <context.codebase> --output-root <context.projectRoot>/.ace-outputs/<runId>,可选 --issue-id 与 --offline。支持 Chromium Gerrit CL 和 Gitiles commit patch URL;只用第一个主修复候选,其余写入 excluded_candidates[];对 patch 做标准 diff 签名校验,识别 HTML、JSON metadata 或错误页等无效内容。裁决阶段可用 validate_patch_files.py 复查 patch_files[]。
限制:不补抓依赖 patch;不把相似标题、同组件、同目录、同作者的其他 CL/PR 当作修复;必须区分修复 PR/CL 与引入 bug 的 PR/CL,后者仅作根因或版本范围证据并阻塞抓取;主修复无法单独确认或获取时明确失败;离线时记录失败命令与需人工提供的精确 patch 链接;Gerrit 文件列表与 patch 下载失败时记录 HTTP 状态和命令;未通过内容校验的文件不得标注为可进入后续阶段。