Codex 用例
审计依赖项安全事件
将公共软件包安全公告转化为安全的仓库审计计划。
难度 高级
时间周期 1h
使用 Codex 将公共软件包或供应链安全公告转化为只读审计计划,然后检查清单文件、锁文件、CI 工作流和脚本,而无需运行不受信任的代码。
适用场景
- 负责响应公共软件包或供应链安全公告的工程和安全团队。
- 需要在更改依赖项之前检查锁文件、脚本、CI 权限和缓存的多包维护者。
- 需要在不安装软件包或运行不受信任代码的情况下收集证据的事件审查。
目录
审计依赖项安全事件
将公共软件包安全公告转化为安全的仓库审计计划。
使用 Codex 将公共软件包或供应链安全公告转化为只读审计计划,然后检查清单文件、锁文件、CI 工作流和脚本,而无需运行不受信任的代码。
高级
1h
使用 Codex 将公共软件包或供应链安全公告转化为只读审计计划,然后检查清单文件、锁文件、CI 工作流和脚本,而无需运行不受信任的代码。
高级
1h
相关链接
适用场景
- 负责响应公共软件包或供应链安全公告的工程和安全团队。
- 需要在更改依赖项之前检查锁文件、脚本、CI 权限和缓存的多包维护者。
- 需要在不安装软件包或运行不受信任代码的情况下收集证据的事件审查。
技能与插件
- 检查仓库文件、Pull Request、工作流以及与安全相关的历史记录。
| 技能 | 为什么使用它 |
|---|---|
| GitHub | 检查仓库文件、Pull Request、工作流以及与安全相关的历史记录。 |
起始提示词
帮我审计此仓库是否受该公共软件包安全公告的影响:[advisory URL]。除非我明确批准修复步骤,否则请保持只读。首先,总结:- 受影响的软件包及版本范围 - 权威来源与更广泛的报告 - 哪些证据可以证明此仓库受到影响 - 哪些证据可以排除其受影响然后,检查:- 软件包清单和锁文件 - CI 工作流及权限 - install、build 和 postinstall 脚本 - 第三方打包产物、容器或生成的捆绑包(如适用) - 如果安全公告涉及 CI 或发布,检查缓存或令牌暴露路径返回:- 证据状态:确认受影响、需要验证或已排除 - 严重程度和影响范围说明 - 每个仓库特定声明的文件引用 - 注意事项和建议的下一步行动除非我明确批准,否则请勿安装软件包、运行生命周期脚本、构建项目、执行不受信任的代码、轮换凭据或清理文件。
帮我审计此仓库是否受该公共软件包安全公告的影响:[advisory URL]。除非我明确批准修复步骤,否则请保持只读。首先,总结:- 受影响的软件包及版本范围 - 权威来源与更广泛的报告 - 哪些证据可以证明此仓库受到影响 - 哪些证据可以排除其受影响然后,检查:- 软件包清单和锁文件 - CI 工作流及权限 - install、build 和 postinstall 脚本 - 第三方打包产物、容器或生成的捆绑包(如适用) - 如果安全公告涉及 CI 或发布,检查缓存或令牌暴露路径返回:- 证据状态:确认受影响、需要验证或已排除 - 严重程度和影响范围说明 - 每个仓库特定声明的文件引用 - 注意事项和建议的下一步行动除非我明确批准,否则请勿安装软件包、运行生命周期脚本、构建项目、执行不受信任的代码、轮换凭据或清理文件。
从安全的审计计划开始
当依赖项或供应链事件快速发展时,首要的有用输出并非仓促的补丁。而是一份清晰的审计计划:发生了什么变更、哪些软件包或工作流可能受影响,以及哪些证据可以证明你的仓库受到影响。
在安装、构建、测试或运行任何操作之前,使用 Codex 将安全公告转化为保守的只读检查清单。
保持第一遍检查为只读
- 将公共安全公告、事件报告或受影响的软件包列表提供给 Codex。
- 要求它区分权威来源与广泛的评论。
- 让其定义能够证明或排除受影响的证据。
- 让其检查清单文件、锁文件、CI 工作流、脚本以及相关的仓库文件。
- 要求按证据状态、严重程度和建议的下一步行动对调查结果进行分组。
对于软件包安全事件,在明确该安全公告的影响范围之前,避免运行 install、build、test、import 或生命周期命令。Codex 可以在不执行不受信任代码的情况下搜索锁文件和工作流。
独立于严重程度报告证据状态
有用的审计结果应同时显示发现问题的严重程度以及证据的强弱程度:
确认受影响: 锁文件在生产依赖项路径中包含了受影响版本的软件包。
需要验证: 一个 CI 作业具有发布权限,但该工作流似乎没有直接安装受影响的软件包。
已排除: 该软件包名称仅出现在文档中,而不存在于清单或锁文件中。
下一步: 在采取任何破坏性操作之前,审查提议的依赖项更新和令牌轮换计划。
只读检查完成后,你可以要求 Codex 准备修复 PR、更新 CI 权限或编写后续事件记录。请将这些操作与初始审计分开进行。
将本次审计中确认的发现转化为修复计划。针对每个发现,请包含: - 提议的变更 - 需要更新的文件或设置 - 测试或验证步骤 - 回滚计划 - 我是否需要轮换凭据或审查外部系统 请暂勿进行任何更改。除非你能解释为何安全,否则请将任何可能执行不受信任代码的命令排除在计划之外。