
OpenAI 低调开源 Codex Security CLI
深入了解 OpenAI 低调发布 Codex Security CLI 的经过、Hacker News 为何让它受到关注、这款开源工具的功能,以及团队如何安全地对其进行评估。
OpenAI 已将 Codex Security CLI 发布到 GitHub 和 npm,但大多数开发者直到一篇 Hacker News 帖子出现后才注意到它。 我的简短看法是:这不只是一款聊天式编程工具,而是一套基于终端的安全工作流,可以扫描代码仓库、测试问题能否被利用并建议补丁。
如果你在考虑是否尝试它,以下是最重要的内容:
- 它是什么: 以
@openai/codex发布的 Apache-2.0 CLI 和 TypeScript SDK - 它做什么: 扫描代码、绘制攻击路径、在沙箱中验证发现并起草修复方案
- 适用场景: 本地终端、脚本和 CI 任务
- 团队应关注什么: 对 API 密钥的依赖、沙箱风险、过去的 token 泄露与注入问题,以及补丁审查控制
- 数字说明了什么: 在研究测试中,它扫描了超过 1.2 百万次 commit,并标记出 11,353 个高影响问题,其中包括 792 个严重问题
我会把它视为一个_命令行安全 Agent_,而不是完全无需干预的扫描器。在将其接入 CI 前,你仍然需要人工审查、严格的访问控制和小规模试点。
有几点立即引起了注意:
- 这次发布很低调,因此 Hacker News 上的发现改变了人们对它的认知
- 该工具是开源的,但完整使用仍然依赖 OpenAI 模型和 API 密钥
- 它支持 JSON 输出、hook、MCP server 配置,以及面向团队工作流的 SARIF 导出
- 最安全的第一步是在非生产代码仓库上以 Read Only 模式进行测试
换句话说,我认为这次发布为应用安全团队提供了一个实用的新 CLI 选项,但前提是你要像对待其他会执行代码的安全工具一样对待它:从小规模开始、严格限制权限并验证输出。
Codex Security CLI 包含什么
开源组件和许可证详情
此次发布包含一个采用 Apache-2.0 许可证的 TypeScript SDK,并以 @openai/codex 的名称发布在 npm 上。你可以使用 npm install -g @openai/codex 进行全局安装。它需要 Node.js v20+、Git v2.23+、4 GB RAM,以及存储在 ~/.codex/auth.json 中的 OpenAI API 密钥 [1]。
某些高级功能在基础安装之外还有额外要求。例如,MCP server 支持还需要 Docker、Podman 或 Nerdctl 等容器运行时 [8]。
核心命令和输出
这些命令很重要,因为它们让团队可以直接从终端运行扫描、检查发现并自动执行安全工作。Codex Security 的设计目标是像自动化安全研究员一样工作:它可以扫描代码仓库、绘制项目特定的攻击路径、在沙箱中验证发现并建议最小补丁 [4][6]。
Shell 命令:
| 命令 | 功能 |
|---|---|
codex | 打开用于编程和安全任务的交互式 UI |
codex exec "task" | 以非交互方式运行任务,用于自动化和 CI/CD 任务 |
codex --json | 以 JSON 输出结果,用于编写脚本和自动化 |
codex --version | 显示已安装的 CLI 版本 |
会话内控制项:
| 命令 | 功能 |
|---|---|
/approvals | 在 Read Only、Auto 和 Full Access 之间切换权限 |
/model | 在会话中切换模型 |
这些控制项属于更大的 Codex 配置,而不是独立存在。
Codex Security 在 Codex 工具集中的位置
Codex Security 为 OpenAI 更广泛的 Codex 软件工程 Agent 扩展了一套以安全为重点的工作流,而标准 Codex CLI 则负责编程任务、文件编辑和自然语言指令 [3][6]。每个项目都使用 .codex/ 目录来管理配置、事件 hook 和 Agent 指令 [8]。
这种共享配置让安全 CLI 与 Codex 工具集的其他部分保持一致。简单来说,它为团队提供了一套通用方式,可在 CI 中处理代码仓库扫描、策略检查和补丁生成。
为什么 Hacker News 上的发现改变了开发者对这款工具的看法

