# 依存関係グラフ

依存関係グラフを使って、プロジェクトの依存関係をすべて特定できます。 依存関係グラフは、幅広く一般的なパッケージエコシステムをサポートします。

<!--Marketing-LINK: From /features/security and /features/security/software-supply-chain pages "How GitHub's dependency graph is generated".-->

## 依存関係グラフについて

依存関係グラフは、リポジトリに格納されているマニフェストおよびロック ファイル、および 依存関係送信 API を使用してリポジトリに送信された依存関係の概要です。 それぞれのリポジトリについて、以下が表示されます:

* リポジトリが依存している依存関係、エコシステム、パッケージ
* 依存、依存するリポジトリ、パッケージ

依存関係ごとに、バージョン、ライセンス情報、それを含むマニフェスト ファイル、既知の脆弱性があるかどうかを確認できます。 推移的な依存関係をサポートするパッケージ エコシステムの場合、リレーションシップの状態が表示され、\[<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="Show dependency options" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>] をクリックしてから \[Show paths] をクリックすると、その依存関係の基になっている推移パスを確認できます。

検索バーを使用して、特定の依存関係を検索することもできます。 依存関係は、脆弱なパッケージが先頭になるように自動的に並べ替えられます。

サポートされているエコシステムとマニフェスト ファイルの詳細については、[「AUTOTITLE」](/ja/code-security/reference/supply-chain-security/dependency-graph-supported-package-ecosystems#supported-package-ecosystems)を参照してください。

既定のブランチを対象とする依存関係への変更を含むプル要求を作成すると、 GitHub は依存関係グラフを使用して依存関係レビューをプル要求に追加します。 それらは、依存関係が脆弱性を含んでいるか、もしそうならその脆弱性が修復されているバージョンを示しています。 詳細については、「[依存関係の確認](/ja/code-security/concepts/supply-chain-security/dependency-review)」を参照してください。

## 依存関係グラフの構築方法

依存関係グラフは、リポジトリ内のマニフェストとロック ファイルを分析することで、依存関係を自動的に解析します。 自分でデータを送信することもできます。 詳細については、「[依存関係グラフが依存関係を認識する方法](/ja/code-security/concepts/supply-chain-security/dependency-graph-data)」を参照してください。

## 依存関係グラフの利用

リポジトリ管理者は、リポジトリに対して依存関係グラフを有効または無効にすることができます。 詳細については、 [AUTOTITLE を](/ja/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository)参照してください。

リポジトリ管理者は、リポジトリに対して依存関係グラフを有効または無効にすることができます。
[「AUTOTITLE」を](/ja/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/enable-dependency-graph)参照してください。

## 依存関係と "参照元" データ

パブリック リポジトリの場合、依存関係グラフには依存するユーザーが一覧表示されます。 これらは、リポジトリまたは発行するパッケージに依存する他のパブリック リポジトリです。 この情報は、プライベート リポジトリでは報告されません。

一部のリポジトリには、\[ **コード** ] タブのサイドバーに "Used by" セクションがあります。このセクションでは、見つかったパッケージへのパブリック参照の数を示し、依存プロジェクトの所有者の一部のアバターを表示します。 このセクションの項目をクリックすると、依存関係グラフの \[ **依存** ] タブに移動します。

次の場合、リポジトリには "Used by" セクションがあります。

* 依存関係グラフは、リポジトリに対して有効になっています。
* リポジトリには、サポートされているパッケージ エコシステムで公開されているパッケージが含まれています。 「[依存関係グラフがサポートされるパッケージ エコシステム](/ja/code-security/reference/supply-chain-security/dependency-graph-supported-package-ecosystems#supported-package-ecosystems)」を参照してください。
* エコシステム内では、ソースが格納されている *パブリック* リポジトリへのリンクがパッケージに含まれています。
* 100 を超えるリポジトリは、パッケージによって異なります。

![8 つのアバターと "+13,435,819" の詳細を示す "13.4m" の要約が表示されている、リポジトリの \[使用元\] セクションのスクリーンショット。](/assets/images/help/repository/used-by-section.png)

"Used by"セクションは、リポジトリからの単一のパッケージを表します。 複数のパッケージを含むリポジトリへの管理者権限を持っているなら、"Used by"セクションがどのパッケージを表すのかを選択できます。 「[リポジトリの "使用者" データの変更](/ja/code-security/how-tos/view-and-interpret-data/change-used-by-data)」を参照してください。

## 依存関係グラフでできること

依存関係グラフを使用する目的は、次のとおりです。

* コードが依存するリポジトリとに依存するリポジトリを調べる。 詳細については、「[リポジトリの依存関係を調べる](/ja/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/explore-dependencies)」を参照してください。
* Organization のリポジトリで使用されている依存関係のサマリーを 1 つのダッシュボードで確認すること。 詳細については、 [AUTOTITLE を](/ja/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-dependencies-in-your-organization#viewing-organization-dependency-insights)参照してください。
* リポジトリの脆弱な依存関係を表示・更新すること。 詳細については、「[Dependabot アラート](/ja/code-security/concepts/supply-chain-security/dependabot-alerts)」を参照してください。
* Pull Request中の脆弱性がある依存関係に関する情報を見ること。 詳細については、「[プルリクエスト内の依存関係の変更をレビューする](/ja/pull-requests/how-tos/review-pull-requests/reviewing-dependency-changes-in-a-pull-request)」を参照してください。
* 監査またはコンプライアンスの目的でソフトウェア部品表 (SBOM) をエクスポートします。 これは、プロジェクトの依存関係をコンピューターが読み取り可能な正式なインベントリです。 「[リポジトリのソフトウェア部品表のエクスポート](/ja/code-security/how-tos/secure-your-supply-chain/establish-provenance-and-integrity/export-dependencies-as-sbom)」を参照してください。

## 詳細については、次を参照してください。

* ```
            Wikipedia の[依存関係グラフ](https://en.wikipedia.org/wiki/Dependency_graph)
  ```
* [リポジトリの依存関係を調べる](/ja/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/explore-dependencies)
* [Dependabot アラートの表示と更新](/ja/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/view-dependabot-alerts)
* [脆弱な依存関係の検出](/ja/code-security/reference/supply-chain-security/troubleshoot-dependabot/vulnerability-detection)