Skip to main content

依存関係の確認について

依存関係のレビューを使うと、安全でない依存関係を自分の環境に持ち込んでしまう前に捉え、ライセンス、依存物、依存関係の期間に関する情報を確認できます。

依存関係の確認は、GitHub Enterprise Server 内にある Organization 所有のリポジトリで利用できます。 この機能には、GitHub Advanced Security のライセンスが必要です。 詳しくは、「GitHub Advanced Security について」を参照してください。

依存関係の確認について

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

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

プルリクエストがリポジトリのデフォルトブランチを対象とし、パッケージマニフェストまたはロックファイルへの変更が含まれている場合は、依存関係のレビューを表示して、何が変更されたかを確認できます。 依存関係のレビューには、ロックファイル内の間接的な依存関係への変更の詳細が含まれ、追加または更新された依存関係のいずれかに既知の脆弱性が含まれているかどうかが示されます。

時に、マニフェスト内の 1 つの依存関係のバージョンを更新して、プルリクエストを生成することがあります。 ただし、この直接依存関係の更新バージョンでも依存関係が更新されている場合は、プルリクエストに予想よりも多くの変更が加えられている可能性があります。 各マニフェストとロックファイルの依存関係のレビューにより、何が変更されたか、新しい依存関係バージョンのいずれかに既知の脆弱性が含まれているかどうかを簡単に確認できます。

プルリクエストで依存関係のレビューを確認し、脆弱性としてフラグが付けられている依存関係を変更することで、プロジェクトに脆弱性が追加されるのを防ぐことができます。 依存関係レビューのしくみについて詳しくは、「プルリクエスト内の依存関係の変更をレビューする」をご覧ください。

依存関係レビューの構成方法について詳しくは、「依存関係レビューの構成」をご覧ください。

Dependabot alerts は、すでに依存関係にある脆弱性を検出しますが、あとで修正するよりも、潜在的な問題が持ち込まれることを回避する方がはるかに良いです。 Dependabot alerts について詳しくは、「Dependabot アラートについて」をご覧ください。

依存関係のレビューは、依存関係グラフと同じ言語とパッケージ管理エコシステムをサポートしています。 詳しくは、「依存関係グラフについて」を参照してください。

GitHub Enterprise Server で利用できるサプライ チェーン機能について詳しくは、「サプライ チェーンのセキュリティについて」をご覧ください。

依存関係レビューを有効にする

依存関係グラフを有効にすると、依存関係レビューが使用できるようになります。 詳細については、「エンタープライズの依存関係グラフの有効化」を参照してください。

依存関係レビューの適用

このアクションは、GitHub Advanced Security が有効になっているすべてのリポジトリで使用できます。

エンタープライズ所有者とリポジトリへの管理者アクセス権を持つユーザーは、依存関係レビュー アクション をエンタープライズとリポジトリにそれぞれ追加できます。

リポジトリで 依存関係レビュー アクション を使って、pull request に依存関係レビューを適用できます。 このアクションは、pull request のパッケージ バージョンの変更によって発生した依存関係の脆弱なバージョンをスキャンし、関連するセキュリティの脆弱性について警告します。 これにより、pull request で何が変更されているかをより正確に把握でき、リポジトリに脆弱性が追加されるのを防ぐことができます。 詳細については、「dependency-review-action」を参照してください。

依存関係レビュー アクションを使用するワークフロー実行のスクリーンショット。

既定では、脆弱性のあるパッケージが検出された場合、依存関係レビュー アクション チェックは失敗します。 リポジトリの所有者が依存関係レビューのチェックに合格することを要求している場合、チェックが失敗すると pull request のマージがブロックされます。 詳しくは、「保護されたブランチについて」を参照してください。

このアクションでは、依存関係レビュー REST API を使って、ベース コミットとヘッド コミットの間の依存関係変更の差分を取得します。 依存関係レビュー API を使用すると、リポジトリ上の 2 つのコミット間で、依存関係の変更の差分 (脆弱性データを含む) を取得できます。 詳細については、「依存関係グラフ」を参照してください。

ニーズに合うように 依存関係レビュー アクション を構成できます。 たとえば、アクションが失敗する重大度レベルを指定できます。 詳しくは、「依存関係レビューの構成」を参照してください。