Skip to main content

Dependabot アラートについて

脆弱性のある依存関係を使用しているリポジトリを検出すると、GitHub は Dependabot alertsを送信します。

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

Dependabot alerts は、GitHub.com 上のすべてのリポジトリで、無料で使用できます。 Dependabot alerts の カスタム自動トリアージ ルール を作成する機能などの高度な機能は、パブリック リポジトリでのみ (無料で) 使用できます。

Dependabot alerts について

Dependabot alerts により、コードが安全でないパッケージに依存していることが通知されます。

セキュリティ上の脆弱性があるパッケージにコードが依存している場合、プロジェクトまたはそれを使用するユーザーにさまざまな問題が発生する可能性があります。 できるだけ早く、セキュリティで保護されたバージョンのパッケージにアップグレードする必要があります。コードでマルウェアが使用されている場合は、パッケージを安全な代替手段に置き換える必要があります。

Dependabot では、マルウェアに対する Dependabot alertsは生成されません。 詳しくは、「GitHub Advisory Database について」を参照してください。

Dependabot によって提供されるさまざまな機能の概要と、開始方法の手順については、「Dependabot クイックスタート ガイド」を参照してください。

安全でない依存関係を検出する

Dependabot により、安全でない依存関係を検出するためにリポジトリのデフォルト ブランチ スキャンが実行され、以下の場合に Dependabot alertsが送信されます。

  • GitHub Advisory Database に新しいアドバイザリが追加されたとき。 詳細については、「GitHub Advisory Database でのセキュリティ アドバイザリの参照」を参照してください。

    注: GitHub によってレビューされたアドバイザリのみが、Dependabot alertsをトリガーします。

  • リポジトリの依存関係グラフが変更された場合。 たとえば、共同作成者がコミットをプッシュして、依存しているパッケージまたはバージョンを変更したとき、またはいずれかの依存関係のコードが変更されたときなどです。 詳しくは、「依存関係グラフについて」を参照してください。

注: Dependabot では、アーカイブされたリポジトリはスキャンされません。

さらに、GitHub は、リポジトリの既定のブランチに対して行われた pull request で追加、更新、削除される依存関係を確認し、プロジェクトのセキュリティを低下させる変更にフラグを立てることができます。 これにより、コードベースに達した後ではなくその前に、脆弱な依存関係を見つけて対処できます。 詳しくは、「プルリクエスト内の依存関係の変更をレビューする」を参照してください。

Dependabot alerts は依存関係グラフに依存するため、Dependabot alerts でサポートされているエコシステムは、依存関係グラフでサポートされているものと同じです。 これらのエコシステムの一覧については、「依存関係グラフについて」を参照してください。

注: マニフェストとロック ファイルを最新の状態に保つことが重要です。 依存関係グラフに現在の依存関係とバージョンが正確に反映されていない場合は、使用している安全でない依存関係のアラートを見逃す可能性があります。 また、使用しなくなった依存関係のアラートを受け取る場合もあります。

Dependabot will only create Dependabot alerts for vulnerable GitHub Actions that use semantic versioning. You will not receive alerts for a vulnerable action that uses SHA versioning. If you use GitHub Actions with SHA versioning, we recommend enabling Dependabot version updates for your repository or organization to keep the actions you use updated to the latest versions.

Dependabot alertsの構成について

GitHub は、パブリック リポジトリ内の脆弱な依存関係を検出し、依存関係グラフを表示しますが、既定では Dependabot alertsは生成されません。 リポジトリのオーナーまたは管理者アクセス権を持つユーザーは、パブリック リポジトリに対して Dependabot alertsを有効にすることができます。 プライベートリポジトリのオーナー、または管理アクセス権を持つユーザは、リポジトリの依存関係グラフと Dependabot alerts を有効にすることで、Dependabot alerts を有効化できます。

ユーザー アカウントまたは組織が所有するすべてのリポジトリの Dependabot alertsを有効または無効にすることもできます。 詳しくは、「Dependabot アラートの構成」を参照してください。

Dependabot alerts に関連するアクションのアクセス要件については、「Organizationのリポジトリロール」を参照してください。

GitHub で依存関係グラフの生成がすぐに始まり、安全でない依存関係が特定されるとすぐにアラートが生成されます。 グラフは通常数分以内に入力されますが、多くの依存関係を持つリポジトリの場合は時間がかかる場合があります。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」を参照してください。

GitHub が脆弱な依存関係を識別すると、Dependabot アラートが生成され、リポジトリの [Security] (セキュリティ) タブとリポジトリの依存関係グラフにそれが表示されます。 アラートには、プロジェクト内で影響を受けるファイルへのリンクと、修正バージョンに関する情報が含まれています。

GitHub は、通知の設定に従って、影響を受けるリポジトリのメンテナに新しいアラートについて通知する場合もあります。Dependabot が最初に有効になっている場合、GitHub は、リポジトリで見つかったすべての脆弱な依存関係について通知を送信するのではなく、Dependabot が有効になった後に特定された新しい脆弱な依存関係に対してのみ、通知を送信します。詳しくは、「Dependabot アラートの通知を構成する」をご覧ください。

Dependabot security updatesをリポジトリに対して有効にしている場合、アラートには、脆弱性を解決する最小バージョンにマニフェストまたはロック ファイルを更新する pull request へのリンクも含まれる場合があります。 詳しくは、「Dependabot のセキュリティ アップデート」を参照してください。

さらに、Dependabot 自動トリアージ ルール を使用してアラートを大規模に管理できるため、アラートを自動的に閉じたりスヌーズしたりして、pull requestを開く Dependabot アラートを指定できます。 さまざまな種類の自動トリアージ ルールと、およびリポジトリが適格かどうかについては、「Dependabot 自動トリアージ ルールについて」を参照してください。

: GitHub のセキュリティ機能は、すべての脆弱性をキャッチするものではありません。 GitHub Advisory Database は頻繁に更新されており、最新の情報を使用したアラートが生成されます。 ただし、すべてを捕捉することや、一定の期間内に確実に既知の脆弱性について通知することはできません。 これらの機能は、人間が各依存関係をレビューして、潜在的な脆弱性やその他のイシューを確認する作業の代わりになるものではありません。必要に応じて、セキュリティ サービスに相談したり、依存関係の詳しいレビューを実施したりすることをお勧めします。

Dependabot alertsへのアクセス

リポジトリの [セキュリティ] タブまたはリポジトリの依存関係グラフの特定のプロジェクトに影響するすべてのアラートを確認できます。 詳しくは、「Dependabot アラートの表示と更新」を参照してください。

既定では、新しい Dependabot alerts に関して影響を受けるリポジトリでの書き込み、保守、または管理アクセス許可を持つユーザーに通知されます。 GitHub は、いかなるリポジトリについても、安全でない依存関係を公開することはありません。 Dependabot alerts を、自分が所有または管理者権限を持っているリポジトリで作業している追加のユーザや Team に表示することもできます。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」を参照してください。

リポジトリの Dependabot alerts に関する通知を受け取るには、これらのリポジトリを監視し、"すべてのアクティビティ" 通知を受け取るようにサブスクライブするか、"セキュリティ アラート" を含めるようにカスタム設定を構成する必要があります。 詳しくは、「通知を設定する」を参照してください。 通知の配信方法と、通知が送信される頻度を選択できます。詳細については、「Dependabot アラートの通知を構成する」を参照してください。

GitHub Advisory Database 内の特定のアドバイザリに対応するすべての Dependabot alertsを見ることもできます。 詳しくは、「GitHub Advisory Database でのセキュリティ アドバイザリの参照」を参照してください。

参考資料