Dependabot security updates または手動のプルリクエストを使用して、脆弱性のある依存関係を簡単に更新できます。
Users with write access
Dependabot alerts と依存関係グラフを使用する任意のリポジトリで Dependabot security updates を有効にすることができます。 詳しくは、「Dependabot のセキュリティ アップデート」をご覧ください。
個々のリポジトリまたは個人アカウントやOrganization が所有するすべてのリポジトリについて、Dependabot security updates を有効または無効にできます。 Organization 内のセキュリティ機能を有効にする方法の詳細については、「組織でセキュリティ機能を有効にする」を参照してください。
Note
リポジトリに対して Dependabot security updates が有効になっている場合、Dependabot は、使用可能なパッチを持つすべての開いている Dependabot アラートを解決するために pull request を自動的に開こうとします。 どのアラートに対して Dependabot が pull request を開くかカスタマイズする場合は、Dependabot security updates を [無効] のままにし、オート トリアージ ルールを作成する必要があります。 詳しくは、「自動トリアージ ルールをカスタマイズして Dependabot アラートの優先度を設定する」をご覧ください。
Dependabot とすべての関連する機能は、GitHub の利用規約でカバーされています。
個人アカウントまたは Organization で Dependabot security updates の [新しいリポジトリに対して自動的に有効する] が有効になっている場合、新しく作成されたリポジトリの Dependabot security updates が、GitHub によって、自動的に有効になります。 詳しくは、「リポジトリの Dependabot security updates の管理」を参照してください。
セキュリティ更新が有効になっているリポジトリのフォークを作成すると、GitHub によってフォークの Dependabot security updates が自動的に無効になります。 その後、特定のフォークで Dependabot security updates を有効にするかどうかを決定できます。
リポジトリでセキュリティアップデートが有効になっておらず、理由が不明の場合は、まず以下の手順のセクションに記載されている指示に従って有効にしてみてください。 セキュリティ更新プログラムがまだ機能していない場合は、GitHub サポート ポータル に問い合わせてください。
個人アカウントまたは Organization が所有するすべての対象のリポジトリの Dependabot security updates を有効または無効にすることができます。 詳しくは、「個人アカウントのセキュリティと分析設定を管理する」または「組織のセキュリティおよび分析設定を管理する」を参照してください。
個別のリポジトリに対して Dependabot security updates を有効または無効にすることもできます。
GitHub で、リポジトリのメイン ページに移動します。
リポジトリ名の下にある [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。
サイドバーの [Security] セクションで、[ Code security] をクリックします。
[Code security] の [Dependabot security updates] の右側で、機能を有効にするには [Enable] を、無効にするには [Disable] をクリックします。 パブリック リポジトリの場合、機能が常に有効になっていると、このボタンは無効になります。
表示される可能性がある pull request の数を減らすために、リポジトリまたは Organization のグループ化されたセキュリティ アップデートを有効にすることができます。 これを有効にすると、Dependabot は、パッケージ エコシステムごとにセキュリティ アップデートを 1 つの pull request にグループ化します。 グループ化されたセキュリティ アップデートを使用するには、まず次の機能を有効にする必要があります。
グループ化されたセキュリティ更新プログラムを最初に有効にすると、Dependabot はすぐにグループ化された pull request の作成を試みます。 Dependabot が古い pull request を閉じ、新しい pull request を開くことに気付く場合があります。
Dependabot security updates のグループ化された pull request は、以下の方法のいずれかまたは両方で有効にすることができます。
dependabot.yml
dependabot.yml ファイル内で Dependabot security updates のグループルールを構成した場合、使用できるすべての更新は、指定したルールに従ってグループ化されます。 Dependabot は、Organization またはリポジトリ レベルでグループ化されたセキュリティ アップデートの設定も有効になっている場合、dependabot.yml で構成されていないディレクトリ間でのみグループ化されます。
リポジトリ管理者は、リポジトリのグループ化されたセキュリティ アップデートを有効または無効にすることができます。 リポジトリ設定を変更すると、既定の Organization 設定がオーバーライドされます。 dependabot.yml ファイルで構成されたグループ ルールは、Organization またはリポジトリ レベルでグループ化されたセキュリティ アップデートを有効または無効にするためのユーザー インターフェイス設定をオーバーライドします。
[Code security] の [Grouped security updates] の右側で、機能を有効にするには [Enable] を、無効にするには [Disable] をクリックします。
グループ化された Dependabot security updates を 1 つの pull request に有効にすることができます。 詳しくは、「組織のグローバル セキュリティ設定の構成」をご覧ください。
リポジトリに dependabot.yml ファイルを追加することで、Dependabot security updates の既定の動作をオーバーライドできます。 dependabot.yml ファイルを使用すると、グループ化をより細かく制御し、Dependabot security updates 設定の既定動作をオーバーライドできます。
groups オプションを applies-to: security-updates キーと共に使用して (パッケージ マネージャーごとに) 依存関係のセットを作成し、Dependabot が 1 つの pull request を開いて複数の依存関係を同時に更新できるようにします。 パッケージ名 (patterns や exclude-patterns キー)、依存関係の種類 (dependency-type キー)、SemVer (update-types キー) でグループを定義できます。
groups
applies-to: security-updates
patterns
exclude-patterns
dependency-type
update-types
Dependabot は、dependabot.yml ファイルに表示される順序でグループを作成します。 依存関係の更新が複数のグループに属している可能性がある場合、一致する最初のグループにのみ割り当てられます。
セキュリティ アップデートのみを必要とし、_バージョン_更新を除外する場合は、特定の package-ecosystem のバージョン更新を防ぐために open-pull-requests-limit を 0 に設定できます。
package-ecosystem
open-pull-requests-limit
0
セキュリティ アップデートに対して使用できる構成オプションについて詳しくは、「Dependabot セキュリティ更新プログラム用に pull request をカスタマイズする」を参照してください。
# Example configuration file that: # - Has a private registry # - Ignores lodash dependency # - Disables version-updates # - Defines a group by package name, for security updates for golang dependencies version: 2 registries: example: type: npm-registry url: https://example.com token: ${{secrets.NPM_TOKEN}} updates: - package-ecosystem: "npm" directory: "/src/npm-project" schedule: interval: "daily" # For Lodash, ignore all updates ignore: - dependency-name: "lodash" # Disable version updates for npm dependencies open-pull-requests-limit: 0 registries: - example - package-ecosystem: "gomod" groups: golang: applies-to: security-updates patterns: - "golang.org*"
Dependabot でセキュリティ更新プログラムにこの構成を使用するには、directory をマニフェスト ファイルへのパスにする必要があります。target-branch は指定しないでください。
directory
target-branch