依存関係グラフについて
依存関係グラフは、リポジトリに格納されているマニフェストおよびロック ファイル、および 依存関係送信 API を使用してリポジトリに送信された依存関係の概要です。 それぞれのリポジトリについて、以下が表示されます:
- リポジトリが依存している依存関係、エコシステム、パッケージ
- 依存、依存するリポジトリ、パッケージ
依存関係ごとに、バージョン、ライセンス情報、それを含むマニフェスト ファイル、既知の脆弱性があるかどうかを確認できます。 推移的な依存関係をサポートするパッケージ エコシステムの場合、リレーションシップの状態が表示され、[] をクリックしてから [Show paths] をクリックすると、その依存関係の基になっている推移パスを確認できます。
検索バーを使用して、特定の依存関係を検索することもできます。 依存関係は、脆弱なパッケージが先頭になるように自動的に並べ替えられます。
サポートされているエコシステムとマニフェスト ファイルの詳細については、「AUTOTITLE」を参照してください。
デフォルトブランチをターゲットとする、依存関係の変更を含むPull Requestを作成すると、GitHubは依存関係グラフを使ってそのPull Requestに依存関係のレビューを追加します。 それらは、依存関係が脆弱性を含んでいるか、もしそうならその脆弱性が修復されているバージョンを示しています。 詳しくは、「依存関係の確認について」をご覧ください。
依存関係グラフの構築方法
依存関係グラフは、リポジトリ内のマニフェストとロック ファイルを分析することで、依存関係を自動的に解析します。 自分でデータを送信することもできます。 詳しくは、「依存関係グラフが依存関係を認識する方法」をご覧ください。
依存関係グラフの利用
リポジトリ管理者は、リポジトリに対して依存関係グラフを有効または無効にすることができます。 詳細については、「AUTOTITLE」を参照してください。
リポジトリ管理者は、リポジトリに対して依存関係グラフを有効または無効にすることができます。 詳細については、「AUTOTITLE」を参照してください。
依存関係と "参照元" データ
パブリック リポジトリの場合、依存関係グラフには依存するユーザーが一覧表示されます。 これらは、リポジトリまたは発行するパッケージに依存する他のパブリック リポジトリです。 この情報は、プライベート リポジトリでは報告されません。
一部のリポジトリには、[ コード ] タブのサイドバーに "Used by" セクションがあります。このセクションでは、見つかったパッケージへのパブリック参照の数を示し、依存プロジェクトの所有者の一部のアバターを表示します。 このセクションの任意の項目をクリックすると、依存関係グラフの [依存関係] タブに移動します。
次の場合、リポジトリには "Used by" セクションがあります。
- 依存関係グラフは、リポジトリに対して有効になっています。
- リポジトリには、サポートされているパッケージ エコシステムで公開されているパッケージが含まれています。 「依存関係グラフがサポートされるパッケージ エコシステム」を参照してください。
- エコシステム内では、ソースが格納されている パブリック リポジトリへのリンクがパッケージに含まれています。
- 100 を超えるリポジトリは、パッケージによって異なります。
![8 つのアバターと "+13,435,819" の詳細を示す "13.4m" の要約が表示されている、リポジトリの [使用元] セクションのスクリーンショット。](/assets/cb-40707/images/help/repository/used-by-section.png)
"Used by"セクションは、リポジトリからの単一のパッケージを表します。 複数のパッケージを含むリポジトリへの管理者権限を持っているなら、"Used by"セクションがどのパッケージを表すのかを選択できます。 「リポジトリの "使用者" データの変更」を参照してください。
依存関係グラフでできること
依存関係グラフを使用する目的は、次のとおりです。
- コードが依存しているリポジトリ、そしてそのコードに依存しているリポジトリを調べること。 詳しくは、「リポジトリの依存関係を調べる」をご覧ください。
- Organization のリポジトリで使用されている依存関係のサマリーを 1 つのダッシュボードで確認すること。 詳細については、「あなたの組織における依存関係の洞察を表示する」を参照してください。
- リポジトリの脆弱な依存関係を表示・更新すること。 詳しくは、「Dependabot アラートについて」をご覧ください。
- Pull Request中の脆弱性がある依存関係に関する情報を見ること。 詳しくは、「プルリクエスト内の依存関係の変更をレビューする」をご覧ください。
- 監査またはコンプライアンスの目的でソフトウェア部品表 (SBOM) をエクスポートします。 これは、プロジェクトの依存関係をコンピューターが読み取り可能な正式なインベントリです。 「リポジトリのソフトウェア部品表のエクスポート」を参照してください。
詳細については、次を参照してください。
-
Wikipedia の[依存関係グラフ](https://en.wikipedia.org/wiki/Dependency_graph) -
[AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository) -
[AUTOTITLE](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts) -
[AUTOTITLE](/code-security/dependabot/troubleshooting-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies)