Skip to main content

依存関係レビューの構成

依存関係レビューを使用して、脆弱性がプロジェクトに追加される前に捕捉できます。

依存関係の確認について

依存関係レビューを使うと、すべてのPull Reqeustにおける以下の変更による依存関係の変化とセキュリティについての影響を理解しやすくなります。pull request の [Files Changed](変更されたファイル) タブ上のリッチ diff で依存関係の変更をわかりやすく視覚化できます。 依存関係レビューは、以下のことを知らせます:

  • リリース日と合わせて、追加、削除、更新された依存関係。
  • これらのコンポーネントを使うプロジェクトの数。
  • これらの依存関係に関する脆弱性のデータ。

詳細については、「依存関係の確認について」および「プルリクエスト内の依存関係の変更をレビューする」を参照してください。

依存関係レビューの構成について

依存関係レビューは、依存関係グラフがインスタンスに対して有効になっているとともに Advanced Security が Organization またはリポジトリに対して有効になっている場合に使用できます。詳細については、「自社で GitHub Advanced Security を有効にする」を参照してください。

依存関係グラフが有効になっているかどうかを確認する

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。

  4. Configure security and analysis features(セキュリティと分析機能の構成) で、依存関係グラフが有効になっているかどうかを確認します。

  5. 依存関係グラフが有効である場合は、"GitHub Advanced Security" の横にある Enable(有効にする) をクリックして、依存関係レビューを含む Advanced Security を有効にします。 エンタープライズに Advanced Security に使用できるライセンスがない場合、[有効にする] ボタンは無効です。

    "コードのセキュリティと分析機能" のスクリーンショット。

依存関係レビュー アクション の構成について

依存関係レビュー アクション では、pull request で依存関係の変更をスキャンし、新しい依存関係に既知の脆弱性がある場合にエラーを発生させます。 このアクションは、2 つのリビジョン間の依存関係を比較し、相違点を報告する API エンドポイントによってサポートされます。

アクションと API エンドポイントについて詳しくは、dependency-review-action のドキュメントと、「依存関係レビュー用の REST API エンドポイント」をご覧ください。

組織の所有者は、組織内のリポジトリ全体で 依存関係レビュー アクション の使用を実施することで、依存関係レビューを大規模にロールアウトできます。 これには、必要なワークフローとして 依存関係レビュー アクション を設定するためのリポジトリ ルールセットの使用が含まれます。つまり、pull requestは、ワークフローが必要なすべてのチェックに合格した後にのみ統合できます。 詳しくは、「組織全体で依存関係レビューを実施する」を参照してください。

一般的な構成オプションの一覧を示します。 詳細とオプションの完全な一覧については、GitHub Marketplace の「依存関係レビュー」を参照してください。

オプション必須使用法
fail-on-severity重大度レベル (lowmoderatehighcritical) のしきい値を定義します。
アクションは、指定した重大度レベル以上の脆弱性を引き起こす pull request で失敗します。
fail-on-scopesサポートするビルド環境 (developmentruntimeunknown) を表す文字列のリストが含まれます。
このアクションは、リストに一致する範囲に脆弱性をもたらす pull request によって失敗します。
comment-summary-in-prpull request で、レビュー概要のレポートをコメントとして有効または無効にします。 有効にした場合は、ワークフローまたはジョブに pull-requests: write アクセス許可を付与する必要があります。
allow-ghsas検出中にスキップできる GitHub Advisory Database ID のリストが含まれています。 このパラメーターに指定できる値は、GitHub Advisory Database で見つけることができます。
config-file構成ファイルのパスを指定します。 構成ファイルは、リポジトリに対してローカルにすることも、外部リポジトリにあるファイルにすることもできます。
external-repo-tokenファイルがプライベート外部リポジトリに存在する場合に、構成ファイルをフェッチするためのトークンを指定します。 トークンには、リポジトリへの読み取りアクセスが必要です。

参考資料