Codex Security cloud FAQ
如需完整文档索引,请参阅 llms.txt。文档页面的 Markdown 版本可通过在页面后追加
.md来获取 URL。
本文 FAQ 介绍 Codex Security cloud。对于在 一个 Codex 任务中运行的本地扫描和工作流,请参阅 Codex Security 插件快速入门。
什么是 Codex Security?
Section titled “什么是 Codex Security?”软件安全仍然是工程领域最困难、最重要的问题之一。Codex Security 是一个由 LLM 驱动的安全分析工具包,可检查源代码,并返回结构化、按优先级排序的漏洞发现结果以及建议的补丁。它可以帮助开发者和安全团队大规模发现并修复安全问题。
为什么这很重要?
Section titled “为什么这很重要?”软件是现代工业和社会的基础,而漏洞会造成系统性风险。Codex Security 支持以防御者为先的工作流,持续识别可能存在的问题,并在可能的情况下进行验证和提出修复方案。这有助于团队提升安全性,同时不会拖慢开发进度。
Codex Security 解决什么业务问题?
Section titled “Codex Security 解决什么业务问题?”Codex Security 缩短了从疑似问题到确认且可复现的发现结果之间的路径,并提供证据和建议的补丁。与单独使用传统扫描器相比,这可以减少分类处理工作量并降低误报率。
Codex Security 如何工作?
Section titled “Codex Security 如何工作?”Codex Security 在临时隔离容器中运行分析,并临时克隆目标代码库。它会执行代码级分析,并返回结构化的发现结果,其中包括描述、文件和位置、严重性、根本原因以及建议的修复措施。
对于包含验证步骤的发现结果,系统会在同一沙箱中执行建议的命令或测试,记录成功或失败、退出代码、stdout、stderr、测试结果以及生成的差异或构件,并将这些输出作为供审查的证据附加到发现结果中。
它会取代 SAST 吗?
Section titled “它会取代 SAST 吗?”不会。Codex Security 是对 SAST 的补充。它增加了基于语义的 LLM 推理和自动验证,而现有的 SAST 工具仍可提供广泛的确定性覆盖。
什么是分析流水线?
Section titled “什么是分析流水线?”Codex Security 遵循分阶段的流水线:
- 分析 为代码库构建威胁模型。
- 提交扫描 检查已合并的提交和代码库历史记录,查找可能存在的问题。
- 验证 尝试在沙箱中复现可能存在的漏洞,以减少误报。
- 打补丁 与 Codex 集成,提出补丁供审查者检查,然后再创建 PR。
它可以与 GitHub、Codex 以及标准审查工作流中的工程师协同工作。
支持哪些语言?
Section titled “支持哪些语言?”Codex Security 与语言无关。实际上,其性能取决于模型对代码库所使用语言和框架的推理能力。
扫描完成后会得到哪些输出?
Section titled “扫描完成后会得到哪些输出?”你会得到按优先级排序的发现结果,其中包括严重性、验证状态,以及可用时提供的建议补丁。发现结果还可能包含崩溃输出、复现证据、调用路径上下文和相关注释。
客户代码如何隔离?
Section titled “客户代码如何隔离?”每个分析和验证任务都在具有会话级工具的临时 Codex 容器中运行。系统会提取构件供审查,并在任务完成后销毁容器。
Codex Security 会自动应用补丁吗?
Section titled “Codex Security 会自动应用补丁吗?”不会。建议的补丁是一项推荐的修复措施。用户可以查看该补丁,并将其作为 PR 推送到 GitHub 从发现结果中 UI, 但 Codex Security 不会自动将更改应用到代码库。
扫描是否需要构建项目?
Section titled “扫描是否需要构建项目?”不需要。Codex Security 无需编译步骤,即可根据代码库和提交上下文生成发现结果。在自动验证期间,如果有助于复现问题,它可能会尝试在容器内构建项目。有关环境设置的详细信息,请参阅 Codex cloud 环境。
Codex Security 如何减少误报并避免生成有问题的补丁?
Section titled “Codex Security 如何减少误报并避免生成有问题的补丁?”Codex Security 使用两个阶段。首先,模型会对可能存在的问题进行排序。然后,自动验证会尝试在干净的容器中复现每个问题。成功复现的问题会被标记为已验证,这有助于在人工审查前减少误报。
初始扫描需要多长时间,之后会发生什么?
Section titled “初始扫描需要多长时间,之后会发生什么?”初始扫描时间取决于代码库大小、构建时间以及进入验证阶段的发现结果数量。对于某些代码库,扫描可能需要数小时。对于更大的代码库,可能需要数天。后续扫描通常会更快,因为它们重点关注新的提交和增量更改。
什么是威胁模型?
Section titled “什么是威胁模型?”威胁模型是扫描时针对代码库的安全上下文。它将简明的项目概览与攻击面详细信息结合起来,例如入口点、信任边界、身份验证假设和高风险组件。有关更多详细信息,请参阅 改进威胁模型。
如何生成威胁模型?
Section titled “如何生成威胁模型?”Codex Security 会提示模型总结代码库架构和安全入口点、对代码库类型进行分类、运行专用提取器,并将结果合并为项目概览或威胁模型构件,在整个扫描过程中使用。
它会取代人工安全审查吗?
Section titled “它会取代人工安全审查吗?”不会。Codex Security 可以加快审查并帮助发现结果排序,但不能取代代码级验证、可利用性检查或人工威胁评估。
可以编辑威胁模型吗?
Section titled “可以编辑威胁模型吗?”可以。Codex Security 会创建初始威胁模型,你可以随着架构、风险和业务上下文的变化更新它。有关编辑工作流,请参阅 改进威胁模型。
使用威胁建模前是否需要配置扫描?
Section titled “使用威胁建模前是否需要配置扫描?”需要。威胁模型指导取决于扫描的方式和内容,因此你需要先配置代码库。请参阅 Codex Security 设置。
建议补丁包含哪些内容?
Section titled “建议补丁包含哪些内容?”如果可以为发现结果生成修复措施,建议补丁会包含一个最小可执行差异,以及文件名和行上下文。
补丁会直接修改我的 PR 分支吗?
Section titled “补丁会直接修改我的 PR 分支吗?”不会。该工作流会生成差异、补丁文件或建议的更改,供维护者和审查者在应用前检查。
什么是自动验证?
Section titled “什么是自动验证?”自动验证是尝试在隔离容器中复现疑似问题的阶段。它会记录复现成功或失败的结果,并捕获日志、命令和相关构件作为证据。
如果验证失败会发生什么?
Section titled “如果验证失败会发生什么?”该发现结果会保持未验证状态。日志和报告仍会记录已尝试的操作,以便工程师重试、进一步调查或调整复现步骤。