Codex Security スキャンを実行する
Codex Security スキャンを実行する
許可されたリポジトリまたは対象を限定した 1 つのフォルダをスキャンし、検出結果、カバレッジ、成果物を確認します。
最初のレビューや、リポジトリまたはコンポーネントの定期的な評価には、標準の Codex Security スキャンから始めてください。スキャンワークフロー全体を 1 回実行します。
より徹底的な評価を行うには、結果を確認してから詳細スキャンを実行します。詳細スキャンは時間がかかりますが、より広範囲を調査します。
スキャン範囲を選択する
デスクトップアプリで Security を開き、Scans、+ Scan の順に選択します。既存のリポジトリまたは別のフォルダを選択し、Codebase を選択します。
広範なカバレッジが必要で、リポジトリが妥当なレビュー単位である場合は、リポジトリ全体をスキャンします。モノレポの場合、サービス、パッケージ、コンポーネントに明確な所有者とセキュリティ境界があるときは、1 つのフォルダを選択します。
Codex の会話からスキャンを開始することもできます。
Use $codex-security:security-scan to scan this repository for security vulnerabilities.その会話で特定のフォルダに重点を置くには、コンポーネントを指定します。
Use $codex-security:security-scan to scan this repository for security vulnerabilities, focusing on the services/billing component.
スキャンを設定する
最良のスキャン品質を得るには、gpt-5.6-sol を xhigh の推論強度で使用してください。
- Codebase を選択し、Deep scan をオフのままにします。
- 選択したリポジトリ、現在のブランチ、最新のリビジョンを確認します。
- Scan area をリポジトリ全体に設定するか、1 つのフォルダを選択します。
- モデルと推論強度を選択します。
- レビューに影響する場合にのみ Additional context を開きます。有用なコンテキストでは、攻撃者が制御できる入力、信頼境界、機密性の高い操作、優先すべき特定の領域を示します。
- Start scan を選択します。
継続的なセキュリティガイダンスを提供するには、リポジトリのルートに SECURITY.md を追加します。脅威モデル、セキュリティ上の不変条件、報告対象となる検出結果の基準、除外項目、重大度のコンテキストを記述します。ディレクトリ固有のガイダンスには、ネストした SECURITY.md ファイルを追加します。ポリシーが競合する場合は、コードに最も近いファイルが優先されます。Codex Security はこれらのファイルをポリシーのコンテキストとして扱い、実行可能な指示としては扱いません。
サポートされているビルドコマンドや検証コマンド、その他のリポジトリ固有の指示には AGENTS.md を使用します。
各フェーズの完了を待つ
スキャンは次のフェーズを順番に実行します。
- 脅威モデリングでは、資産、エントリポイント、信頼境界、 セキュリティ不変条件を特定します。
- 検出結果の探索では、指定されたコードをレビューし、制御の破綻が疑われる箇所や source-to-sink パスを探します。
- 検証では、各候補をテストまたは別の方法で確認し、根拠や 証明の不足を記録します。
- 影響とパスの分析では、各候補について現実的なパス、影響、深刻度を評価します。
- レポート作成では、検証済みの検出結果、カバレッジ、スキャンメタデータを記録します。 リクエストに応じて、検出結果ごとの詳細レポートも提供されます。
- 構造的な強化では、リクエストされた場合に検出結果一式を分析し、設計ガイダンスを作成します。
- 最終処理では、構造化されたスキャン契約を検証し、詳細レポートや強化ガイダンスへのリンクを含む
report.mdを生成します。
ワークベンチには、実行中のスキャンフェーズと、プラグインから報告された進行状況が表示されます。 View activity を選択すると Codex タスクを確認できます。初期の候補だけで判断したり、あるフェーズが別のフェーズより時間がかかっていることを理由に停止したりせず、完全な結果が得られるまで待ってください。
完了したスキャンを確認する
次の順序で結果を確認します。
- 対象、リビジョン、スキャン範囲を確認します。
- レビュー済みの領域と、明示的に延期された領域またはフォローアップが必要な領域をすべて確認します。
- 各検出結果について、根本となる制御または sink、攻撃者が制御できる入力、検証方法、残っている不確実性、現実的な到達可能性、重大度の根拠、推奨される修正方法を確認します。
- エビデンスが主張されたパスまたは影響を裏付けていない検出結果は除外します。
- 修正を開始する前に、承認する検出結果を 1 件選択します。
初回スキャンを評価する
スキャン前に、独立した探索、根拠の品質、誤検知、修正品質など、 2~4 個の評価基準を選択します。既知の検出結果を使って テストする場合は、それを Codex に提供したか、 スキャンには知らせなかったかを記録してください。
リポジトリのリビジョン、プラグインのバージョン、モデル、推論の強度を記録します。 このベースラインを使用して、コード、セキュリティ制御、または スキャン設定を変更した後のスキャンと比較してください。
スキャン頻度を選択する
リポジトリのリスクと、検出結果に対応できるチームの能力に基づいてスキャン頻度を 設定します。次のタイミングでスキャンしてください。
- ベースライン: リポジトリを導入するとき、コンポーネントの 所有権を引き継ぐとき、または新しい脅威モデルの出発点が必要なときに、標準スキャンを実行します。
- コード変更: pull request や commit によってセキュリティ上重要なコードや外部 連携が変更された場合は、コード変更をレビュー します。
- 定期レビュー: システムの露出度とコードの変更頻度に基づいて、定期的なレビュー間隔を設定します。 検出結果に対応できるチームの能力に合わせて 調整してください。
- 修正後: 検出結果を修正して検証します。 問題が再現しなくなったことを確認し、比較のために元のスキャンを 保持してください。
これらのスキャントリガーによって、自動スケジュールが作成されることはありません。
以前のスキャンを再度開く
Security を開き、Scans から保存済みのスキャンを選択して、検出結果、カバレッジ、利用可能なレポート成果物を確認します。最新のコードを評価するには、同じリポジトリに対して新しいスキャンを開始します。新しいスキャンによって、以前のスキャンやその成果物が置き換えられることはありません。
結果を活用する
Security ワークベンチを使用すると、生の JSON を調べることなく、検出結果、カバレッジ、フォローアップが必要な領域を確認できます。利用可能な場合は report.md を開くと、完全なスキャンディレクトリを読み始めるためのエントリポイントになります。共有またはアーカイブする際は、ディレクトリ全体をまとめて保持してください。任意の成果物が利用可能な場合、レポートから findings/ の詳細レポートや hardening/ の構造的なセキュリティ強化ガイダンスへリンクされています。
ワークスペースの背後では、各スキャンが自動化と連携のために scan-manifest.json、findings.json、
coverage.json を保持します。通常、これらのファイルを自分で開く必要はありません。
検出結果ワークスペースでは、ポータブルな JSON、CSV、SARIF ファイルを作成することもできます。 検出結果をエクスポートまたは追跡するをご覧ください。
次のステップ
担当者が検出結果を承認したら、検出結果を修正して検証するを使用して、範囲を限定した 1 つのパッチを生成し、レビューします。1 つのチャットでスキャンのすべての検出結果を修正するよう Codex に依頼しないでください。