社区发现如何推动工具采用
代码仓库出现在 Hacker News 上后,关注点发生了变化。人们不再讨论发布本身,而开始询问自己是否应该使用它。
那篇帖子不仅仅增加了热度,还像一次公开的直觉检查。Codex Security CLI 当时已经向 ChatGPT Pro、Enterprise、Business 和 Edu 客户开放,但 Hacker News 很快把它展示给了更庞大的群体。当这种情况发生时,事情会迅速推进:设置难点暴露出来、文档受到仔细审视,早期用户的反应也公开呈现,而不是继续埋在一次低调的代码仓库发布中。
公开讨论揭示了什么
这篇帖子还让开发者直接进入代码仓库。人们因此注意到该工具的内部代号 Aardvark,它最初用于分析 OpenAI 自己的代码库 [2][10]。
同样重要的是,这次讨论让一个要点更加不容忽视:开源访问并不意味着该工具可以完全独立运行。完整使用仍然依赖 OpenAI 模型和 API 密钥 [9]。
它还促使人们更仔细地审视安全性。有人发现并报告了一个 GitHub token 泄露缺陷,这促使开发者检查自己的 CLI 配置并轮换凭据 [11]。
这一转变引出了团队接下来要面对的实际问题:这款 CLI 在扫描、审查和 CI 工作流中应该处于什么位置?
OpenAI 刚刚发布 Codex Security(Claude Code 未能骗过它)

面向开发者和安全团队的实用工作流

代码库扫描和漏洞审查
发现阶段完成后,下一步就是采取行动。这是 CLI 开始发挥作用的地方:扫描、验证和修补。
CLI 会扫描代码仓库、绘制贯穿仓库的攻击路径,并尝试在隔离沙箱中复现每一项发现,然后再把它展示给团队。这意味着审查人员得到的是可复现的证据,而不是模糊的警报 [5][4]。
在最初 30 天的研究测试中,CLI 扫描了超过 1.2 百万次 commit,发现 792 个严重问题和 10,561 个高危问题。它还将误报减少了 50%,并将严重性过度报告的发现减少了超过 90% [4][2]。简单来说,这能让审查人员减少追逐噪声的时间,把更多时间用于查看那一小部分最重要的发现。
策略检查和 CI 流水线门禁
希望加强控制的团队可以使用 CLI,在有风险的改动进入 Pull request 之前就将其阻止。
sonar-integrate 命令会添加 SonarQube MCP server 支持,并在 .codex/ 中设置 hook [8]。随后,团队可以使用 UserPromptSubmit hook,在硬编码凭据到达模型之前,通过 450+ 种模式将其阻止。团队还可以使用 PostToolUse hook,在每次写入文件或应用补丁后运行 Agentic Analysis [8][7]。这让团队能在 Pull request 打开前再检查一次新漏洞或回归问题。
发现还可以导出为 SARIF 格式,从而更容易将结果发送到现有仪表板和报告流程。
补丁生成、验证与 APIMart 工作流适配

