管理与安全

Codex Security:修复并验证安全 findings

学习如何处理 Codex Security findings:确认风险、制定修复方案、修改代码、补测试并验证漏洞不再可利用。

Codex Security修复漏洞验证Findings

适用场景

这篇手册适合已经从 Codex Security 得到 findings,并准备让 Codex 辅助修复的用户。修复安全问题要比普通 bug 更谨慎,因为错误修复可能只隐藏症状,没有消除攻击路径。

OpenAI 官方 Fix and verify security findings 页面介绍了修复与验证流程。具体插件行为以当前官方页面为准。

步骤 1:先确认 finding

修复前先确认:

  • 代码位置是否准确。
  • 输入路径是否可达。
  • 攻击前提是否现实。
  • 影响范围是否明确。
  • 是否需要业务上下文。

如果 finding 依赖产品策略,例如“某用户是否应有权限”,先找负责人确认。

步骤 2:让 Codex 提出修复计划

不要直接说“修一下”。先要求计划。

请针对 finding F-123 制定修复计划。
先不要修改文件。
说明漏洞路径、修复点、需要新增的测试和可能影响的行为。

确认计划后再修改。

步骤 3:限定修改范围

安全修复应尽量小。

可以写:

只修改认证校验相关文件和对应测试。
不要重构无关模块,不要改变公开 API 行为。

这能减少修复引入新的回归。

步骤 4:补验证用例

安全修复最好包含测试。

测试应覆盖:

  • 漏洞触发路径。
  • 修复后的拒绝行为。
  • 正常用户不受影响。
  • 边界条件。
  • 相关回归场景。

如果无法自动化测试,也要记录人工验证步骤。

步骤 5:复查和关闭 finding

修复后检查:

  • finding 是否不再成立。
  • 测试是否覆盖攻击路径。
  • 是否引入新权限问题。
  • 日志是否泄露敏感信息。
  • PR 描述是否包含验证方式。

确认后再更新 issue、backlog 或安全跟踪系统。

常见错误

不要只修报错位置,不修真实入口路径。

不要为了快速通过测试而放宽权限判断。

不要在修复 PR 中混入无关重构。

不要关闭没有验证的 finding。

小结

修复安全 findings 的正确顺序是:确认风险、制定计划、限定范围、修改代码、补测试、复查并记录验证。Codex 可以辅助修复,但最终关闭风险需要证据。

相关教程

常见问题

修复 finding 前最重要的事是什么?
先确认 finding 真实、可达,并理解影响范围。没有证据的 finding 应先验证或补上下文,不要盲目改代码。

修复后只跑 lint 可以吗?
通常不够。安全修复应增加针对漏洞路径的测试或复现验证,再运行项目必要的回归检查。