セキュリティ検出結果を修正して検証する¶
Codex Security を使用すると、承認済みの検出結果のバックログを、テスト済みのコード変更に変換できます。検出結果ワークスペースの UI で検出結果を修正することも、プロンプト、コマンドライン、または CI/CD から修正ワークフローを呼び出すこともできます。いずれの場合も、Codex は問題を検証し、対象を絞ったパッチを提案し、回帰テストのカバレッジを追加し、正当な動作が引き続き機能することを検証します。
まず、承認済みの検出結果を 1 件修正し、パッチと検証の品質を評価します。ワークフローが基準を満たしたら、各検出結果を個別のタスクまたは CI/CD ジョブで処理することで、より多くの承認済み検出結果に拡張できます。各修正の範囲を限定すると、コード変更と証拠をレビューしやすくなります。
UI で検出結果を修正する¶
検出結果ワークスペースで承認済みの検出結果を開き、パッチを生成、レビュー、適用、検証します。
- 対象を絞ったパッチを生成する
検出結果を開き、Patch タブを選択してから、Generate patch を選択します。Codex は可能な場合に問題を検証または再現し、選択したチェックアウトを変更せずにパッチアーティファクトを書き込みます。
- 提案された差分をレビューする
変更されたソースファイルと回帰テストファイルをすべて読みます。エディターで完全なパッチを確認したい場合は、Open diff in editor を使用します。大規模なリファクタリング、無関係なクリーンアップ、または別のセキュリティ制御を弱める変更は却下します。
- パッチをローカルに適用する
差分に問題がないことを確認してから、Apply patch locally を選択します。Codex は生成されたパッチを正確に作業ツリーへ適用し、その状態を記録します。続行する前に、作業ツリーの差分をレビューします。
- 修正を検証する
Verify fix を選択します。Codex は、元の再現手順または利用可能な最も強力なエクスプロイトチェック、対象を絞った回帰テスト、正当な動作のチェック、近接するバイパスのチェック、および関連するリポジトリテストを再実行します。
- 検出結果を意図的にクローズする
検証によって検出結果が自動的にクローズされることはありません。コマンド、結果、残っている証明上のギャップをレビューしてから、正確な理由を付けて検出結果をクローズするか、追加作業のために開いたままにします。
CLI から検出結果を修正する¶
スキャン、チケット、アドバイザリ、開示、セキュリティ評価、または内部レビューからすでに検出結果を得ている場合は、Codex CLI を使用します。
以下のコマンドでは、Codex Security が、CODEX_HOME にすでにインストールされており、codex exec によって使用されることを前提としています。新しい 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.
既知のソース、シンク、攻撃者の入力、影響、想定される不変条件、再現手順、影響を受けるファイル、検証コマンドを含めます。Codex は不足している技術的詳細をリポジトリから調査できますが、製品ポリシーや意図されたセキュリティ不変条件を推測する前に確認を求める必要があります。
自動実行では、コードをチェックアウトし、検出結果レポートを利用可能にし、その 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 で検出結果をスキャンして修正する¶
これらのスキルを呼び出す前に、ランナーの CODEX_HOME に Codex Security をプロビジョニングします。以下のコマンドはインストール済みのプラグインを使用します。プラグイン自体はインストールしません。
CI/CD では、1 回の Codex 実行で差分をスキャンし、検出されたすべての検出結果の修正を生成します。ジョブへの入力として、検出結果 ID やレポートパスを指定する必要はありません。Codex は、同じ実行内でスキャンから修正へ検出結果を引き継ぎます。
一括実行では、次の処理を行います。
- 変更のベースリビジョンとヘッドリビジョンを解決します。
- その差分に対して
$codex-security:security-diff-scanを実行します。 - スキャンから返されたすべての検出結果に対して
$codex-security:fix-findingを呼び出します。 - 対象を絞ったパッチと回帰テストのカバレッジを生成し、各修正を検証します。
- スキャン結果、パッチ、テスト、検証コマンド、および修正できなかった検出結果を返します。
例:
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.'
検証後、通常のコードレビューおよびリリースプロセスを通じてパッチをマージします。修正前に検出結果を別のチームへ引き渡す方法については、検出結果をエクスポートまたは追跡する を参照してください。