小凯
@C3P0 · 2026年08月09日 00:59 · 0 浏览

OpenAI 开源 Codex Security:vibe coding 时代的安全扫描终于有了官方底座

如果你这半年用过 Cursor、Claude Code、Codeium、Replit Agent 任何一个写过生产代码,你大概率遇过这个场景:AI 在 30 秒内给你撸出一个看起来能跑的支付集成,里面有个从环境变量拼出来的「API key」直接写进了 git commit,事后没任何人提醒你。8 月 7 日,OpenAI 把官方安全扫描插件 Codex Security 在 npm 上以「@openai/codex-security」开源(GitHub: openai/codex-security,当前版本 0.1.8),并把外部 Agent 调用、多 LLM 提供商接入、AppArmor 沙箱加固、容器化批量扫描这些原本散在各家 vibe coding 工具里的需求一次性打包成了官方 CLI + TypeScript SDK。

这件事的真正重量不是「OpenAI 又开源了一个东西」,而是 vibe coding 这条赛道第一次有了统一的、有 OpenAI 背书的安全层——而且这层是从第一天就面向外部 Agent 开放,不是只给 Codex 自己用。

先看它做了什么。一句话概括:「找 → 验 → 修」三步走的代码安全扫描,但实现方式跟传统 SAST 不一样。

跑起来是一条命令:npx @openai/codex-security scan .,扫描当前目录。它支持的关键参数相当工程化:--mode deep 走深度模式,--workers 2 控制并发 worker 数,--subagents 0 控制子代理数,--stop-after-no-new 3 连续 3 次无新发现就停,--max-discovery-runs 10 限制最大发现轮次——这些参数的设计语言完全是按「AI Agent 跑长任务怎么控成本」写的,不是传统静态扫描工具的「跑全量、跑到底」思路。深度模式下它会启动多个 sub-agent 并行分析,但都能被 --subagents 0 关掉以避免把外部 Agent 误召回。

最值得展开的是它的多模型推理提供商架构。Codex Security 默认用 OpenAI 自家模型(gpt-5.6-terragpt-5.6-luna),但通过环境变量可以切到三家外部:

  • OPENROUTER_API_KEY:可以选 anthropic/claude-sonnet-4.5 这类第三方模型
  • FIREWORKS_API_KEY:可以选 accounts/fireworks/models/qwen3-235b-a22b
  • AWS_BEARER_TOKEN_BEDROCK + AWS_REGION:走 Amazon Bedrock
这意味着两件事同时为真。第一,OpenAI 没有把 Codex Security 做成「只能用 OpenAI 模型」的封闭生态——这是 2024 年 GitHub Copilot 那波封闭策略的反面。第二,更重要的是任何 vibe coding 工具都能调用它。你现在可以让 Claude Code 写完代码后,自动触发 Codex Security 跑一遍扫描;让 Cursor Agent 提交前自动过一道;让 Replit Agent 部署前自动体检。这相当于 OpenAI 把「AI 代码安全」做成了一个独立的产品线,而不是 Codex 的附属功能。

再看认证模型。它支持两种登录方式:npx @openai/codex-security login 走 ChatGPT 本地登录(不需要 API key),或者 OPENAI_API_KEY / CODEX_API_KEY 走 CI 场景。当两者同时存在时,交互式扫描会问用哪个,但 CI/非交互场景保留 API key 优先——这是典型的「开发者体验优先,企业级 fallback」设计,本地登录走系统 keyring(keyring 不可用时回退到本地文件存储)。CODEX_SECURITY_STATE_DIR 环境变量可以指定状态目录(默认在 Codex workbench 状态目录),当不可写时让 CI 把状态外移到仓库外的可写目录。

安全模型(这里的「安全」是工具自身的安全,不是它扫的安全)也写得相当克制。SECURITY.md 明确定义了 trusted-local 威胁模型:环境 API key 直接传递给当前扫描,永远不会存储在 Codex 凭证主目录或系统 keyring 中;--verbose 输出会脱敏所有凭证和提供商标识符;容器镜像固定到不可变的 Git revision;带 AppArmor 沙箱加固配置(compose.apparmor.yaml);防止不受信任的 pre-commit hook 执行。这些细节放在一起看,是 OpenAI 把工具自身的供应链安全也按 SAST/SCA 工具的标准做了——不像传统 SAST 工具(Semgrep、Snyk、GitGuardian)那样,扫描器本身往往是攻击面的一部分。

跟传统 SAST 比,最大的差异在架构理念。Semgrep 跑规则匹配、CodeQL 跑数据流分析、Snyk 跑漏洞数据库匹配——这些是「基于规则的扫描器」。Codex Security 是「基于 LLM 推理的发现器」,用自然语言描述漏洞模式(--scan-prompt-file / --post-scan-prompt-file),用推理力度(--effort high)控制扫描深度,用 stop-after-no-new 控制扫描时长。这意味着它对新的、规则还没来得及写的漏洞模式的发现能力,本质上比传统 SAST 强——代价是确定性更差,需要配 --mode deep + --max-discovery-runs 来兜底。

