依存関係の確認について
依存関係レビューを使うと、すべてのPull Reqeustにおける以下の変更による依存関係の変化とセキュリティについての影響を理解しやすくなります。pull request の [Files Changed](変更されたファイル) タブ上のリッチ diff で依存関係の変更をわかりやすく視覚化できます。 依存関係レビューは、以下のことを知らせます:
- リリース日と合わせて、追加、削除、更新された依存関係。
- これらのコンポーネントを使うプロジェクトの数。
- これらの依存関係に関する脆弱性のデータ。
パッケージ マニフェストまたはロックされたファイルへの変更が含まれている場合は、依存関係のレビューを表示して、何が変更されたかを確認できます。 依存関係のレビューには、ロックファイル内の間接的な依存関係への変更の詳細が含まれ、追加または更新された依存関係のいずれかに既知の脆弱性が含まれているかどうかが示されます。
Note
"依存関係レビュー アクション" とは、GitHub Actions コンテキスト内の pull request の差異を報告し、GitHub Actions ワークフローに適用メカニズムを追加できる特定のアクションです。 詳しくは、この記事で後ほど説明する「依存関係レビュー アクション」をご覧ください。
時に、マニフェスト内の 1 つの依存関係のバージョンを更新して、プルリクエストを生成することがあります。 ただし、この直接依存関係の更新バージョンでも依存関係が更新されている場合は、プルリクエストに予想よりも多くの変更が加えられている可能性があります。 各マニフェストとロックファイルの依存関係のレビューにより、何が変更されたか、新しい依存関係バージョンのいずれかに既知の脆弱性が含まれているかどうかを簡単に確認できます。
プルリクエストで依存関係のレビューを確認し、脆弱性としてフラグが付けられている依存関係を変更することで、プロジェクトに脆弱性が追加されるのを防ぐことができます。 依存関係レビューのしくみについて詳しくは、「プルリクエスト内の依存関係の変更をレビューする」をご覧ください。
Dependabot alerts は、すでに依存関係にある脆弱性を検出しますが、あとで修正するよりも、潜在的な問題が持ち込まれることを回避する方がはるかに良いです。 Dependabot alerts について詳しくは、「Dependabot アラートについて」をご覧ください。
依存関係のレビューは、依存関係グラフと同じ言語とパッケージ管理エコシステムをサポートしています。 詳しくは、「依存関係グラフでパッケージ エコシステムをサポート」をご覧ください。
GitHub Enterprise Server で利用できるサプライ チェーン機能について詳しくは、「サプライ チェーンのセキュリティについて」をご覧ください。
依存関係レビューを有効にする
依存関係グラフを有効にすると、依存関係レビューが使用できるようになります。 詳細については、「エンタープライズの依存関係グラフの有効化」を参照してください。
依存関係レビュー アクション について
"依存関係レビュー アクション" とは、GitHub Actions コンテキスト内の pull request の差異を報告できる特定のアクションです。 以下を参照してください。dependency-review-action
リポジトリで 依存関係レビュー アクション を使って、pull request に依存関係レビューを適用できます。 このアクションは、pull request のパッケージ バージョンの変更によって発生した依存関係の脆弱なバージョンをスキャンし、関連するセキュリティの脆弱性について警告します。 これにより、pull request で何が変更されているかをより正確に把握でき、リポジトリに脆弱性が追加されるのを防ぐことができます。
既定では、脆弱性のあるパッケージが検出された場合、依存関係レビュー アクション チェックは失敗します。 リポジトリの所有者が依存関係レビューのチェックに合格することを要求している場合、チェックが失敗すると pull request のマージがブロックされます。 詳しくは、「保護されたブランチについて」を参照してください。
このアクションは、GitHub Advanced Security が有効になっているすべてのリポジトリで使用できます。
Enterprise 所有者とリポジトリへの管理者アクセス権を持つユーザーは、それぞれ Enterprise とリポジトリに 依存関係レビュー アクション を追加できます。
このアクションでは、依存関係レビュー REST API を使用して、ベース コミットとヘッド コミット間での依存関係変更の差分が取得されます。 依存関係レビュー API を使用すると、リポジトリ上の 2 つのコミット間で、依存関係の変更の差分 (脆弱性データを含む) を取得できます。 詳しくは、「依存関係レビュー用の REST API エンドポイント」をご覧ください。