依存関係グラフは、リポジトリに格納されているマニフェストおよびロック ファイルの概要です。 それぞれのリポジトリについて、以下が表示されます:依存関係、すなわちリポジトリが依存するエコシステムとパッケージ。 GitHub Enterprise Server は、依存関係に関する情報、リポジトリに依存するリポジトリとパッケージを計算しません。
GitHub Enterprise Server に、デフォルト ブランチでサポートされているマニフェストもしくはロック ファイルを変更もしくは追加するコミットをプッシュすると、依存関係グラフは自動的に更新されます。サポートされているエコシステムとマニフェスト ファイルに関する情報については以下の「サポートされているパッケージエコシステム」を参照してください。
デフォルトブランチをターゲットとする、依存関係の変更を含むPull Requestを作成すると、GitHubは依存関係グラフを使ってそのPull Requestに依存関係のレビューを追加します。
それらは、依存関係が脆弱性を含んでいるか、もしそうならその脆弱性が修復されているバージョンを示しています。 詳細については、「依存関係レビューについて」を参照してください。 依存関係グラフの利用
Enterprise の所有者は、エンタープライズの依存関係グラフと Dependabot alerts を構成できます。 詳細については、「エンタープライズの依存関係グラフの有効化」および「エンタープライズの Dependabot の有効化」を参照してください。
依存関係グラフの構成について詳しくは、「依存関係グラフを設定する」をご覧ください。"
含まれる依存関係
依存関係グラフには、マニフェストとロック ファイルで詳しく説明されているリポジトリのすべての依存関係、またはサポートされているエコシステム を使用して送信されたすべての依存関係が含まれます。
これには次のものが含まれます マニフェストまたはロック ファイルに明示的に定義されている直接依存関係
-
直接依存関係の間接依存関係。推移的な依存関係、または下位の依存関係とも言う。
-
依存関係グラフでは、ロックファイルから間接的な依存関係を識別します。 GitHub Enterprise Server を使用して環境内の依存関係を理解する方法の詳細については、「サプライ チェーンのセキュリティについて」を参照してください。
依存関係グラフの使用
依存関係グラフを使用する目的は、次のとおりです。
コードが依存しているリポジトリを調べること。
- 詳細については、「ポジトリの依存関係を調べる」を参照してください。 リポジトリの脆弱な依存関係を表示・更新すること。
- 詳細については、「Dependabot alerts について」を参照してください。 Pull Request中の脆弱性がある依存関係に関する情報を見ること。
- 詳細については、「pull request 内の依存関係の変更をレビューする」を参照してください。 サポートされているパッケージエコシステム
推奨されるフォーマットでは、直接および間接の依存関係すべてに使用されるバージョンを明示的に定義しています。
これらの形式を使う場合、依存関係グラフはより正確になります。 これは、現在のビルドのセットアップも反映し、依存関係グラフが直接および間接の依存関係の両方で脆弱性を報告できるようにしてくれます。 パッケージ マネージャー
言語 | 推奨される形式 | サポートされているすべての形式 |
---|
[†] マニフェストとして認識するには、GitHub Actions ワークフローをリポジトリの .github/workflows/
ディレクトリに配置する必要があります。
構文 jobs[*].steps[*].uses
または jobs.<job_id>.uses
を使用して参照されるアクションまたはワークフローは、依存関係として解析されます。 詳細については、GitHub Actions のワークフロー構文に関するページを参照してください。
[‡] setup.py
ファイル内に Python の依存関係を列挙した場合、ユーザーはプロジェクト内のすべての依存関係を解析し、列挙することができない場合があります。
注: GitHub Actions ワークフローの依存関係は、情報提供のために依存関係グラフに表示されます。
Dependabot アラートは、現在、GitHub Actions ワークフローではサポートされていません。
参考資料