AI TOOLS

EP06. “安全扫描功能”

首页 › AI 工具 › ChatGPT · Codex · EP06
约 10 分钟· #EP06#ChatGPT#Codex
🔒 登录后可标记已读
  • Codex 除了帮你写代码,还有一个专门的「安全代理」——帮你的代码库找漏洞、写报告、甚至直接提修补方案
  • 这个功能跟 EP02 讲的权限模式(Sandbox/Permissions)不是同一件事:权限模式管的是「Codex 能不能碰这些文件」,安全扫描做的是「主动去找代码里的漏洞」,一个是防御、一个是侦查
  • 讲四种用法:桌面 App 里的 Plugin、命令行的 CLI、程序化整合的 SDK、还在研究预览阶段的 Cloud
  • 顺带提一下 Cyber Safety——OpenAI 给授权的资安工作者用的进阶模型访问权限
  • 前置知识:先看过 EP01(怎么开始用 Codex)、EP02(权限概念)

重点内容


这个功能是做什么的

Codex Security 是一个「应用安全代理」,帮安全团队和工程团队找到、确认、修复代码里的漏洞。跟一般的「叫 Codex 帮我看看这段代码安不安全」不一样,它是一套系统化的扫描流程,扫完会产出结构化的报告文件,不是几句话带过。


四种使用方式

方式适合场景备注
Plugin(桌面 App 插件)交互式审查,想在图形界面里看扫描结果有可视化工作台(Scans / Findings / Repositories 分页)
CLI本地跑扫描、批量扫描、接进 CI 流程npx @openai/codex-security,免额外安装
TypeScript SDK想把扫描能力写进自己的应用/工具里程序化接口
Cloud已连接的 GitHub 仓库自动扫描研究预览阶段,还在发展中

用 Plugin 跑第一次扫描

  1. 打开 Codex 桌面 App → Plugins → 搜索「Codex Security」→ 启用
  2. 侧边栏打开 Security
  3. 选要扫描的仓库 → 选范围(整个仓库或单一文件夹)→ 选模型和推理强度 → 可选填「额外上下文」讲清楚要特别注意的威胁类型或敏感区域 → 启动扫描

📌 官方建议用 gpt-5.6-sol 模型配 xhigh(最高)推理强度,扫描质量最好——但推理强度越高跑得越慢,token 消耗也越多,日常快速检查可以先用较低强度。

扫完之后在工作台检查发现(Findings)、覆盖范围(Coverage)、扫描报告(Report)。历史记录在 Scans / Findings / Repositories 三个分页里都查得到。


用 CLI 跑扫描

环境要求:Node.js ≥ 22.13.0、Python ≥ 3.10

登录:

npx @openai/codex-security login              # 本地
npx @openai/codex-security login --device-auth  # 远程机器
export OPENAI_API_KEY="<your-api-key>"          # CI 环境改用 API key

常用指令:

用途指令
基础扫描npx @openai/codex-security scan "$REPOSITORY" --output-dir "$SCAN_DIR"
指定模型/推理强度npx @openai/codex-security scan "$REPOSITORY" --model gpt-5.6-terra --effort high
只审查改动的部分npx @openai/codex-security scan "$REPOSITORY" --diff origin/main --head HEAD
深度扫描npx @openai/codex-security scan "$REPOSITORY" --mode deep
批量扫描(多个仓库)npx @openai/codex-security bulk-scan repositories.csv --output-dir /path/to/results --workers 4
扫完直接生成修补npx @openai/codex-security scan "$REPOSITORY" --patch --patch-severity high --json
设定花费上限npx @openai/codex-security scan "$REPOSITORY" --max-cost 5
看历史扫描npx @openai/codex-security scans list "$REPOSITORY"
看历史发现npx @openai/codex-security findings list "$REPOSITORY"

💡 --diff 这个参数很实用:不用每次都扫整个仓库,只审查这次改动跟 base 分支的差异,适合接进 PR 检查流程。


扫描结果长什么样

扫完会产出一份结构化的报告,不是单一文件:

  • report.md:主要给人看的报告入口
  • findings/ 目录:每个漏洞的详细报告,含概念验证(PoC)
  • hardening/ 目录:加固建议和相关提案
  • scan-manifest.json、findings.json、coverage.json:给程序/其他系统读取的结构化数据

Cyber Safety:给授权资安工作者的进阶模型

OpenAI 有一个叫 Daybreak 的防御性网络安全计划,给经过审核的用户用更强的模型做资安工作:

  • GPT-Daybreak-Blue:给大多数「防守方」工作用,包括找漏洞、代码审查、威胁建模、恶意软件分析、验证修复
  • GPT-Daybreak-Red:更进阶的资安模型,要另外单独申请批准,用于漏洞复现、渗透测试、红队演练——⚠️ 官方讲得很清楚,这不是日常资安工作的预设选项

申请方式:个人透过 ChatGPT 申请,组织提交企业表单,申请入口是 OpenAI 官方的 Trusted Access for Cyber。拿到 Blue 权限不会自动给你 Red 权限,两个要分开申请。

⚠️ 使用限制:只能用在你自己拥有、或者明确被授权测试的系统上;不能扩展给外部用户、第三方或商用服务;仍然要遵守 OpenAI 使用政策;拿到 Trusted Access 不代表自动有零数据保留政策,这点另外要留意。

常见错误

  • ❌ 把「安全扫描」和「权限模式/Sandbox」搞混——权限模式管的是 Codex 能不能碰你的文件,安全扫描是主动帮你找代码漏洞,两件不同的事
  • ❌ CI 流程里用 CLI 扫描却忘记设 --max-cost——没设上限的话,遇到大仓库/高推理强度设置,花费可能超出预期
  • ❌ 每次扫描都扫整个仓库——PR 检查这类高频场景改用 --diff 只审查改动部分,省时间也省 token
  • ❌ 以为申请到 Daybreak Blue 就能顺便做渗透测试——Red 权限要另外单独申请,Blue 不会自动升级
  • 💡 CI/GitLab CI 环境跑扫描要用 API key 登录,不是本地那套 login 流程,环境变量记得设对

Sources

官方文档:

  1. Codex Security Administration — https://learn.chatgpt.com/codex/security-administration
  2. Codex Security overview — https://learn.chatgpt.com/codex/security
  3. Security Plugin quickstart — https://learn.chatgpt.com/codex/security/plugin
  4. Security CLI quickstart — https://learn.chatgpt.com/codex/security/cli
  5. Cyber Safety — https://learn.chatgpt.com/codex/cyber-safety