Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

サプライ チェーンのセキュリティについて

GitHub Enterprise Server は、環境内の依存関係の理解から、それらの依存関係の脆弱性の把握やパッチの適用まで、サプライ チェーンをセキュリティで保護するのに役立ちます。

GitHub でのサプライ チェーンのセキュリティについて

オープン ソースの使用が急速に進んでおり、ほとんどのプロジェクトは数百ものオープンソース依存関係を利用しています。 これにより、セキュリティ上の問題が浮上します。もしも、使用している依存関係に脆弱性があるとしたら、どうなるでしょうか、 ユーザーをサプライ チェーン攻撃のリスクにさらす可能性があります。 サプライ チェーンを保護するために行うことができる最も重要なことの 1 つは、脆弱な依存関係にパッチを適用することです。

依存関係をサプライ チェーンに直接追� するときは、マニフェスト ファイルまたはロックファイルで指定します。 依存関係は推移的に含めることもできます。つまり、特定の依存関係を指定しなくても、使用している依存関係が別の依存関係を使用している� �合は、その依存関係にも依存することになります。

GitHub Enterprise Server には、環境内の依存関係を理解し、それらの依存関係の脆弱性を把握してパッチを適用できるように、さまざまな機能が用意されています。

GitHub Enterprise Server のサプライ チェーン機能は次のとおりです。

  • 依存関係グラフ
  • 依存関係レビュー
  • Dependabot alerts - Dependabot updates
    • Dependabot security updates
    • Dependabot version updates

依存関係グラフは、サプライ チェーンのセキュリティの中心です。 依存関係グラフによって、リポジトリまたはパッケージについて、すべてのアップストリー� 依存関係とパブリック ダウンストリー� 依存関係が識別されます。 リポジトリの依存関係とそのプロパティの一部 (脆弱性情� �など) を、そのリポジトリの依存関係グラフで確認できます。

GitHub の他のサプライ チェーン機能は、依存関係グラフで提供される情� �を利用します。

  • 依存関係レビューは、依存関係グラフを使用して依存関係の変更を特定し、ユーザーが pull request を確認するときにそれらの変更がセキュリティに及ぼす影響を理解するのに役立ちます。
  • Dependabot は、依存関係グラフによって提供される依存関係データと GitHub Advisory Database で公開されるアドバイザリの一覧を相互参照し、依存関係をスキャンして、潜在的な脆弱性が検出されると Dependabot alertsを生成します。
  • Dependabot security updatesは、依存関係グラフと Dependabot alertsを使用して、リポジトリ内の既知の脆弱性を含む依存関係をユーザーが更新できるように役立ちます。

Dependabot version updates では、依存関係グラフは使用されません。代わりに依存関係のセマンティック バージョン管理が利用されます。 Dependabot version updates は、依存関係に脆弱性が含まれない� �合でも、依存関係を最新状態に保つために役立ちます。

個人アカウント、コード、ビルド プロセスの保護など、エンド ツー エンドのサプライ チェーンのセキュリティに関するベスト プラクティス ガイドについては、「エンド ツー エンドのサプライ チェーンのセキュリティ保護」を参照してく� さい。

機能の概要

依存関係グラフとは

依存関係グラフを生成するために、GitHub は、マニフェストやロックファイルで宣言されているリポジトリの明示的な依存関係を調べます。 有効にすると、依存関係グラフはリポジトリ内のすべての既知のパッケージ マニフェスト ファイルを自動的に解析し、これを使用して既知の依存関係の名前とバージョンを含むグラフを作成します。

  • 依存関係グラフには、"直接" 依存関係と "推移的" 依存関係の情� �が含まれます。
  • 依存関係グラフが自動的に更新されるのは、サポートされるマニフェストまたはロック ファイルを既定ブランチに対して変更または追� するプッシュを GitHub にコミットするとき、およびご使用の依存関係のいずれかのリポジトリに対して任意のユーザーが変更をプッシュするときです。
  • 依存関係グラフを表示するには、GitHub Enterprise Server 上でリポジトリのメイン ページを開いて [Insights](分析情� �) タブに移動します。

依存関係グラフの詳細については、「依存関係グラフについて」を参照してく� さい。

依存関係レビューとは

