GitHub は、脆弱性のある依存関係を削除および回避するための次のツールを提供しています。
依存関係グラフ
依存関係グラフは、リポジトリに保存されているマニフェストファイルおよびロックファイルのサマリーです。 コードベースが依存するエコシステムとパッケージ(依存関係)、およびプロジェクトに依存するリポジトリとパッケージ(依存関係)が表示されます。 依存関係グラフの情報は、依存関係のレビューと Dependabot によって使用されます。 詳しい情報については、「依存関係グラフについて」を参照してください。
依存関係のレビュー
プルリクエストの依存関係のレビューを確認することで、依存関係からコードベースに脆弱性が発生するのを防ぐことができます。 プルリクエストが脆弱性のある依存関係を追加したり、依存関係を脆弱性のあるバージョンに変更した場合、これは依存関係のレビューで強調表示されます。 プルリクエストをマージする前に、依存関係をパッチを適用したバージョンに変更できます。 For more information, see "About dependency review."
Dependabotアラート
リポジトリ内の脆弱性のある依存関係を検出すると、GitHub は Dependabotアラート を作成できます。 アラートは、リポジトリの [Security] タブに表示されます。 アラートには、プロジェクト内で影響を受けるファイルへのリンクと、修正バージョンに関する情報が含まれています。 GitHub は、通知設定に従って、リポジトリのメンテナにも通知します。 詳しい情報については、「脆弱性のある依存関係に対するアラートについて」を参照してください。
Dependabotセキュリティアップデート
GitHub がリポジトリ内の脆弱性のある依存関係に対して Dependabot アラートが発生すると、Dependabot は自動的にそれを修正しようとします。 Dependabotセキュリティアップデート は、脆弱性のある依存関係を修正バージョンに更新するプルリクエストを自動的に生成します。 詳しい情報については、「Dependabotセキュリティアップデート について」を参照してください。
Dependabotバージョンアップデート
Dependabotバージョンアップデート を有効にすると、依存関係を維持する手間が省けます。 Dependabotバージョンアップデート を使用すると、GitHub が古い依存関係を識別するたびに、マニフェストを最新バージョンの依存関係に更新するためのプルリクエストを発行します。 対照的に、Dependabotセキュリティアップデート は脆弱性のある依存関係を修正するためにプルリクエストのみを発行します。 詳しい情報については、「 Dependabot のバージョン更新について」を参照してください。