メモ
この機能を使用するには、サイト管理者が Dependabot updatesの お使いの GitHub Enterprise Server インスタンスを設定する必要があります。 詳細については、「エンタープライズ向けの Dependabot の有効化」を参照してください。
Enterprise 所有者が Enterprise レベルでポリシーを設定している場合、Dependabot updates を有効または無効にできない場合があります。 詳しくは、「エンタープライズのコード セキュリティと分析のためのポリシーの適用」をご覧ください。
Dependabot security updates の概要
Dependabot security updates を使用すると、リポジトリ内の脆弱な依存関係を簡単に修正できます。
Dependabot security updatesを有効にした場合、リポジトリの依存関係グラフで脆弱な依存関係に対してDependabotアラートが発生すると、Dependabotは自動的に修正を試みます。 詳細については、「Dependabot alerts」および「Dependabot セキュリティの更新の構成」を参照してください。
dependabot.yml構成ファイルをリポジトリに追加して、更新スケジュール、プル要求の設定、監視する依存関係などのDependabot動作をカスタマイズできます。 詳細については、「dependabot.yml ファイルについて」を参照してください。 次に、このファイルのオプションを構成して、リポジトリが依存する依存関係をセキュリティで保護する方法を Dependabot に指示します。
サポートされているリポジトリとエコシステムについては、「Dependabot でサポートされているエコシステムとリポジトリ」を参照してください。
メモ
dependabot.yml ファイルで指定された設定とDependabotセキュリティ アラートの間に相互作用はありません。セキュリティ更新プログラムのDependabotによって生成された関連するプル要求がマージされると、アラートが閉じられるという事実を除きます。
Dependabot は、コミット署名がリポジトリの要件ではない場合でも、既定では独自のコミットに署名します。 検証済みコミットの詳細については、「コミット署名の検証について」を参照してください。
メモ
リポジトリに対して Dependabot security updates が有効になっている場合、Dependabot は、使用可能なパッチを持つすべての開いている Dependabot アラートを解決するために pull request を自動的に開こうとします。 どのアラートに対して Dependabot が pull request を開くかカスタマイズする場合は、Dependabot security updates を [無効] のままにし、オート トリアージ ルールを作成する必要があります。 詳しくは、「自動トリアージ ルールをカスタマイズして Dependabot アラートの優先度を設定する」をご覧ください。
GitHubは、最近公開されたDependabot alertsセキュリティ アドバイザリによって開示された脆弱性の影響を受けるリポジトリにGitHubを送信する可能性があります。 詳しくは、「GitHub Advisory Database でのセキュリティ アドバイザリの参照」をご覧ください。
Dependabot は、リポジトリの依存関係グラフを中断することなく、脆弱な依存関係を固定バージョンにアップグレードできるかどうかを確認します。 その後 Dependabot プル要求を発生させ、パッチを含む最小バージョンに依存関係を更新し、プル要求を Dependabot アラートにリンクするか、アラートに関するエラーを報告します。 詳細については、「Dependabot エラー」を参照してください。
Dependabot security updates機能は、依存関係グラフとDependabot alertsを有効にしたリポジトリで使用できます。 完全な依存関係グラフで特定されたすべての脆弱な依存関係に対する Dependabot アラートが表示されます。 ただし、セキュリティアップデートプログラムは、マニフェストファイルまたはロックファイルで指定されている依存関係に対してのみトリガーされます。 詳細については、「依存関係グラフ」を参照してください。
メモ
npm、 Dependabot は、明示的に定義された依存関係をセキュリティで保護されたバージョンに更新するプル要求を発生させます。これは、親の依存関係または依存関係を更新すること、または親によって不要になったサブ依存関係を削除することを意味する場合でも発生します。 他のエコシステムの場合、親依存関係の更新も必要な場合、 Dependabot は間接的または推移的な依存関係を更新できません。 詳細については、「Dependabot エラー」を参照してください。
Dependabot version updates関連する機能を有効にして、Dependabotが古い依存関係を検出するたびにマニフェストを最新バージョンの依存関係に更新するプル要求を発生させることができます。 詳細については、「Dependabot バージョン アップデート」を参照してください。
Dependabot によって pull request が発生する場合、その pull request は、"セキュリティ" 更新プログラムか "バージョン" アップデートを対象としたものである可能性があります。
- Dependabot security updates は、既知の脆弱性を持つ依存関係を更新するのに役立つ、自動化された pull request です。
- Dependabot version updates は、依存関係に脆弱税がなくても、依存関係を最新の状態に維持する、自動化された pull request です。 バージョン更新の状態をチェックするには、リポジトリの [Insights] タブに移動し、[Dependency Graph] と [Dependabot] を選びます。
_ Dependabot security updates _を有効にすると、構成の一部が、Dependabot version updates 用に作成されたプル要求にも影響する可能性があります。 これは、構成の設定の一部が両方のタイプの更新プログラムに共通しているためです。 詳細については、「Dependabot セキュリティ更新プログラム用に pull request をカスタマイズする」を参照してください。
Dependabot updates を有効にする前に、セルフホステッド ランナーで お使いの GitHub Enterprise Server インスタンス を使用するように GitHub Actionsを構成する必要があります。GitHub Actions と Dependabot version updates が Dependabot security updates 上で動作するには、GitHub が必要です。 詳細については、「エンタープライズ向けの Dependabot の有効化」を参照してください。
Dependabot security updates を使うと、GitHub Actions の脆弱な依存関係を修正できます。 セキュリティ更新プログラムが有効になっている場合、ワークフローで使用されている脆弱な Dependabot を修正プログラムが適用された最小バージョンに更新するための pull request が、GitHub Actions によって自動的に生成されます。
グループ化されたセキュリティ アップデートについて
表示される pull request の数をさらに減らすには、グループ化されたセキュリティ アップデートを使って、(パッケージ エコシステムごとに) 依存関係のセットをまとめてグループ化できます。 Dependabot 次に、1 つのプル要求を発生させ、グループ内の脆弱な依存関係をできるだけ多く更新して、バージョンを同時にセキュリティで保護します。
セキュリティ更新プログラムの場合、 Dependabot は、特定の条件下と構成の下でエコシステムごとに異なるディレクトリからの依存関係のみをグループ化します。 Dependabot では、 異なるパッケージ エコシステムからの依存関係はグループ化されず、セキュリティ更新プログラムはバージョン更新プログラムとグループ化 されません 。
Dependabot security updatesのグループ化されたプル要求は、次の方法のいずれかまたは両方で有効にすることができます。
- 使用可能なセキュリティ更新プログラムをできるだけ多く、ディレクトリ間、エコシステムごとにグループ化するには、リポジトリの [Advanced Security] 設定、または組織の [ Advanced Security ] の [グローバル設定] でグループ化を有効にします。
- パッケージ名、開発と運用の依存関係、SemVer レベル、複数のディレクトリにわたるエコシステムごとによるグループ化など、グループ化をより細かく制御するには、リポジトリの
dependabot.yml構成ファイルに構成オプションを追加します。
メモ
dependabot.yml ファイル内で Dependabot security updates のグループルールを構成した場合、使用できるすべての更新は、指定したルールに従ってグループ化されます。 Dependabot は、Organization またはリポジトリ レベルでグループ化されたセキュリティ アップデートの設定も有効になっている場合、dependabot.yml で構成されていないディレクトリ間でのみグループ化されます。
詳細については、「Dependabot セキュリティの更新の構成」を参照してください。
の自動非アクティブ化について Dependabot updates
リポジトリのメンテナが Dependabot pull request の操作を停止すると、Dependabot はその更新を一時的に停止し、そのことが通知されます。「Dependabot 更新の「プルリクエスト」が生成されなくなりました」を参照してください。
Dependabot セキュリティ更新プログラムの通知について
GitHubで通知をフィルター処理して、Dependabotセキュリティ更新プログラムを表示できます。 詳細については、「インボックスからの通知を管理する」を参照してください。