用途:在任意 pnpm 项目中审计依赖漏洞,生成修复前的安全报告,并在用户明确确认后才执行修复。适合需要批量处理依赖漏洞、又要求改动可控的开发与维护场景。
主要能力:默认修复范围为 moderate、high、critical;low 级别仅在报告中展示(含摘要与明细),只有用户明确要求才修复。报告包含包名、已安装版本、严重级别、CVE/公告 ID、依赖路径、修复版本及对应动作。修复优先顺序为:直接依赖升版(pnpm update <package>@<patched-version> 或改 package.json 后 pnpm install)> pnpm.overrides 处理传递依赖 > pnpm audit --fix(最后手段,可能添加超出范围的 overrides)。
工作流:先用 pnpm --version 确认是 pnpm 项目(存在 pnpm-lock.yaml 或 packageManager 字段)。再运行 pnpm audit --json > /tmp/pnpm-audit.json 收集数据,输出为空或非合法 JSON 时必须停止并报错,不得猜测版本。可用 node scripts/collect-audit.mjs 解析或重新执行审计。随后按 report-template.md 生成报告,每个默认范围条目都要有明确修复计划;待用户确认范围(确认 / 仅 high、critical / 包含 low / 指定条目编号 / 取消)后,才按 A、B、C 顺序应用修复。每批修复后用 pnpm audit --json 复核,最后用 pnpm audit --audit-level moderate 验证并给出修复前后对比摘要。
限制与硬性规则:用户在确认前绝不修改 package.json、lockfile 或 overrides;绝不修复批准范围之外的级别;不删除与本次修复无关的既有 pnpm.overrides 条目;除非用户要求否则不提交。action 为 review 的条目只做人工复核说明,不自动修。需要大版本跃迁时标记为破坏性变更风险,需用户明确批准。若登记表或网络导致审计失败,报告错误并停止。仅当用户要求或仓库有标准检查脚本时才运行测试或构建。