Skip to main content

リポジトリの依存関係を調べる

依存関係グラフを使用すると、プロジェクトが依存しているパッケージと、そのプロジェクトに依存しているリポジトリを確認できます。 また、その依存関係で脆弱性が検出されると、それも表示されます。

この機能を使用できるユーザーについて

リポジトリ管理者、組織の所有者、リポジトリへの書き込みまたは保守アクセス権を持つユーザー

依存関係グラフの表示

依存関係グラフには、リポジトリの依存関係と依存物が表示されます。 依存関係ごとに、ライセンス情報と 脆弱性の重大度を確認できます。 検索バーを使用して、特定の依存関係を検索することもできます。 依存関係は、脆弱性の重大度によって自動的に並べ替えられます。依存関係の検出と、サポートされているエコシステムについては、「依存関係グラフでパッケージ エコシステムをサポート」をご覧ください。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [分析情報] をクリックします。

    リポジトリのメイン ページのスクリーンショット。 水平ナビゲーション バーでは、グラフ アイコンと [分析情報] というラベルが付いたタブが、濃いオレンジ色の枠線で囲まれています。

  3. 左側のサイドバーで、 [Dependency graph] (依存関係グラフ) をクリックします。

    [依存関係グラフ] タブのスクリーンショット。タブはオレンジ色の枠線で強調されています。

  4. 必要に応じて、検索バーを使って、特定の依存関係または一連の依存関係を検索します。

    Note

    検索バーでは、パッケージ名に基づく検索のみが行われます。

  5. 必要に応じて、リポジトリとリポジトリに依存するパッケージを表示するには、[依存関係グラフ] の下にある [依存] をクリックします。

    [依存関係グラフ] ページのスクリーンショット。 [依存] タブがオレンジ色の枠線で強調表示されています。

    Note

    GitHub は現在、パブリック リポジトリの依存のみを決定します。

依存関係ビュー

依存関係ごとに、そのエコシステム、それが見つかったマニフェスト ファイル、ライセンス (検出された場合) を確認できます。 プライベートリポジトリ、プライベートパッケージ、認識できないファイルの依存関係は、プレーンテキストで表示されます。 依存関係のパッケージ マネージャーがパブリック リポジトリにある場合は、依存関係名をポイントして、関連付けられているリポジトリ情報を含むポップアップを表示できます。

リストで表示されます。

依存関係送信 API を使ってプロジェクトに送信された依存関係には、送信に使われた検出機能と、いつ送信されたかが表示されます。依存関係送信 API の使い方について詳しくは、「Dependency Submission API を使用する」をご覧ください。

リポジトリで脆弱性が検出された場合、それらはDependabot alertsにアクセスできるユーザに、ビューの上部で表示されます。

依存ビュー

パブリックリポジトリの場合、他のリポジトリによってどう使用されているかが、依存ビューに表示されます。 パッケージ マネージャーでライブラリを含むリポジトリのみを表示するには、依存リポジトリの一覧のすぐ上にある [NUMBER Packages](<数値> 個のパッケージ) をクリックします。 依存の数は概数であり、リストされている依存と一致しないことがあります。

プライベートリポジトリの依存関係グラフを有効化および無効化する

リポジトリ管理者は、プライベート リポジトリまたは内部リポジトリの依存関係グラフを有効または無効にすることができます。

ユーザーアカウントが所有するすべてのリポジトリの依存関係グラフを有効または無効にすることができます。 詳しくは、「個人アカウントのセキュリティと分析設定を管理する」をご覧ください。

組織内の複数のリポジトリに対して同時に依存関係グラフを有効にすることもできます。 詳しくは、「組織のセキュリティ」 をご覧ください。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。

  4. リポジトリ データへの読み取りアクセスを GitHub Enterprise Cloud に許可して依存関係グラフを有効にすることに関するメッセージを読んだうえで、[依存関係グラフ] の隣にある [有効] をクリックします。

    リポジトリの依存関係グラフを有効にする方法を示すスクリーンショット。 [有効] ボタンが濃いオレンジ色の枠線で強調表示されています。

    [コードのセキュリティと分析] の設定ページで、[依存関係グラフ] の横にある [無効] をクリックすることで、いつでも依存関係グラフを無効にできます。

"Used by"パッケージの変更

リポジトリによっては、 [コード] タブのサイドバーに "Used by" セクションが表示されることがあります。リポジトリに "Used by" セクションがあるのは、次のような場合です。

  • リポジトリに対して依存関係グラフが有効になっています (詳細については、上記のセクションを参照してください)。
  • リポジトリには、サポートされているパッケージ エコシステムで発行されるパッケージが含まれています。
  • エコシステム内では、ソースが格納されている パブリック リポジトリへのリンクがパッケージに含まれています。
  • 100 を超えるリポジトリは、パッケージによって異なります。

"Used by"セクションは、見つかったパッケージに対する公開参照数を示し、依存物のプロジェクトのオーナーのアバターを表示します。

リポジトリの [使用元] セクションのスクリーンショット。 [使用元] ヘッダーの右には "13.4m" とあります。 ヘッダーの下には、8 人のアバターと "+13,435,819" があります。

このセクション内のアイテムをクリックすると、依存関係グラフの [依存] タブに移動します。

"Used by"セクションは、リポジトリからの単一のパッケージを表します。 複数のパッケージを含むリポジトリへの管理者権限を持っているなら、"Used by"セクションがどのパッケージを表すのかを選択できます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で強調表示されています。

  3. サイドバーの [セキュリティ] セクションで、 [コードのセキュリティと分析] をクリックします。

  4. [コードのセキュリティと分析] で、"Used by counter" セクション内のドロップダウン メニューをクリックし、パッケージを選びます。

依存関係グラフのトラブルシューティング

依存関係グラフが空の場合は、依存関係を含むファイルに問題があるかもしれません。 ファイルがファイルタイプに合わせて適切にフォーマットされているかをチェックしてください。

ファイルのフォーマットが正しい場合は、大きさをチェックします。 GitHub Enterprise ユーザでない限り、依存関係グラフは 1.5 MB を超える個々のマニフェストおよびロック ファイルを無視します。 デフォルトでは、最大 150 個のマニフェストまたはロックファイルが処理されるので、リポジトリのサブディレクトリで依存関係を小さいファイルに分割することができます。

マニフェストまたはロック ファイルが処理されない場合、その依存関係は依存関係グラフから省略され、安全でない依存関係はチェックされなくなります。

参考資料