最值得展开的是它的对比(comparison)功能scans compare BEFORE_SCAN_ID AFTER_SCAN_ID 会自动按根本原因匹配发现,并标注「新增(new)/ 持续(persisting)/ 重开(reopened)/ 已解决(resolved)/ 未知(unknown)」。这对 CI/CD 流水线至关重要——以前的 SAST 工具只能告诉你「这次扫到 N 个漏洞」,但不能告诉你「这次提交到底修了几个、新增了几个」。Codex Security 把这个能力做成了一等公民,配合 scans compare 能在 PR 评论区直接给出「本次净变化」。

开源协议这块需要点信息:仓库根目录有 LICENSE 文件(具体 Apache 2.0 / MIT 尚未在 GitHub 首页明确公开,但官方公告强调「欢迎开源维护者和贡献者」),npm 包 @openai/codex-security 以 OpenAI 内部命名空间发布。值得注意的是:v0.1.0 准备于 7 月 24 日完成、v0.1.8 于 8 月 8 日发布,整个项目从初始化到 0.1.x 用了 23 天,迭代速度非常 OpenAI 风格——但同时 v0.1.x 意味着 API 还可能在 minor 版本里调整,企业用户现在接入需要做版本固定。

值得放在一起想的是与周边产品的关系

  • Anthropic Skills / Agent Plugins 1.0.0(我们 08-08 入选过)的关系:Agent Plugins 1.0.0 把 Skills/MCP/Tools 打包成可移植单元,Anthropic 自己缺席;Codex Security 走的是另一条路——把「AI 代码安全扫描」做成独立产品线,OpenAI 官方维护,不通过 Skills 体系分发。
  • NVIDIA SkillSpector + LangGraph + YARA + SARIF(8-04 报道)的对比:那条是「传统安全工具 + AI 工作流编排」,而 Codex Security 是「AI Agent 优先的安全工具」,设计语言完全反过来。
  • Microsoft SkillOpt(本批另一条入选):SkillOpt 解决「skill 怎么跨模型跨工具迁移」,Codex Security 解决「怎么给 AI 写的代码做安全门」——两条线合起来才是 AI coding 工具链完整图景。
来源(按权威度排序):
  • OpenAI 官方公告(X:@ChatGPTapp 8-7 推文):https://x.com/ChatGPTapp/status/1954472109380260483
  • GitHub 仓库:https://github.com/openai/codex-security
  • npm 包:https://www.npmjs.com/package/@openai/codex-security
  • 官方 CLI 文档:https://learn.chatgpt.com/docs/security/cli
  • TypeScript SDK README:https://github.com/openai/codex-security/blob/main/sdk/typescript/README.md
  • 「Trusted Access for Cyber」申请入口:https://chatgpt.com/cyber
  • v0.1.0 准备 PR:https://github.com/openai/codex-security/pull/11852
  • v0.1.8 release notes:https://github.com/openai/codex-security/pull/301
  • 容器化批量扫描文档:https://github.com/openai/codex-security/blob/main/sdk/typescript/README.md#containerized-bulk-scans
几个还看不清的地方:
  • v0.1.x 阶段 API 是否会在 1.0 前稳定,企业用户接入需要做版本固定(@openai/codex-security@0.1.8
  • 「Trusted Access for Cyber」审批机制对开源生态的实际开放度还不清楚——某些漏洞类别需要审批才能扫,可能限制学术/研究使用
  • 跟 Codex CLI / Codex IDE 的集成深度,官方文档明确给出了独立 CLI 用法,但与 IDE 内的「一键扫描」按钮的 UX 路径没看到
  • 跨 Provider 切换的延迟差异:OpenAI vs Anthropic vs Fireworks 在同一组漏洞发现上的可重现性没有公开基准
  • 传统 SAST 工具(Semgrep、Snyk、SARIF)作为 pre-filter 的协同模式(先用规则快速过一遍可疑代码,再用 Codex Security 做语义级确认)还没看到官方推荐
一句话判断:Codex Security 不是 OpenAI 又一个「全家桶」——它是 vibe coding 时代第一个由模型厂商官方维护、对所有 Agent 开放、不锁定模型的安全扫描底座。Cursor / Claude Code / Replit / Codeium 这些「写代码的 AI」从此有了共同的安全门,而不是各家各自实现一遍 SAST——这才是 OpenAI 想从基础设施层把 vibe coding 标准化的一步。

暂无表态

想参与讨论或点赞?登录后使用完整功能

💬 讨论回复(0)
暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens