Codex のセキュリティレビューは、ChatGPT Enterprise、Business、Edu、Pro で利用できます。Plus では利用できません。セキュリティレビューを実行すると、プランに含まれる Codex の利用枠または ChatGPT クレジットを消費します。
セキュリティレビューでは、GitHub の pull request の差分と関連コードを調べ、セキュリティ上の問題を特定します。脅威モデルのコンテキストやセキュリティに関する指針が設定されていれば、それらを参照します。報告基準を満たす問題が見つかると、その指摘を投稿します。
コードレビューでも、コード全般を確認する過程でセキュリティ上の問題を報告することがあるため、両方のレビューで同じ問題が報告される場合があります。
事前準備
Codex の自動セキュリティレビューを設定するには、以下が必要です。
- ワークスペースで Codex のセキュリティレビューを利用できること
- Codex Cloud のセットアップが完了し、GitHub リポジトリが接続されていること
- リポジトリ設定を変更するための GitHub のプッシュ権限または管理者権限
Codex Security のスキャンを事前に実行しておく必要はありません。
Codex のセキュリティレビューの設定
リポジトリ設定は共有されます。設定を変更すると、自分の pull requests だけでなく、リポジトリのレビューポリシーで対象となるすべての pull requests に影響します。リポジトリが個人設定に従う場合、自分の pull requests には自分の設定が適用されます。
- Codex の設定を開き、リポジトリを選択します。
- セキュリティの脆弱性をレビューで、自動セキュリティレビューをオンにします。
- レビューで、Codex のセキュリティレビューの対象とする pull requests を選択します。
- 個人設定に従うを選ぶと、各コントリビューターが Codex のセキュリティレビューを個人設定で有効にできます。
- すべての PR を選ぶと、リポジトリ内のすべての pull request が対象になります。
- チームの PR が選択できる場合、この設定の対象は ChatGPT ワークスペースのメンバーが作成した pull requests です。GitHub チームへの所属は判定に使われません。
- トリガーで、Codex のセキュリティレビューを実行するタイミングを選択します。
- PR 作成時を選ぶと、pull request が作成された時点で、コードレビューとは独立してセキュリティレビューが実行されます。
- プッシュのたびを選ぶと、新しいコミットがプッシュされるたびに、コードレビューとは独立してセキュリティレビューが実行されます。
- コードレビューの実行時を使うには、コードレビューを有効にする必要があります。コードレビューが実行されるたびに、Codex のセキュリティレビューも実行されます。
GitHub を接続したり、別のコントリビューターの個人設定でレビューを有効にしたりしても、自分の pull requests に対する追加レビューはリクエストされません。自動レビューを実行するかどうかは、リポジトリ設定と個人設定で決まります。接続したユーザーごとにレビューが実行されるわけではありません。トリガーの設定によっては、その後のプッシュで再度レビューが実行されます。手動で追加レビューをリクエストすることもできます。
脅威モデルによるコンテキストの追加
脅威モデルを設定すると、アプリケーションの資産、信頼境界、セキュリティ上の前提、リポジトリ固有のリスクに関するコンテキストを Codex に提供できます。リポジトリに Codex Security のスキャン設定がある場合は、そこで設定した脅威モデルを利用できます。それ以外の場合は、リポジトリにコミット済みの脅威モデルファイルのパスを指定します。脅威モデルの参照先を指定しない場合、Codex はレビューのたびに脅威モデルを再生成します。
報告基準の設定
デフォルトでは、Codex の自動セキュリティレビューは重大度が高または緊急の問題を報告します。手動でリクエストしたレビューは、重大度が中、高、緊急の問題を報告します。報告対象とする重大度の下限は、自動レビューと手動レビューで個別に変更できます。パスごとに異なる基準を設定することもできます。
pull request に投稿された指摘には、その pull request と同じ GitHub の公開範囲が適用されます。その pull request を閲覧できる人は誰でも、投稿された指摘を閲覧できます。公開リポジトリの pull requests や、ワークスペース外のコントリビューターが作成した pull requests でも同様です。Codex が GitHub に投稿する内容は報告基準で決まります。セキュリティレビューの完全なレポートは Codex に保存されます。
Codex のセキュリティレビューのリクエスト
Codex のセキュリティレビューを手動でリクエストするには、pull request に次のコメントを追加します。
@codex security review
Codex はレビュー中にコメントにリアクションを付けます。レビューが終わると、手動レビューの報告基準を満たす問題について、pull request に直接指摘を投稿します。関連する Codex タスクを開き、セキュリティレポートタブを選択すると、重大度、攻撃経路、判断の根拠、検証結果、修正方法を含む完全なレポートを確認できます。報告基準を満たす問題がない場合、Codex は pull request に指摘を投稿しません。指摘のコメントがない場合は、指摘なしでレビューが完了したと判断する前に、タスクのステータスとレポートの全内容を確認してください。
関連ドキュメント
- Codex による GitHub の pull requests のレビューでは、コードレビューと GitHub 連携について説明しています。
- Codex Security では、製品の概要を紹介しています。
- Codex Security のクラウド設定では、リポジトリのスキャンと検出された問題の確認方法を説明しています。
- 脅威モデルの改善では、リポジトリのコンテキストを調整する方法を説明しています。