Skip to main content

Dependabot のセキュリティ アップデート

Dependabot は、セキュリティアップデートプログラムを使用してプルリクエストを発行することにより、脆弱性のある依存関係を修正できます。

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

Dependabot security updates は、次のリポジトリで使用できます。

  • GitHub Enterprise Server のすべてのリポジトリ

データの再利用可能 dependabot.enterprise-enable-dependabot %}

Dependabot security updates について

Dependabot security updates で、リポジトリ内の脆弱性のある依存関係を簡単に修正できます。

Dependabot security updates を有効にすると、リポジトリの依存関係グラフで脆弱性のある依存関係に対して Dependabot アラートが発生すると、Dependabot は自動的にそれを修正しようとします。 詳細については、「Dependabot アラートについて」および「Dependabot セキュリティの更新の構成」を参照してください。

          `dependabot.yml` 構成ファイルをリポジトリに追加すると、Dependabot の動作をカスタマイズできます。これには、更新スケジュール、pull request 設定、監視する依存関係などが含まれます。  詳しくは、「[AUTOTITLE](/code-security/concepts/supply-chain-security/about-the-dependabot-yml-file)」をご覧ください。 次に、Dependabot にリポジトリが依存する依存関係をセキュリティで保護する方法を指示するように、このファイルのオプションを構成します。

サポートされているリポジトリとエコシステムについては、「Dependabot でサポートされているエコシステムとリポジトリ」を参照してください。

メモ

セキュリティ アップデートのために Dependabot によって生成された関連するプル リクエストがマージされると、アラートが閉じられること以外には、dependabot.yml ファイルで指定された設定と Dependabot のセキュリティ アラートの間に相互作用はありません。

Dependabot は、コミット署名がリポジトリの要件ではない場合でも、既定では独自のコミットに署名します。 検証済みコミットの詳細については、「コミット署名の検証について」を参照してください。

メモ

リポジトリに対して Dependabot security updates が有効になっている場合、Dependabot は、使用可能なパッチを持つすべての開いている Dependabot アラートを解決するために pull request を自動的に開こうとします。 どのアラートに対して Dependabot が pull request を開くかカスタマイズする場合は、Dependabot security updates を [無効] のままにし、オート トリアージ ルールを作成する必要があります。 詳しくは、「自動トリアージ ルールをカスタマイズして Dependabot アラートの優先度を設定する」をご覧ください。

GitHub は、最近公開された GitHub セキュリティ アドバイザリによって公開された脆弱性に影響されるリポジトリに Dependabot alerts を送信できます。 詳しくは、「GitHub Advisory Database でのセキュリティ アドバイザリの参照」をご覧ください。

Dependabot は、リポジトリの依存関係グラフを中断することなく、脆弱性のある依存関係を修正バージョンにアップグレードできるかどうかを確認します。 次に、 Dependabot はプルリクエストを発生させて、パッチを含む最小バージョンに依存関係を更新し、プルリクエストを Dependabot アラートにリンクするか、アラートのエラーを報告します。 詳しくは、「Dependabot エラー」をご覧ください。

Dependabot security updates 機能は、依存関係グラフと Dependabot alerts を有効にしているリポジトリで使用できます。 完全な依存関係グラフで識別されたすべての脆弱性のある依存関係について、Dependabot アラートが表示されます。 ただし、セキュリティアップデートプログラムは、マニフェストファイルまたはロックファイルで指定されている依存関係に対してのみトリガーされます。 詳しくは、「依存関係グラフについて」をご覧ください。

メモ

メモ: npm、明示的に定義された依存関係をセキュリティで保護されたバージョンに更新するための pull request が Dependabot によって生成されます。これが、親の依存関係で不要になったサブ依存関係を削除したりすることを意味していたとしてもそうです。 他のエコシステムの場合、Dependabot は、親依存関係の更新も必要になる場合、間接的なまたは推移的な依存関係を更新できません。 詳しくは、「Dependabot エラー」をご覧ください。

関連する機能 Dependabot version updates を有効にして、Dependabot が古い依存関係を検出するたびに、マニフェストを最新バージョンの依存関係に更新するプルリクエストを生成させることができます。 詳しくは、「GitHub Dependabot のバージョンアップデートについて」をご覧ください。

セキュリティ更新とバージョン更新の比較についての依存ボットのプルリクエスト

          _Dependabot security updates_ を有効にした場合、構成の一部が、_Dependabot version updates_ に対して作成されたプル リクエストにも影響する可能性があります。 これは、構成の設定の一部が両方のタイプの更新プログラムに共通しているためです。 詳しくは、「[AUTOTITLE](/code-security/dependabot/dependabot-security-updates/customizing-dependabot-security-prs)」をご覧ください。

利用可能な Dependabot の更新(プルリクエストおよびアクション)

Dependabot security updates を使うと、GitHub Actions の脆弱な依存関係を修正できます。 セキュリティ更新プログラムが有効になっている場合、ワークフローで使用されている脆弱な GitHub Actions を修正プログラムが適用された最小バージョンに更新するための pull request が、Dependabot によって自動的に生成されます。

グループ化されたセキュリティ アップデートについて

表示される pull request の数をさらに減らすには、グループ化されたセキュリティ アップデートを使って、(パッケージ エコシステムごとに) 依存関係のセットをまとめてグループ化できます。 その後、Dependabot により、グループ内のできるだけ多くの依存関係を一度に安全なバージョンに更新する、1 つの pull request が生成されます。

セキュリティ アップデートの場合、Dependabot は、特定の条件と構成の下でエコシステムごとに異なるディレクトリからの依存関係のみをグループ化します。 Dependabot では、異なるパッケージ エコシステムからの依存関係はグループ化されず、セキュリティ アップデートバージョン更新プログラムとグループ化されません。

Dependabot security updates のグループ化された pull request は、以下の方法のいずれかまたは両方で有効にすることができます。

  • 使用できるセキュリティ更新プログラムをディレクトリ間やエコシステムごとにできるだけ多くグループ化するには、リポジトリ、または organization の [Advanced Security] の [Global settings] の [Advanced Security] 設定でグループ化を有効にします。
  • パッケージ名、開発と運用の依存関係、SemVer レベル、複数のディレクトリにわたるエコシステムごとによるグループ化など、グループ化をより細かく制御するには、リポジトリの dependabot.yml 構成ファイルに構成オプションを追加します。> [!NOTE]

dependabot.yml ファイル内で Dependabot security updates のグループルールを構成した場合、使用できるすべての更新は、指定したルールに従ってグループ化されます。 Dependabot は、Organization またはリポジトリ レベルでグループ化されたセキュリティ アップデートの設定も有効になっている場合、dependabot.yml で構成されていないディレクトリ間でのみグループ化されます。

詳しくは、「Dependabot セキュリティの更新の構成」をご覧ください。

Dependabot updates

の自動非アクティブ化について

リポジトリのメンテナが Dependabot pull request の操作を停止すると、Dependabot はその更新を一時的に停止し、そのことが通知されます。「Dependabot 更新の「プルリクエスト」が生成されなくなりました」を参照してください。

Dependabot セキュリティアップデートの通知について

GitHub で通知をフィルタして、Dependabot セキュリティアップデートを表示できます。 詳しくは、「インボックスからの通知を管理する」をご覧ください。