现在用 AI 写代码越来越快,但代码安全 review 往往跟不上。
尤其是 Vibe Coding,代码量上来以后,命令注入、硬编码 API Key、权限绕过等安全问题,很容易藏在多个文件和调用链里。传统 SAST 工具虽然成熟,但有时候告警太多,误报也不少,最后很容易变成“告警看了一堆,但真正的问题没发现”。
最近看到 OpenAI 的 Codex Security,思路比较有意思。
它不是简单地把代码丢进规则库里扫一遍,而是尝试结合 AI 理解整个代码库,分析跨文件调用关系和潜在攻击路径,并进一步判断漏洞是否真的具备可利用性,同时给出修复建议。
我觉得这种方式比较适合放在 AI 编程之后,作为一道额外的安全检查。
如果是在 Codex 桌面版里使用,可以直接让它针对当前分支进行检查,例如:
安装并使用 Codex Security,对当前项目进行安全审查。
要求:
只扫描当前分支相对于 origin/main 的代码改动,不要对未修改的历史代码进行无差别全量扫描。(或者:优先检查本次开发或最近修改的代码,不要对整个代码库进行无差别全量扫描。)
重点检查命令注入、SQL 注入、XSS、SSRF、路径遍历、权限绕过、认证缺陷、硬编码密钥、敏感信息泄露、不安全反序列化等安全问题。
对发现的问题进行跨文件、跨函数的数据流和调用链分析,判断是否存在完整的攻击路径。
不要仅根据代码模式判断漏洞。 尽可能验证漏洞是否满足实际利用条件,并区分:
- 已确认漏洞
- 高度可疑、需要人工确认的问题
- 误报
扫描完成后读取 report.md,逐项复核扫描结果。对于无法确认的问题,明确说明缺少哪些条件或证据。
每个确认或疑似漏洞都给出:
- 文件及代码位置
- 漏洞类型
- 风险等级
- 攻击入口
- 完整攻击路径
- 可能的利用方式
- 影响范围
- 修复建议
不要直接修改、删除或重构任何代码。 本次任务只进行安全分析和报告,不执行修复。
最后给出一个简洁的审查总结,包括确认漏洞数量、疑似问题数量、误报数量,以及最需要优先处理的问题。
完成后,把最终结果整理成清晰的安全审查报告。
不过,如果你的目标是日常 Vibe Coding 后快速做一次安全检查,我反而建议使用一个更短的版本。提示词太长不一定更好,比如:
安装并使用 Codex Security,对当前分支相对于
origin/main的改动进行安全审查,不要扫描整个代码库。重点分析命令注入、SQL 注入、XSS、SSRF、权限绕过、认证缺陷、硬编码密钥、敏感信息泄露、路径遍历等问题。
不要只根据代码模式判断漏洞,要结合跨文件调用链和数据流分析,尽可能验证实际攻击路径和可利用条件。
扫描完成后读取
report.md,将结果分为:
- 已确认漏洞
- 高度可疑问题
- 误报
每个问题说明文件位置、风险等级、攻击路径、影响范围和修复建议。
不要修改任何代码,只输出安全审查结果。
我比较推荐先扫描当前分支相对于 origin/main 的改动,而不是每次都对整个项目进行全量扫描。这样检查范围更小,速度更快,也更适合日常开发和 PR Review。
对我来说,Codex Security 更像是 AI 编程之后的第二道安全闸门:第一道是开发者自己的代码审查,第二道则交给 AI 从攻击者的角度再检查一遍。
项目地址: