SuperAPI AI 工具集

codex-security

OpenAI 推出的开源命令行工具与 TypeScript SDK,用于发现、验证和修复代码中的安全漏洞。支持扫描仓库、指定路径或 Git 变更,深度扫描可并行运行发现任务;可验证候选发现、生成补丁并核验已有修复,起草 SECURITY.md 策略并保存威胁模型。还能浏览已保存的扫描与发现、识别重复项、按自定义标准评估严重性、从源码和 Git 历史建议负责人,导入 GitHub 代码扫描告警,导出 SARIF、JSON 或 CSV,并将发现发布到 Linear 或发现服务。支持在 CI 和容器中自动化扫描。需要 Node.js 22.13.0+(22.x)或 24.x/26.x,以及 Python 3.10+。

访问官网

工具介绍

用途

@openai/codex-security 是 OpenAI 提供的 CLI 和 TypeScript SDK,用于在代码中查找、验证和修复安全漏洞。它面向需要自动化安全审查的开发者与团队,可扫描仓库、选定路径或 Git 变更,并支持深度扫描模式,在仓库和选定路径上并行运行发现工作器。

主要能力

  • 扫描与发现:扫描仓库、选定路径或 Git 变更;深度扫描并行运行发现工作器。
  • 验证与修复:验证候选发现,生成补丁,并核验已有修复。
  • 策略与威胁模型:起草 SECURITY.md 策略,保存威胁模型供后续审查。
  • 发现管理:浏览已保存的扫描和发现,识别重复项,按自定义标准评估严重性,从源码和 Git 历史建议负责人。
  • 集成与导出:导入 GitHub 代码扫描告警,导出 SARIF、JSON 或 CSV,将发现发布到 Linear 或发现服务。
  • 自动化:在 CI 和容器中跨仓库或项目组件自动化扫描。
  • 云发现读取:当账户可用 Codex Security Cloud 时,Security 插件的 $cloud-findings 技能可在 Codex 桌面或 Codex CLI 中读取发现、报告、记录的分配与验证以及扫描状态;云连接为可选,本地扫描无需云。

使用方式

环境要求:Node.js 22.13.0+(22.x 内),或 Node.js 24.x 或 26.x,以及 Python 3.10+。Python 3.10 还需要 tomli。

全局安装 CLI 并登录:

npm install -g @openai/codex-security
cs login

cs 是 codex-security 的短别名,两者运行同一 CLI。安装会在 npm 全局可执行目录创建两个命令,该目录需在 PATH 中。若 cs 已解析到其他工具,请改用 codex-security。若 npm 因 cs 报 EEXIST 错误,可使用 npx @openai/codex-security 而无需全局安装。

可选:从仓库起草 SECURITY.md,说明项目中什么算作安全问题:

cs policy

草稿保存在仓库之外。审查差异和说明,编辑草稿,然后仅将 SECURITY.md 复制到显示的 Policy 目标。跳过此步骤可保留当前策略或无策略扫描。

从仓库目录运行扫描:

cs scan

若拥有 Daybreak Blue 访问权限,在扫描命令中添加 --cyber-access-program daybreak_blue;否则省略该标志或使用 --cyber-access-program standard。

无需全局安装时,将示例中的 cs 替换为 npx @openai/codex-security,例如:

npx @openai/codex-security scan

CI 中,在扫描进程环境设置 OPENAI_API_KEY 或 CODEX_API_KEY。在远程或无头机器上,若工作区允许,使用 login --device-auth,或通过 SSH 登录。部分网络安全请求和受保护的发现需要 Trusted Access for Cyber 批准。

选择范围和扫描模式:使用 cs --help 浏览命令,或 cs scan --help 查看扫描选项、成本限制和扫描后修补。对于跨多个仓库的应用,参见“review one system across repositories”。对独立仓库审查使用批量扫描,可在一次可恢复的活动中完成。

在 TypeScript 项目中本地安装包:

npm install @openai/codex-security

然后导入:

import { ... } from '@openai/codex-security';

SDK 指南包含深度扫描配置、验证、严重性分类、负责人建议和结果处理。

