メインコンテンツへスキップ
PR レビューは、すべてのプルリクエストにセキュリティ問題がないかを確認します。変更されたコードと、変更された依存関係をレビューし、見つかったものを検証して、プルリクエストにコメントします。 PR レビューは GitHub と GitLab で動作します。Azure DevOps では利用できません。

PR レビューをオンにする

PR レビューはデフォルトでオンです。2 つのスイッチで制御します。
  • 組織全体: Workflows の PR review にある Triggers スイッチ。
  • リポジトリごと: Coverage → Repositories の PR Reviews 列。
変更するには、 Owner または Admin ロールが必要です。

レビューが実行されるタイミング

レビューは、プルリクエストが作成された、再オープンされた、レビュー可能としてマークされた、または新しいコミットが追加されたときに実行されます。
  • ドラフトは、レビュー可能になるまでレビューされません。
  • 新しいコミットがあると、以前のレビューはキャンセルされます。
  • フォークからのプルリクエストもレビューされます。
  • 変更ファイルが 300 を超えるプルリクエストはスキップされます。
  • 月間の利用枠を使い切ると、Enclave はレビューをスキップしたことをコメントで伝えます。
プルリクエストをオンデマンドでレビューするには、Research に依頼します: Run the Workflow "PR review"

レビューの内容

  1. 変更されたコードを分析します。マニフェストまたはロックファイルが変更された場合は、依存関係も分析します。
  2. 実在しない問題、セキュリティ問題でないもの、変更箇所を指していないものを除外します。
  3. コードがインターネットから到達可能かどうかに基づいて重大度を調整します。
  4. 検出結果を Risk に保存し、プルリクエストにコメントします。
GitHub では、レビューにより Enclave / PR analysis という名前のチェックも追加されます。パブリックリポジトリにはコメントされません。
最初はチェックをブロックしない設定で始めます。チームがその結果を信頼できるようになったら、必須にします。

Risk での PR の検出結果

Risk → PR findings を開くと、すべての PR の検出結果を、リポジトリ、プルリクエスト、重大度とともに確認できます。 検出結果を開くと、問題、その影響、影響を受ける行が表示されます。 AI fix prompt をクリックすると、コーディングアシスタント向けのプロンプトをコピーできます。 PR の検出結果にはトリアージのステータスがありません。プルリクエストをクローズしても変わりません。

依存関係の分析

プルリクエストでマニフェストまたはロックファイルが変更されると、Enclave は、既知の CVE だけでなく、変更されたパッケージのサプライチェーンリスクを確認します。次のものを探します。
  • 侵害されたパッケージや悪意のあるパッケージ
  • タイポスクワッティングや信頼できないパッケージ
  • 通常のバージョンアップに隠された攻撃
  • 既知の脆弱性
Enclave は、変更された各パッケージについて、公開からの経過期間、メンテナーの変更、インストールスクリプトなどのレジストリのシグナルを評価し、不審な点があればパッケージのコードを調べます。 サポートされているエコシステム: バイナリ形式の bun.lockb はサポートされていません。