Using Codex

修复发现项

修复安全发现项时要保留复现、验证和回归证据。

Codex Security 可帮助你将积压的已接受发现项转化为经过测试的代码更改。你可以修复结果workspace UI 中的结果,或从提示、命令行或 CI/CD 调用修复工作流。在每种情况下,Codex 都会验证问题,提出有针对性的补丁,添加回归覆盖范围,并validation合法行为是否仍然有效。

首先修复一项已接受的发现,以便你可以评估补丁和validation质量。一旦工作流程满足你的标准,通过在单独的任务或 CI/CD 作业中处理每个发现,将其扩展到更可接受的发现。保持每个修复的范围可以使代码更改和证据更容易审查。

在 UI 中修复 finding

在结果workspace中打开已接受的结果以生成、审查、应用和validation其补丁。

Codex Security proposed patch for an accepted finding
检查 the proposed source 和 test changes 之前 applying the patch locally.

生成重点补丁

打开结果,选择“补丁”选项卡,然后选择“生成补丁”。 Codex 在可行时validation或重现问题,并在不修改所选签出的情况下编写补丁artifact。

查看建议的diff

阅读每个更改的源文件和回归测试文件。当你想要在编辑器中获得完整补丁时,请使用在编辑器中打开diff。拒绝广泛的重构、不相关的清理或削弱其他安全控制的更改。

在本地应用补丁

仅在diff可接受后才选择在本地应用补丁。 Codex 将准确生成的补丁应用到工作树并记录该状态。在继续之前查看工作树diff。

validation修复情况

选择validation修复。 Codex 重新运行原始重现器或最强的可用漏洞检查、重点回归覆盖、合法行为检查、附近绕过检查和相关repository测试。

故意关闭发现

validation不会自动结束发现项。查看命令、结果和剩余的证据差距,然后以准确的理由结束发现项或将其保留以进行更多工作。

在本地应用补丁之前,请检查建议的源代码并测试更改。

从 CLI 修复 finding

当你已从扫描、票证、咨询、披露、安全评估或内部审查中获得结果时,请使用 Codex CLI:

以下命令假定 Codex Security 已安装在 codex exec 使用的 CODEX_HOME 中。新的 CI 运行器默认没有安装市场插件。

Use $codex-security:fix-finding to fix finding <finding-id> from <report-path>. Validate the issue, make the smallest safe change, add focused regression coverage, and verify that the issue no longer reproduces.

包括已知的源、接收器、攻击者输入、影响、预期不变量、重现器、受影响的文件和validation命令。 Codex 可以检查repository是否缺少技术细节,但在猜测产品策略或预期的安全不变性之前应该询问。

对于自动运行,请在检查代码、使结果报告可用并在 CODEX_HOME 中配置插件后将提示传递给 codex exec:

codex exec 'Use $codex-security:fix-finding to fix finding <finding-id> from <report-path>. Validate the issue, make the smallest safe change, add focused regression coverage, and verify that the issue no longer reproduces.'

在 CI/CD 中扫描并修复 findings

在调用这些技能之前,请在运行者的 CODEX_HOME 中配置 Codex Security。下面的命令使用已安装的插件;它本身不安装插件。

在 CI/CD 中,使用一次 Codex 运行来扫描diff并为其发现的每个发现生成修复程序。该作业不需要查找 ID 或报告路径作为输入。 Codex 在同一次运行中将扫描结果用于修复。

一体化运行应该:

解决变更的基础和头部修订。

Run $codex-security:security-diff-scan against that diff.

对扫描返回的每个结果调用 $codex-security:fix-finding。

生成重点补丁和回归覆盖范围,然后validation每个修复。

返回扫描结果、补丁、测试、validation命令以及任何无法修复的发现。

例如:

codex exec 'Use $codex-security:security-diff-scan to review changes from <base-revision> to HEAD. For every finding returned by the scan, use $codex-security:fix-finding to generate and verify a minimal fix. Continue until every finding has either a verified fix or an explicit explanation of why it could not be fixed. Return the scan results, patches, tests, verification commands, and remaining failures.'

validation后,通过正常的代码审查和发布流程合并补丁。要在修复之前将结果交给其他团队,请参阅导出或跟踪结果。

站内延伸阅读