Skip to main content

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

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

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

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

依存関係グラフの表示

依存関係グラフには、リポジトリの依存関係と依存物が表示されます。 依存関係ごとに、バージョン、ライセンス情報、それを含むマニフェスト ファイル、既知の脆弱性があるかどうかを確認できます。 推移的な依存関係をサポートするパッケージ エコシステムの場合、リレーションシップの状態が表示され、[] をクリックしてから [Show paths] をクリックすると、その依存関係の基になっている推移パスを確認できます。

検索バーを使用して、特定の依存関係を検索することもできます。 依存関係は、脆弱なパッケージが先頭になるように自動的に並べ替えられます。 依存関係の検出とサポートされるエコシステムについては、「依存関係グラフがサポートされるパッケージ エコシステム」を参照してください。

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

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

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

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

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

  4. 必要に応じて、検索バーを使って、特定の依存関係または一連の依存関係を検索します。 キーワード ecosystem: を使用して特定の種類のパッケージのみを表示したり、relationship: を使用して直接の依存関係や推移的な依存関係 (エコシステムが推移性をサポートしている場合) のみを表示したりすることができます。 検索バーに平易な単語を入力すると、パッケージ名のみが一致します。

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

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

    メモ

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

依存関係ビュー

依存関係ごとに、そのエコシステム、依存関係が見つかったマニフェスト ファイル、そのライセンス (検出された場合) を確認できます。

  • プライベート リポジトリ、プライベート パッケージ、認識できないファイルの依存関係は、プレーン テキストで表示されます。

  • 依存関係のパッケージ マネージャーがパブリック リポジトリにある場合は、依存関係名をポイントして、関連付けられているリポジトリ情報を含むポップアップを表示できます。

  • 検索バーにフィルターを key:value ペアとして入力することで、依存関係を並べ替えたりフィルター処理したりすることができます。

    • 選択したエコシステムの依存関係を表示するには、ecosystem: <ecosystem-name> を使用します。
    • relationship: を使用して、リレーションシップの状態で一覧をフィルター処理します。 有効な値は directtransitiveinconclusive です。 または、依存関係名の横にあるリレーションシップ ラベルをクリックして、リレーションシップの状態が同じ依存関係のみを表示することもできます。 このフィルターは、推移的な依存関係をサポートするエコシステムでのみ使用できます。 詳細については、「依存関係グラフがサポートされるパッケージ エコシステム」を参照してください。

依存関係送信 API を使用してプロジェクトに送信された依存関係には、送信に使用された検出機能と送信日時が表示されます。 依存関係送信 API の使用方法の詳細については、「依存関係サブミッション API を使用する」を参照してください。

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

依存ビュー

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

依存関係グラフの有効化と無効化

リポジトリ管理者は、可視性に関係なく、ユーザー アカウントが所有するすべてのリポジトリの依存関係グラフを有効または無効にすることができます。 「セキュリティと分析機能の管理」を参照してください。

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

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

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

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

  3. サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。

  4. 依存関係グラフを有効にするにはリポジトリ データへの読み取りアクセスを GitHub に許可することに関するメッセージを読み、[Dependency Graph] の隣にある [Enable] をクリックします。

    [Advanced Security] の設定ページで、[Dependency Graph] の横にある [Disable] をクリックして、いつでも依存関係グラフを無効にできます。

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

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

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

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

8 つのアバターと "+13,435,819" の詳細を示す "13.4m" の要約が表示されている、リポジトリの [使用元] セクションのスクリーンショット。

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

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

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

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

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

  3. サイドバーの [Security] セクションで、[ Advanced Security] をクリックします。

  4. [Advanced Security] で、[カウンターで使用] セクションのドロップダウン メニューをクリックし、パッケージを選択します。

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

  •         [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph)
    
  •         [AUTOTITLE](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)
    
  •         [AUTOTITLE](/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts)
    
  •         [AUTOTITLE](/get-started/privacy-on-github)