OpenAI 开源 Codex Security:给 vibe coding 加上安全防线
8 月 6 日,OpenAI 将 Codex Security 的 CLI 与 TypeScript SDK 以 Apache 2.0 协议开源。这是一个 AI 应用安全智能体:它能分析项目上下文、找出漏洞、验证漏洞、甚至给出修复补丁。最特别的是,它支持通过 OpenRouter、Fireworks、Amazon Bedrock 接入第三方模型——不绑死 OpenAI 自家的模型。
为什么这件事值得关注?因为 vibe coding 时代,安全问题正在成为最大盲区:大量非专业开发者用 AI 生成代码、快速上线,而漏洞扫描过去是安全专家的专属工作。Codex Security 把这件事变成了”上线前的例行检查”。 这篇是完整的上手教程。
Codex Security 是什么
Codex Security 是 OpenAI 的 AI 应用安全智能体,最早以 Aardvark 之名在去年开始内部测试,3 月 6 日进入研究预览(面向 ChatGPT Pro/Enterprise/Business/Edu 用户),8 月 6 日把 CLI 和 SDK 开源。
它的工作方式和传统扫描器完全不同:
| 传统静态扫描器 | Codex Security |
|---|---|
| 按规则匹配已知漏洞模式 | 先构建项目上下文,生成可编辑的威胁模型 |
| 大量误报,人工排噪 | 在沙箱环境里”压测”发现,只报高置信度问题 |
| 只报告,不修复 | 给出贴合系统意图的修复补丁 |
| 绑定单一引擎 | 支持 OpenRouter / Fireworks / Bedrock 接入第三方模型 |
官方给了一组数据:过去 30 天扫描了超过 120 万次提交,发现 792 个关键漏洞和 10,561 个高危漏洞——关键问题出现在不到 0.1% 的提交里,说明它把”噪音”压得相当低。内测期间误报率降了 50% 以上,严重级别虚报率降了 90% 以上。
为什么现在需要它
vibe coding 的普及带来了一个尴尬局面:代码产量爆炸,安全人手没跟上。
非专业开发者用 AI 助手生成整个应用、直接上线,中间没有安全评审环节。而专业团队里,AI 生成代码的速度也在碾压人工审查的速度——安全评审成了新的瓶颈。
OpenAI 开源这事的另一个信号,是它对开源生态的态度。官方称已经用 Codex Security 扫描自己依赖的开源仓库,向维护者报告了 OpenSSH、GnuTLS、GOGS、libssh、PHP、Chromium 等项目的关键漏洞,其中 14 个已分配 CVE。vLLM 等项目已经把 Codex Security 纳入日常工作流。
维护者告诉我们:挑战不是缺少漏洞报告,而是太多低质量的报告。他们需要更少的误报,以及更可持续地发现真实安全问题的途径。 —— OpenAI
安装与上手
开源的是 CLI 和 SDK(github.com/openai/codex-security),最常用的用法是通过 npx 直接运行,无需安装。
方式一:用 OpenRouter(推荐,无 OpenAI 依赖)
export OPENROUTER_API_KEY="<your-openrouter-api-key>"
npx @openai/codex-security scan . --provider openrouter --model anthropic/claude-sonnet-4.5方式二:用 Fireworks
export FIREWORKS_API_KEY="<your-fireworks-api-key>"
npx @openai/codex-security scan . --provider fireworks --model accounts/fireworks/models/qwen3-235b-a22b方式三:用 Amazon Bedrock
export AWS_BEARER_TOKEN_BEDROCK="<your-bedrock-api-key>"
export AWS_REGION="us-east-2"
npx @openai/codex-security scan . --provider amazon-bedrock --model openai.gpt-5.6-luna方式四:作为 npm 包集成到项目
npm install @openai/codex-securityimport { CodexSecurity } from "@openai/codex-security";
const security = new CodexSecurity();
const result = await security.run(".");
// 深度模式:更多 worker、更多轮发现
await security.run(".", {
mode: "deep",
workers: 2,
subagents: 0,
stopAfterNoNew: 3,
maxDiscoveryRuns: 10,
});
console.log(result.reportPath);
await security.close();扫描是只读的——官方明确说”只扫描你拥有或有权限评估的代码”。扫描完成后会生成报告(含发现、证据、修复建议)。
在 Codex 里用插件
如果你用的是 Codex 桌面应用或 Codex CLI,可以安装官方插件,在会话里直接用自然语言触发:
# 在 Codex 会话中触发
Run a Codex Security scan on this repository.
Run a Codex Security diff scan on this PR / commit / branch diff / working-tree patch.
Triage existing security findings against this repository.插件模式下,扫描产物会写入 <TEMP>/codex-security-scans/<repo>/<commit>_<timestamp>/,包含扫描清单、语义化发现、覆盖率摘要和报告。
核心流程:找 → 验 → 修
Codex Security 的工作分三步,这也是它和”扫描器”最大的区别:
- 构建上下文:分析仓库的安全相关结构,生成项目专属的威胁模型——系统做什么、信任什么、哪里最暴露。威胁模型可编辑,让智能体始终对齐团队意图
- 验证:基于威胁模型搜索漏洞,按真实影响排序。能压测的就放到沙箱里验证,区分信号和噪音
- 修复:给出贴合系统意图的补丁,减少回归风险。你还可以对发现标注严重级别,它会在后续扫描中学习,持续提高精度
适合谁
- vibe coding 个人开发者:上线前跑一遍,心里有底
- 小团队:把扫描接入 CI,作为合并前的例行检查
- 开源维护者:高置信度、低噪音的漏洞报告,正好解决”报告太多、质量太低”的痛点
- 安全团队:把它当成一个 24 小时不休息的初筛助手,人工只处理高置信度发现
结语
Codex Security 开源的意义,不只是多了一个安全工具。它代表了一个趋势:AI 生成代码的问题,正在由 AI 安全智能体来兜底。 就像编译器对代码做语法检查,安全智能体正在成为”上线前的例行检查”。
唯一的提醒:扫描只读,修复要审。 智能体给的补丁再合理,也要过一遍代码评审再合并——毕竟,让 AI 自己审查 AI 写的代码,至少得有个真人当最后一道防线。
参考来源:
