セキュリティ検出結果を修正して検証する
受け入れた検出結果を、対象を絞ったリグレッションの証拠を伴う最小限のパッチに変換します。
Codex Security を使用して、受け入れたセキュリティ検出結果を、対象を絞った検証済みのパッチに変換します。Security ワークベンチで作業することも、プロンプト、コマンドライン、CI/CD から修正ワークフローを実行することもできます。Codex は問題を検証し、テストが安全かつ実用的である場合は、修正前には失敗し、修正後には成功する、対象を絞ったリグレッションテストを追加します。また、正当な動作が引き続き機能することも確認します。リグレッションテストが安全でない、または実行不可能な場合、Codex は証拠の不足を記録し、代わりに再現可能な最も確実な検証成果物を提供します。
まず、受け入れた検出結果を一つ修正し、パッチと検証の品質を評価します。ワークフローが基準を満たしたら、各検出結果を別々のタスクまたは CI/CD ジョブで処理し、より多くの受け入れ済み検出結果へ展開します。各修正の範囲を限定することで、コード変更と証拠をレビューしやすくなります。
UI で検出結果を修正する
Findings または Scans の完了済みスキャンから、受け入れた検出結果を開きます。証拠をレビューしてから、Patch を使用して、対象を絞った修正を一つ生成、レビュー、適用、検証します。
対象を絞ったパッチを生成する
検出結果を開き、Patch タブを選択して、Generate patch を選択します。 Codex は可能な場合に問題を検証または再現し、選択した checkout を変更せずにパッチ成果物を書き込みます。
提案された差分をレビューする
変更されたすべてのソース、リグレッションテスト、検証成果物を確認します。大規模なリファクタリング、無関係なクリーンアップ、別のセキュリティ制御を弱める変更は却下してください。
パッチをローカルに適用する
差分を受け入れられる場合に限り、Apply patch を選択します。Codex は生成されたパッチをそのまま作業ツリーに適用し、その状態を記録します。続行する前に、作業ツリーの差分をレビューしてください。
修正を検証する
Verify fix を選択します。Codex は元の再現手順または利用可能な最も確実な悪用チェックを再実行します。リグレッションテストが安全かつ実用的である場合、Codex は修正前には失敗し、修正後には成功することを確認します。テストが安全でない、または実行不可能な場合、Codex は証拠の不足を記録し、代わりに再現可能な最も確実な検証成果物を提供します。また、正当な動作、近接する回避手段、関連するリポジトリのテストも確認します。
検出結果を意図的にクローズする
検証によって検出結果が自動的にクローズされることはありません。コマンド、結果、残っている証拠の不足をレビューしてから、正確な理由を付けて検出結果をクローズするか、追加作業のためにオープンのままにします。
CLI から検出結果を修正する
スキャン、チケット、アドバイザリ、開示、セキュリティ評価、社内レビューによる検出結果がすでにある場合は、Codex CLI を使用します。
以下のコマンドは、codex exec が使用する
CODEX_HOME に Codex Security がインストール済みであることを前提としています。新しい CI runner には、マーケットプレイスのプラグインがデフォルトではインストールされていません。
Use $codex-security:fix-finding to fix finding <finding-id> from <report-path>. Validate the issue, make the smallest safe change, and add a focused regression test that fails before the fix and passes after it. If that test is unsafe or infeasible, record the proof gap and provide the strongest repeatable validation artifact instead. Verify that the issue no longer reproduces.既知のソース、シンク、攻撃者の入力、影響、期待される不変条件、再現手順、影響を受けるファイル、検証コマンドを含めます。Codex は不足している技術的詳細をリポジトリから調査できますが、製品ポリシーや意図したセキュリティ上の不変条件を推測する前に確認する必要があります。
自動実行では、コードを checkout し、検出結果レポートを利用可能にして、対象の
CODEX_HOME にプラグインを用意した後、プロンプトを codex exec に渡します。
codex exec --sandbox workspace-write 'Use $codex-security:fix-finding to fix finding <finding-id> from <report-path>. Validate the issue, make the smallest safe change, and add a focused regression test that fails before the fix and passes after it. If that test is unsafe or infeasible, record the proof gap and provide the strongest repeatable validation artifact instead. Verify that the issue no longer reproduces.'CI/CD で検出結果をスキャンして修正する
これらの skill を呼び出す前に、runner の CODEX_HOME に Codex Security を用意します。以下のコマンドはインストール済みのプラグインを使用するものであり、プラグイン自体はインストールしません。
CI/CD では、変更スキャンと修正を分離し、スキャンによって checkout が変更されないようにします。完了したスキャンディレクトリをジョブの成果物として保存し、検出結果をレビューして、修正を受け入れた検出結果ごとに個別の Codex タスクまたはジョブを開始します。
変更スキャンと修正は、どちらも --sandbox workspace-write で実行します。スキャンでは一時成果物を保存するためにこの権限が必要ですが、そのプロンプトでは引き続き
Do not modify the checkout を要求する必要があります。修正でも、対象を絞ったパッチと検証の証拠を書き込むために同じ権限が必要です。
- 変更のベースとヘッドのリビジョンを特定します。
- checkout を変更せずに、その差分に対して
$codex-security:security-diff-scanを実行します。 - 完全なスキャンディレクトリを保存し、修正する検出結果を選択します。
- 修正を受け入れた検出結果ごとに、
$codex-security:fix-findingを一度呼び出します。 - 対象を絞ったパッチを一つ生成し、修正前には失敗して修正後には成功するリグレッションテストを追加するか、そのテストが安全でない、または実行不可能な理由を記録します。
- 元の問題と正当な動作をそれぞれ独立して検証します。
まず、checkout を変更せずに変更内容をスキャンします。
codex exec --sandbox workspace-write 'Use $codex-security:security-diff-scan to review changes from <base-revision> to <head-revision> for security regressions. Do not modify the checkout.'次に、完了したスキャンから受け入れた検出結果を一つ修正します。
codex exec --sandbox workspace-write 'Use $codex-security:fix-finding to fix finding <finding-id> from <completed-scan-directory>. Validate the finding, generate one minimal patch, and add a focused regression test that fails before the fix and passes after it. If that test is unsafe or infeasible, record the proof gap and provide the strongest repeatable validation artifact instead. Verify that the issue no longer reproduces.'残っている受け入れ済みの各検出結果について、2 番目のコマンドを独立したタスクまたはジョブで繰り返します。検証後、通常のコードレビューとリリースプロセスを通じて各パッチをマージします。