跳到主要内容
返回使用场景

Codex 使用场景

审计依赖事件

将公开的软件包安全公告转化为安全的仓库审计计划。

高级1 小时工程质量

概览

使用 Codex 将公开的软件包或供应链安全公告转化为只读审计,然后在不运行不受信任代码的情况下检查清单文件、锁文件、CI 工作流和脚本。

构建事件审计

帮助我审计这个仓库是否受到这条公开软件包安全公告的影响:[advisory URL]。

除非我明确批准修复步骤,否则请保持只读。

首先,请总结:
- 受影响的软件包和版本范围
- 权威来源与更广泛的报告之间的区别
- 哪些证据可以证明该仓库受到了影响
- 哪些证据可以排除这种影响

然后检查:
- 软件包清单文件和锁文件
- CI 工作流和权限
- install、build 和 postinstall 脚本
- 如果相关,检查随仓库提供的制品、容器或生成的 bundle
- 如果该公告涉及 CI 或发布,检查缓存或令牌暴露路径

返回:
- 证据状态:已确认受影响、需要验证,或已排除
- 严重性和影响范围说明
- 每条与仓库相关结论对应的文件引用
- 注意事项和建议的后续步骤

不要安装软件包、运行生命周期脚本、构建项目、执行不受信任代码、轮换凭据或清理文件,除非我明确批准该步骤。

建议推理强度:

从安全的审计计划开始

当依赖或供应链事件快速发展时,最有用的首个产出并不是仓促打补丁,而是一份清晰的审计计划:发生了什么变化、哪些软件包或工作流可能受到影响,以及哪些证据可以证明你的仓库受到了影响。

使用 Codex 在安装、构建、测试或运行任何内容之前,先将公告转化为一份保守的只读检查清单。

保持首次检查为只读

  1. 将公开公告、事件报告或受影响软件包列表提供给 Codex。
  2. 要求它区分权威来源和更广泛的评论性内容。
  3. 让它定义哪些证据可以证明或排除仓库受影响。
  4. 让它检查清单文件、锁文件、CI 工作流、脚本和相关仓库文件。
  5. 要求它按证据状态、严重性和建议的下一步对发现进行分组。

对于软件包事件,在你明确公告影响范围之前,应避免运行 install、build、test、import 或生命周期命令。Codex 可以在不执行不受信任代码的情况下搜索锁文件和工作流。

将证据状态与严重性分开报告

一份有用的审计结果应同时显示问题可能有多严重,以及证据有多充分:

<p> <strong>已确认受影响:</strong>锁文件在生产依赖路径中包含受影响的软件包版本。 </p> <p> <strong>需要验证:</strong>某个 CI 作业具有发布权限,但该工作流似乎并未直接安装受影响的软件包。 </p> <p> <strong>已排除:</strong>该软件包名称仅出现在文档中,并不存在于清单文件或锁文件里。 </p> <p> <strong>下一步:</strong>在采取任何破坏性操作之前,先审查拟议的依赖更新和令牌轮换计划。 </p>

完成只读检查后,你可以让 Codex 准备修复 PR、更新 CI 权限,或撰写后续事件说明。请将这些操作与初始审计分开。