このよくある質問では、Codex Security クラウドについて説明します。ローカルスキャンやワークフローのうち、 Codex タスク内で実行されるものについては、「Codex Security プラグインのクイックスタート」を参照してください。
はじめに
Codex Security とは?
ソフトウェアセキュリティは今なお、エンジニアリングにおける最も困難で重要な課題の 1 つです。Codex Security は、LLM を活用したセキュリティ分析ツールキットです。ソースコードを調べ、構造化され、優先順位が付けられた脆弱性の検出結果と提案パッチを返します。開発者やセキュリティチームが、セキュリティ上の問題を大規模に発見して修正できるよう支援します。
なぜ重要なのですか?
ソフトウェアは現代の産業と社会の基盤であり、その脆弱性は社会や産業全体に波及するリスクを生みます。Codex Security は、問題の可能性を継続的に特定し、可能な場合は検証し、修正案を提示することで、防御側を優先するワークフローを支援します。これにより、開発のペースを落とすことなくセキュリティを強化できます。
Codex Security が解決するビジネス課題は何ですか?
Codex Security は、疑わしい問題を、証拠と提案パッチを伴う確認済みで再現可能な検出結果へと絞り込むまでの時間を短縮します。これにより、従来型のスキャナーだけを使用する場合と比べて、トリアージの負荷と誤検知を減らせます。
Codex Security の仕組みは?
Codex Security は、隔離された一時的なコンテナで分析を実行し、対象のリポジトリを一時的にクローンします。コードレベルで分析し、説明、ファイルと該当箇所、重大度、根本原因、推奨される修正案を含む構造化された検出結果を返します。
検証手順を含む検出結果については、同じサンドボックス内で提案されたコマンドやテストを実行し、その成否、終了コード、stdout、stderr、テスト結果、生成された差分やアーティファクトを記録します。その出力をレビュー用の証拠として添付します。
SAST の代替になりますか?
いいえ。Codex Security は SAST を補完します。LLM を用いた意味的推論と自動検証を追加する一方で、既存の SAST ツールも引き続き、決定論的な手法で広範囲をカバーします。
機能
分析パイプラインとは?
Codex Security は、次の段階的なパイプラインで処理を行います:
- 分析:リポジトリの脅威モデルを構築します。
- コミットスキャン:マージ済みのコミットとリポジトリ履歴を確認し、問題の可能性がないか調べます。
- 検証:誤検知を減らすため、脆弱性の可能性をサンドボックス内で再現しようとします。
- パッチ生成:Codex と連携し、レビュー担当者が PR を作成する前に確認できるパッチを提案します。
Codex Security は、GitHub、Codex、標準的なレビューワークフローを通じて、エンジニアと連携します。
どの言語に対応していますか?
Codex Security は特定の言語に依存しません。実際の性能は、リポジトリで使用される言語やフレームワークに対するモデルの推論能力によって異なります。
スキャン完了後にどのような出力が得られますか?
重大度と検証ステータスが示され、利用可能な場合は提案パッチも付いた、優先順位付きの検出結果が得られます。検出結果には、クラッシュ出力、再現の証拠、コールパスのコンテキスト、関連する注釈が含まれることもあります。
顧客コードはどのように分離されますか?
分析ジョブと検証ジョブはそれぞれ、セッション限定のツールを備えた一時的な Codex コンテナで実行されます。レビュー用にアーティファクトが抽出され、ジョブの完了後にコンテナは破棄されます。
Codex Security はパッチを自動適用しますか?
いいえ。提案パッチは推奨される修正案です。ユーザーは検出結果の UI でパッチをレビューし、PR として GitHub にプッシュできますが、Codex Security がリポジトリへの変更を自動適用することはありません。
スキャン前にプロジェクトのビルドが必要ですか?
いいえ。Codex Security はコンパイル手順なしでも、リポジトリとコミットのコンテキストから検出結果を生成できます。自動検証では、問題の再現に役立つ場合、コンテナ内でプロジェクトのビルドを試みることがあります。環境のセットアップについて詳しくは、「Codex クラウド環境」を参照してください。
Codex Security が誤検知を減らし、問題のあるパッチを回避する仕組みは?
Codex Security は 2 段階の処理を行います。まず、モデルが問題の可能性を順位付けします。次に、自動検証で各問題をクリーンなコンテナ内で再現しようとします。問題を再現できた検出結果は検証済みとマークされるため、人によるレビューの前に誤検知を減らせます。
初回スキャンにはどのくらい時間がかかり、その後はどうなりますか?
初回スキャンにかかる時間は、リポジトリのサイズ、ビルド時間、検証に進む検出結果の数によって異なります。リポジトリによっては数時間かかる場合があります。大規模なリポジトリでは数日かかる場合もあります。以降のスキャンは、新しいコミットと増分変更に対象を絞るため、通常は短時間で完了します。
脅威モデルとは?
脅威モデルとは、リポジトリのスキャン時に使用されるセキュリティコンテキストです。簡潔なプロジェクト概要に、エントリーポイント、信頼境界、認証に関する前提、リスクの高いコンポーネントなど、攻撃対象領域の詳細を組み合わせたものです。詳しくは、「脅威モデルを改善する」を参照してください。
脅威モデルの生成方法は?
Codex Security はモデルに対し、リポジトリのアーキテクチャとセキュリティ上のエントリーポイントの要約、リポジトリの種類の分類、専用の抽出ツールの実行を指示します。その結果を統合し、スキャン全体を通じて使用するプロジェクト概要または脅威モデルのアーティファクトを作成します。
人手によるセキュリティレビューの代替になりますか?
いいえ。Codex Security はレビューを迅速化し、検出結果の順位付けを支援しますが、コードレベルでの検証、悪用可能性の確認、人による脅威評価を置き換えるものではありません。
脅威モデルは編集できますか?
はい。Codex Security が最初の脅威モデルを作成します。その後、アーキテクチャ、リスク、ビジネス上のコンテキストの変化に応じて更新できます。編集のワークフローについては、「脅威モデルを改善する」を参照してください。
脅威モデリングの前にスキャン設定が必要ですか?
はい。脅威モデルのガイダンスは、何をどのようにスキャンするかに応じて決まるため、まずリポジトリを設定する必要があります。「Codex Security のセットアップ」を参照してください。
提案パッチには何が含まれますか?
検出結果に対する修正案を生成できる場合、提案パッチには、ファイル名と該当行周辺の情報を含む、実際に適用できる最小限の差分が含まれます。
提案パッチは PR ブランチを直接変更しますか?
いいえ。このワークフローでは、メンテナーとレビュー担当者が適用前に確認できるように、差分、パッチファイル、または変更案を生成します。
検証
自動検証とは?
自動検証は、隔離されたコンテナ内で疑わしい問題の再現を試みるフェーズです。再現の成否を記録し、証拠としてログ、コマンド、関連するアーティファクトを保存します。
検証に失敗するとどうなりますか?
検出結果は未検証のままです。ログとレポートには試行内容が引き続き記録されるため、エンジニアは再試行、追加調査、再現手順の調整を行えます。