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