读取现有云发现:当 Codex Security Cloud 对账户可用时,Security 插件的 $cloud-findings 技能可读取发现、报告、记录的分配与验证以及扫描状态。参见云连接设置和 CLI 读取,了解认证要求和只读示例。

生成 SECURITY.md:使用 policy 起草新的 SECURITY.md 或更新现有文件。使用 --path 选择组件:

cs policy --path <component>

命令将草稿保存在仓库外,不更改现有文件。审查差异和说明,编辑草稿,然后仅将 SECURITY.md 复制到显示的 Policy 目标。将保存的架构和威胁模型文档保留在仓库外。扫描已使用根和组件的 SECURITY.md 文件。若当前策略无需更改则保留。更新时保留其漏洞报告说明。若命令提示策略已是最新,则无需复制。位于 .github/SECURITY.md 或 docs/SECURITY.md 的文件通常包含报告说明,起草策略时请保留;这些位置不会自动提供仓库范围的扫描指导。参见策略指南了解策略位置、未回答问题、保存的工件和 SDK 用法。

保存和导出威胁模型:扫描和策略生成会随结果保存威胁模型。导出已保存模型而无需再次分析:

cs export --scan <scan-id>

省略 --scan 则使用当前仓库最近完成的扫描。导出指南还涵盖发现、用于 CI 的 SARIF 输出以及离线 TypeScript API。

使用 GitHub Action 运行计划、手动或拉取请求扫描。对于每周仓库扫描,将 OpenAI API 密钥添加为仓库机密 CODEX_SECURITY_API_KEY,然后将此工作流保存到 .github/workflows/codex-security.yml。将 REPLACE_WITH_REVIEWED_COMMIT 替换为 Action 提交的完整 SHA。此工作流请求 Daybreak Blue。使用启用了 Blue 的项目的 API 密钥;若无 Daybreak 访问权限,省略 cyber-access-program 或设为 standard。发现默认仅报告。设置严重性阈值可使达到或超过该阈值的已报告发现导致失败。扫描器和必需报告错误会使作业失败;有意的文件排除和调查说明不会。参见 Action 设置和输入参考了解 PR 扫描、严重性阈值和报告上传。

容器化批量扫描:使用包含的 Docker Compose 配置扫描仓库列表,该配置在运行之间保留结果和认证。参见容器快速开始。工作流运行器在容器中运行各个 CLI 阶段,并可连接到单独部署的发现服务。

发现存储与去重:发现指南涵盖本地存储、去重以及通过 publish scan --to custom 和显式 --findings-url 与独立运营端点的兼容性。本地 serve 命令和浏览器仪表板已移除;现有数据库和扫描工件仍可用。

其他提供商:扫描支持 OpenAI、Amazon Bedrock、OpenRouter 和 Fireworks AI。Bedrock 使用 AWS 凭证,无需单独的 OpenAI 登录。参见 Bedrock 设置了解 AWS 配置文件、区域和模型访问。对于 OpenRouter 和 Fireworks AI,设置提供商的 API 密钥并选择支持的模型。参见提供商配置示例。

适用场景

  • 在开发流程中自动发现和修复安全漏洞。
  • 在 CI 中运行计划、手动或拉取请求扫描。
  • 跨多个仓库或项目组件进行批量扫描。
  • 管理安全发现、去重、评估严重性并分配负责人。
  • 生成和维护 SECURITY.md 策略与威胁模型。
  • 将发现导出为 SARIF、JSON 或 CSV,或发布到 Linear 或发现服务。

限制

  • 需要 Node.js 22.13.0+(22.x)或 24.x/26.x,以及 Python 3.10+;Python 3.10 还需要 tomli。
  • 部分网络安全请求和受保护的发现需要 Trusted Access for Cyber 批准。
  • Daybreak Blue 相关功能需要相应访问权限。
  • 云连接为可选,本地扫描无需云;云功能需账户可用 Codex Security Cloud。
  • 本地 serve 命令和浏览器仪表板已移除。
  • 其他提供商支持 OpenAI、Amazon Bedrock、OpenRouter 和 Fireworks AI,需相应凭证和模型。
  • 关于收费、价格、具体效果等未在资料中提供。