依存関係レビューは、レビュー担当者と共同作成者が、すべての pull request における依存関係の変更とそのセキュリティへの影響を理解するのに役立ちます。

  • 依存関係レビューでは、pull request で追� 、削除、または更新された依存関係がわかります。 リリース日、依存関係の評判、脆弱性情� �を使用して、変更を受け入れるかどうかを判断できます。
  • pull request の依存関係レビューは、 [Files Changed](変更されたファイル) タブの詳しい差分を表示すると確認できます。

依存関係レビューの詳細については、「依存関係レビューについて」を参照してく� さい。

Dependabot とは

Dependabot は、依存関係のセキュリティ脆弱性をユーザーに通知しすることで、ご使用の依存関係を最新状態に保ちます。また、自動的に pull request を開き、依存関係を次に使用可能なセキュア バージョン (Dependabot アラートがトリガーされたとき) または最新バージョン (リリースが公開されたとき) にアップグレードします。

"Dependabot" という用語には、次の機能が含まれます。

  • Dependabot alerts— リポジトリの [セキュリティ] タブとリポジトリの依存関係グラフに表示される通知。 アラートには、プロジェクト内で影響を受けるファイルへのリンクと、修正バージョンに関する情� �が含まれています。
  • Dependabot updates:
    • Dependabot security updates— アラートがトリガーされたときに、更新プログラ� をトリガーし、依存関係をセキュアなバージョンにアップグレードします。
    • Dependabot version updates— 更新プログラ� をスケジュールして、ご使用の依存関係を最新バージョンに保ちます。

Dependabot security updates、Dependabot version updates は、GitHub Enterprise Server で実行するために GitHub Actions が必要です。 Dependabot alertsでは、GitHub Actions は必要ありません。 詳細については、「企業に対する Dependabot の有効化」を参照してく� さい。

Dependabot アラートとは

Dependabot alertsは、依存関係グラフと GitHub Advisory Database (既知の脆弱性に関するアドバイザリを含む) に基づいて、新しく検出された脆弱性の影響を受けるリポジトリを強調表示します。

  • Dependabot は、次の� �合に、スキャンを実行して安全ではない依存関係を検出し、Dependabot alertsを送信します。
  • Dependabot alertsが、リポジトリの [セキュリティ] タブとリポジトリの依存関係グラフに表示されたとき。 アラートには、プロジェクト内の影響を受けるファイルへのリンクと、固定バージョンに関する情� �が含まれます。

詳細については、「Dependabot alertsについて」を参照してく� さい。

Dependabot 更新プログラ� とは

2 種類の Dependabot updatesがあります。Dependabot "セキュリティ" 更新プログラ� と "バージョン" 更新プログラ� です。 Dependabot は、どちらのケースでも依存関係を更新するために自動 pull request を生成しますが、いくつかの違いがあります。

Dependabot security updates:

  • Dependabot アラートによってトリガーされます。
  • 既知の脆弱性を解決する最小バージョンに依存関係を更新します。
  • 依存関係グラフがサポートするエコシステ� でサポートされます。
  • 構成ファイルは必要ありませんが、既定の動作をオーバーライドするために使用できます

Dependabot version updates:

  • 構成ファイルが必要です
  • 構成したスケジュールに従って実行します。
  • 構成と一致する最新バージョンに依存関係を更新します。
  • さまざまな一連のエコシステ� でサポートされます。

Dependabot updatesの詳細については、「Dependabot security updatesについて」および「Dependabot version updatesについて」を参照してく� さい。

使用可能な機能

  • 依存関係グラフ および Dependabot alerts — 既定で有効になっていません。 どちらの機能も、エンタープライズ所有者によってエンタープライズ レベルで構成されます。 詳細については、「エンタープライズの依存関係グラフの有効化」および「エンタープライズの Dependabot の有効化」を参照してく� さい。
  • 依存関係レビュー— your GitHub Enterprise Server instanceに対して依存関係グラフが有効になっており、Advanced Security が組織またはリポジトリで有効になっている� �合に使用できます。 詳細については、「GitHub Advanced Security について」を参照してく� さい。
  • Dependabot security updates — 既定で有効になっていません。 Dependabot alerts と依存関係グラフを使用する任意のリポジトリで Dependabot security updates を有効にすることができます。 セキュリティ更新プログラ� の有効化の詳細については、「Dependabot security updatesの構成」を参照してく� さい。
  • Dependabot version updates — 既定で有効になっていません。 リポジトリへの書き込みアクセス許可を持つユーザーは、Dependabot version updatesを有効にすることができます。 セキュリティ更新プログラ� の有効化の詳細については、「Dependabot version updates の構成」を参照してく� さい。