扫描代码变更的安全风险
针对 PR、commit、分支 diff 或本地修改检查新增安全回归。
场景定位
这个案例属于“质量、安全与评估”。它适合把一个经常需要人工整理、判断或验证的流程交给 Codex 做第一轮处理,然后由你审阅关键结果。
| 项目 | 内容 |
|---|---|
| 适合任务 | 针对 PR、commit、分支 diff 或本地修改检查新增安全回归。 |
| 常用能力 | Security diff、PR 安全审查 |
| 产出形态 | 清单、草稿、补丁、报告、截图、表格或可运行原型,取决于具体任务 |
适合谁
- 代码变更涉及认证、权限或输入处理
- 需要上线前安全 gate
- 想只看新增风险
Codex 可以帮你做什么
- 阅读当前 diff
- 识别认证授权和输入校验风险
- 检查敏感信息泄露
- 把发现绑定到具体变更
推荐工作流
- 限定只审查 diff
- 说明威胁模型重点
- 每条发现要有文件和代码依据
- 区分新增风险和历史问题
- 给出最小修复建议
示例提示词
请只审查当前 diff 的安全风险。重点看认证、授权、输入校验、注入、敏感信息泄露和访问控制。每条发现都要关联具体变更。
案例重点展开
- 这个流程审查变更本身,而不是整个历史仓库。
- 安装安全插件后,让 Codex 针对 diff 做 focused pass。
- 发现问题后要解释攻击路径、影响范围和最小修复建议。
- 修复后继续跑一次,确认同一发现被关闭。
- 把历史风险和本次新增风险分开。
完整用法拆解
1. 先把任务范围说清楚
这个案例的重点不是让 Codex 猜你的真实需求,而是把“针对 PR、commit、分支 diff 或本地修改检查新增安全回归。”拆成一组可以检查的步骤。开始时先说明输入来源、时间范围、目标对象和最终产物。如果任务涉及多个工具,也要告诉 Codex 哪些工具可以读、哪些动作只能准备草稿。
可以把范围写成三句话:我要处理什么资料、希望得到什么结果、哪些事情不能自动执行。对于“质量、安全与评估”这类任务,范围越清楚,Codex 越容易把注意力放在真正有价值的判断上。
2. 让 Codex 先输出中间结果
不要一上来要求最终答案。更稳妥的方式是先让 Codex 完成“阅读当前 diff”,再让它解释判断依据。这样你可以在中间阶段纠偏,避免它把不重要的信息写进最终产物。
如果任务比较长,可以要求 Codex 先给你一个小型样例,例如前 5 条记录、前 3 个页面、一个模块或一封邮件。样例通过后,再扩大到完整范围。
3. 把工具和证据写进交付物
这个场景常用能力包括:Security diff、PR 安全审查。让 Codex 使用这些能力时,最好要求它把依据也写出来:读了哪些文件、参考了哪些消息、运行了哪些命令、看到哪些截图或日志。
证据不是为了增加篇幅,而是为了让你能判断结果是否可靠。特别是 代码变更涉及认证、权限或输入处理,更应该看到来源、假设和未确认问题。
4. 逐轮校准,而不是一次到位
第一次结果通常是校准样本。你可以告诉 Codex 哪些判断正确、哪些内容太泛、哪些边界必须更严格。经过几轮之后,再考虑把流程保存为技能、自动化或长期 goal。
一个可用的校准顺序是:限定只审查 diff;说明威胁模型重点;最后 给出最小修复建议。这样既能提高产出质量,也能减少误操作。
更多提示词案例
入门版
请只审查当前 diff 的安全风险。重点看认证、授权、输入校验、注入、敏感信息泄露和访问控制。每条发现都要关联具体变更。
请先只处理一个小范围样例,并说明你的判断依据、输出结构和需要我确认的问题。
进阶版
请把“扫描代码变更的安全风险”作为一个完整工作流来执行。
目标:针对 PR、commit、分支 diff 或本地修改检查新增安全回归。
可用能力:Security diff、PR 安全审查
请按以下步骤进行:
1. 先确认输入来源和任务范围。
2. 输出执行计划和风险边界。
3. 生成第一版结果。
4. 标注每个关键结论的依据。
5. 列出需要我确认的问题。
不要执行发送、删除、付款、发布、承诺等不可逆动作。
复盘版
请复盘刚才这次“扫描代码变更的安全风险”任务。
请输出:
1. 哪些输入最有用;
2. 哪些判断仍然不确定;
3. 哪些步骤可以下次自动化;
4. 哪些动作必须继续人工确认;
5. 下一次我应该怎样给你更好的上下文。
自动化前校准版
我想把这个流程以后重复使用,但现在先不要自动化。
请根据本次任务整理一个可复用流程:触发条件、输入来源、处理步骤、输出格式、验证方式、停止条件和人工确认点。
尤其注意:diff 扫描不是全仓库审计。
交付物检查清单
完成这类任务后,建议检查以下内容:
- 是否清楚说明了输入来源、处理范围和时间范围。
- 是否把“阅读当前 diff”和“识别认证授权和输入校验风险”的依据写出来。
- 是否列出了不确定信息、缺失材料和需要你确认的问题。
- 是否避免了越权动作,尤其是发送、删除、付款、发布、承诺和修改生产数据。
- 是否留下了下一步可以继续执行的清单、文件、补丁、报告或验证结果。
使用边界
- diff 扫描不是全仓库审计
- 历史漏洞不要混进本次结论
- 安全发现要避免空泛