用途:将仓库中处于 open 状态的 Dependabot 安全告警分流为 GUS 工作项(WI),交由 auto-build-wi 工作流执行实际的构建与 PR。仅用户主动调用,绝不自动触发。输出仅为工作项,不含分支、版本升级或 PR。
主要能力与规则:禁止在 package.json 中使用 npm overrides,也禁止盲目升级 lockfile;必须先把依赖追溯到最外层消费者。无参数调用时列出开放告警,命令为 gh api repos/forcedotcom/salesforcedx-vscode/dependabot/alerts --paginate --jq '[.[] | select(.state=="open")]' | jq -s add,其中 --paginate 必需,否则 API 默认每页 30 条会静默只返回第一页。指定包、GHSA 或 CVE 时仅处理该告警。
处理流程:从仓库根运行 npm why <vuln-pkg> 或 npm ls <vuln-pkg>,沿依赖路径向外找到声明于某个 package.json 的直接依赖,即最外层消费者,一个告警可涉及多个消费者。按顺序尝试修复:先在对应 package.json 中升级消费者版本(首选);再尝试 npm update <consumer>(lockfile 过期时,次选);若消费者最新版仍固定于漏洞版本则跳过,不建 WI。选择能解析到已修补版本的最低消费者版本,而非最新版。
若跨越主版本,则对每个跨主版本的升级启动子代理审查,读取所跨主版本的更新日志,检索受影响 API,返回是否破坏、破坏位置及能清除漏洞且不破坏的最低版本。重点检查仅 ESM、丢弃 Node 引擎支持、以及消费者引入的传递性主版本升级。Dependabot 去重:若已有同升级的开放 PR,绿色可合并则跳过;CI 失败则关闭 PR 后建 WI;CI 运行中则等待;无 PR 则建 WI。
工作项:每个消费者升级建一个 WI(非每个告警),1 个故事点,Subject__c 以 [ai-auto] 开头,指派给运行者,Epic 使用 IDEx - Mandates and Updates a3QEE0000023Fm92AE,若已关闭则改用最近开放的信任 epic。Details__c 记录 GHSA/CVE、漏洞包及范围、修复方式、验证的 lockfile 版本。创建机制遵循 gus-cli/SKILL.md,执行 sf data create record 前先展示草稿并等待确认。
限制:具体版本号、各消费者信息需按仓库实际情况确定;资料未提供完整示例与具体告警内容。