发现得到确认后,工作流会从审查转向修复。
CLI 会针对根本原因生成最小补丁、展示给人类审查,并可直接将其变成 Pull request [5][6]。修复合并后,它会在相同的隔离环境中重新验证改动,确保问题确实已经解决 [5]。内部试点报告称,采用这一工作流后,解决漏洞的平均时间减少了 40% [6]。
对于使用 APIMart 的团队,请将以下设置添加到 ~/.codex/config.toml:
model_provider = "apimart"base_url = "https://api.apimart.ai/v1"- 较新版本使用
wire_api = "responses"[1]
这样会通过 APIMart 兼容 OpenAI 的端点路由 Codex CLI。
如何评估采用风险和后续步骤
安全历史与运维注意事项
在将 Codex Security 接入 CI 前,先测试沙箱、审批模式和补丁审查流程。这是安全的做法。
你应该预先检查几项部署风险。2026 年初,Codex Security 遇到了 GitHub token 泄露和命令注入路径问题,随后开展了 Agent 加固工作 [11]。更近一些,CVE-2026-64650 (CVSS 6.3) 表明,不受信任的沙箱代码可以在未经模型批准的情况下,触发暴露给宿主机的工具,包括密钥查询和云 API。修复方法很简单:将 @ai-sdk/harness-opencode 更新到版本 1.0.29 或更高版本 [12]。
该工具会在隔离容器中分析代码的临时副本,并可获取 GitHub 上下文用于威胁建模和 commit 历史。这意味着代码仓库分析、沙箱执行和补丁生成各自都有独立的暴露面 [10][13]。此外,大型代码库的首次运行可能需要数天,不过后续对增量改动的扫描应该会更快 [10][13]。
几项基本控制有助于降低风险:
- 锁定
~/.codex/中的auth.json和config.toml,不要将它们放在共享环境中。 - 不要在日志中暴露密钥。
- 确保任何 Enterprise 或 Edu 访问权限都通过正确的角色和组控制来限制范围。
- 绝不要让工具自行合并代码。补丁只能作为人工审查的输出 [1][13]。
| 审批模式 | 风险等级 | 建议用途 |
|---|---|---|
| Read Only | 低 | 初步评估和不受信任的代码仓库 |
| Auto | 中 | 受信任内部项目的标准开发者工作流 |
| Full Access | 高 | 仅限完全可信的环境;使用时必须极其谨慎 |
面向团队的实用试点计划
这些控制措施指明了最安全的下一步:先进行小范围试点。使用非生产代码仓库和一个从头到尾保持不变的小型审查团队。
把第一次试点当作可靠性测试,而不是争相积累发现。简单来说,你要问的是:我们能在工作流中信任这个工具吗? 检查沙箱验证是否能在问题被标记前复现真实问题、建议补丁是否符合代码库的意图和风格,以及生成的威胁模型是否匹配环境的实际运行方式 [4][13]。
用自己的数据而不是已发布的平均值来衡量试点也很明智。查看内部准确率、审查时间和升级率。在扩大访问权限前,手动检查威胁模型并根据需要进行调整 [13]。
结论:这次发布最重要的意义
如果试点进展顺利,再缓慢扩大访问权限。
OpenAI 在这里低调开源的是一款以安全为重点、具有可衡量扫描价值的 CLI,而不是什么随手制作的演示。它直到被 Hacker News 发现后才获得广泛关注。即便如此,采用过程也应该谨慎。可以时先从 Read Only 模式开始,根据自己的风险模型验证发现,并且只有在该工作流证明对你的环境有用后,才开放更多权限。
常见问题
Codex Security CLI 是完全开源的吗?
是的。Codex CLI 完全开源,社区可以在 GitHub 上为其作出贡献。
不过,其背后的模型通常需要 OpenAI API 密钥,这可能会产生标准 API 费用。它也不同于更广泛的 Codex Security 产品,后者是面向部分企业和教育客户的研究预览版。
在内部代码上运行它有多安全?
它的设计目标是默认安全。CLI 在沙箱中运行、限制目录访问、阻止未经允许的系统改动,并默认关闭网络访问,以帮助防止数据泄露。
首次运行时,你还可以选择审批模式。Read Only 会阻止任何更改。Auto 只允许在工作目录内执行文件操作。除非不需要人工确认,否则最好避免使用 Full Access。
首次测试它的最佳方式是什么?
首先以交互模式打开 Codex CLI,以便在不立即开始修改的情况下查看环境。安装后,在项目终端中运行 codex。
首次打开时,你需要选择审批级别。测试时,Auto 是最佳选择。如果想采用更安全的只读配置,请改用 codex --mode suggest。这样,任何更改在应用前仍然需要你的批准。
去模型市场挑选你想要的模型
在 APIMart 模型市场尝试聊天、图像和视频模型,用统一 API 快速体验模型能力。