跳转到内容

运行 Codex Security 扫描

身份 非官方简体中文镜像
翻译状态 AI 翻译 / AI 审校
来源版本 官方未提供
同步日期 2026-07-26
官方原文 learn.chatgpt.com

首次审查以及大多数例行仓库或组件评估,都可以使用 Codex Security 扫描。它会完整运行一次扫描工作流。

对结果满意后,运行一次深度扫描,进行更全面的评估。深度扫描耗时更长,但也更加彻底。

当你需要广泛覆盖,且仓库适合作为一个合理的审查单元时,扫描整个仓库:

Use $codex-security:security-scan to scan this repository for security vulnerabilities.

当单体仓库过大,或者某个服务、软件包或组件有明确的负责人和安全边界时,扫描一个文件夹:

Use $codex-security:security-scan to scan this repository for security vulnerabilities, focusing on the services/billing component.

对于大型单体仓库,请从一个有意义的产品或服务边界开始。

  1. 确认 Scan typeCodebase,并关闭 Deep scan
  2. 确认 CodebaseCurrent branchLast commit
  3. Scan area 设置为 Entire codebase,或输入一个相对于仓库的文件夹路径。
  4. 仅在威胁模型指导会改变审查结果时添加指导。有效的指导应说明攻击者可控的输入、信任边界、敏感操作或需要优先审查的特定区域。
  5. 选择 Start scan

如需提供持久的仓库安全指导,请在仓库根目录添加 SECURITY.md。使用它描述威胁模型、安全不变量、可报告发现的标准、排除项和严重性背景。对于目录特定的指导,请添加嵌套的 SECURITY.md 文件。如果策略发生冲突,以距离代码最近的文件为准。Codex Security 将此内容视为策略上下文,而不是可执行指令。

使用 AGENTS.md 记录受支持的构建和验证命令,以及其他特定于仓库的指令。

扫描会依次运行以下阶段:

  1. 威胁建模:识别资产、入口点、信任边界和安全不变量。
  2. 发现问题:审查请求的代码,查找可能失效的控制措施以及从源到汇的路径。
  3. 验证:测试或以其他方式检查每个候选问题,并记录证据或证明缺口。
  4. 攻击路径分析:评估现实中的可达性、影响和严重性。
  5. 详细报告:为每个可报告发现创建一份有来源支持的漏洞报告,并在可能的情况下附上支持性的概念验证文件。
  6. 结构加固:分析完整的发现集合,并在仍存在可报告发现时创建设计方案集。
  7. 最终处理:验证结构化扫描契约,并生成 report.md,其中链接到详细报告和加固方案集。

Codex 会在扫描运行期间报告阶段和覆盖范围进度。不要根据早期候选问题判断结果,也不要因为某个阶段耗时比其他阶段更长就停止扫描。

按以下顺序审查结果:

  1. 确认目标、修订版本和扫描范围。
  2. 阅读已审查的代码面,以及每个明确延期或后续处理的区域。
  3. 对于每个发现,检查根控制措施或汇、攻击者可控的输入、验证方法、剩余不确定性、现实中的可达性、严重性依据和建议的修复方案。
  4. 如果证据不支持所声称的路径或影响,则驳回该发现。
  5. 在开始修复前,选择一个已接受的发现。

完成的工作区会在列出发现之前,总结扫描状态、覆盖范围、严重性和相关工件。

一个发现会将相关源连接到其入口点、可达性、可能性、影响,以及任何限制或反证。

使用 findings 工作区进行常规审查。它会展示发现、覆盖范围和后续处理区域,无需你检查原始 JSON。打开 report.md,将其作为完整扫描目录的主要可读入口。分享或归档时,请将整个目录放在一起,因为报告链接到 findings/ 下的详细报告;如果存在可报告发现,还会链接到 hardening/ 下的结构加固指导。

在工作区背后,每次扫描都会保留 scan-manifest.jsonfindings.jsoncoverage.json,供自动化和集成使用。通常你不需要自己打开这些文件。

findings 工作区还可以创建可移植的 JSON、CSV 和 SARIF 文件。请参阅导出或跟踪发现

人员接受某个发现后,请使用修复并验证发现生成并审查一个范围明确的补丁。不要让 Codex 在一次聊天中修复扫描发现的所有问题。