OpenAI 更新了 Codex Security,使其能够导入其他安全检查工具的结果。扫描结果中承载范围和审查信息的结构也发生了变化,自动读取结果的开发团队需要修改集成代码。
1. 将 OpenGrep 的检查证据接入审查流程
2026年10月28日发布的 0.8.0 支持导入 OpenGrep 报告。这项功能可将现有工具发现的问题及依据移交给安全审查流程。
报告可以按 JSON 格式或 gzip 压缩形式导入。导入目标包括本地工作空间 workbench 和远程服务 Cloud,可选择在本地加载报告或向远程发布。
导入时需要提供原始仓库的 URL,并启用外部导入。发行说明中的发布命令、仓库指定选项和启用设置如下。
publish findings --provider opengrep
--source-repository-url
CODEX_SECURITY_ENABLE_EXTERNAL_IMPORTS=1导入的发现项会保留原始扫描器的证据。不过,这些条目最初处于未评估状态,因此导入后还需继续开展相应的审查流程。
2. 检查范围与审查记录的读取位置变更
结果结构变更的核心,是从新位置读取检查范围和审查信息。集成代码需要分别查找并使用扫描的目标范围及审查进度信息。
读取 SDK 或 JSON 结果的集成在查找比较时应排除的范围时,应使用 review,而非 ScanResult.coverage 及导出结果中的同名字段。依赖旧字段的结果比较逻辑是优先修改对象。
检查方式和范围从 manifest.scan 读取。这里的 manifest 是汇集扫描信息的记录,作为确认检查目标的依据。
生成草稿的集成改为在 reviewState 中记录已审查区域、未完成工作和待解答问题。不仅检查目标的存放位置发生变化,写入审查进度的位置也随之改变。
3. 同步切换存储文件与自动化输出
新扫描不再写入 coverage.json。原先用于提供结果路径的字段改用 manifestPath。查找存储文件并将其交给后续处理的集成也需要修改。
审查信息从 scan-manifest.json 内的 scan.review 读取。此前保存的扫描仍可读取,因此此次迁移主要针对新扫描生成的文件及使用这些文件的代码。
使用 GitHub Actions 的自动化需要将输出名称从 coverage-path 改为 manifest-path。当前版本生成的扫描中,旧输出为空,因此读取旧名称的后续任务将无法获取所需路径。
应用更新的团队宜同时检查结果比较逻辑、存储文件路径和自动化输出的衔接。即使读取同一份结果,需要修改的部分也会因代码访问的位置而不同。
4. 改善中断扫描的恢复及存储产物访问
中断的深度扫描 Deep Scan 可以在清除附加指令后恢复。此次修复了清理中断前使用的指令并继续扫描的恢复流程。
已完成的本地扫描所存储的产物,即使在原始检出副本被移动或删除后仍可读取。检出副本是扫描所用源代码的本地副本,现在支持在其位置变化后继续访问已完成的结果。
发行说明将简化扫描完成和恢复流程的调整列入兼容性变更。说明如何恢复历史扫描记录的文档也已更新,此次不仅调整了新扫描,还改进了重新处理已存储结果的流程。
5. 结果复用的收益与集成修改的成本
此版本的收益在于能够利用现有扫描器的证据,并继续处理中断的扫描或源代码位置已变化的扫描结果。相应代价是现有自动化需要修改结果字段、文件路径和输出名称,以适配新结构。
导入处理改为在计算远程请求字节数时,不再针对每个批次,即一次集中处理的单元,重新转换为传输格式。重新处理结果时,也减少了对 SQLite 数据库的不必要读取及内容解析。这些调整减少了计算请求大小和读取已存储结果过程中的重复工作。
Codex Security 0.8.0 扩展了利用外部检查证据的途径,同时要求现有结果集成迁移到新结构。
