Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

Dependabot アラートの表示と更新

GitHub Enterprise Server がプロジェクト内の安全ではない依存関係を発見した場合は、詳細をリポジトリの [Dependabot アラート] タブで確認できます。 その後、プロジェクトを更新してこのアラートを解決することができます。

この機能を使用できるユーザー

Repository administrators and organization owners can view and update dependencies, as well as users and teams with explicit access.

注: この機能を使用するには、サイト管理者が your GitHub Enterprise Server instanceの Dependabot updatesを設定する必要があります。 詳細については、「企業に対する Dependabot の有効化」を参照してください。

リポジトリの [Dependabot alerts] タブには、オープンおよびクローズされたすべての Dependabot alerts および対応する Dependabot security updates が一覧表示されます。 パッケージ、エコシステム、マニフェストごとにアラートをフィルター処理できます。 アラートの一覧を並べ替えたり、特定のアラートをクリックしてその詳細を表示したりすることができます。 アラートを 1 つずつ、または一度に複数のアラートを無視したり、もう一度開いたりすることもできます。 詳細については、「Dependabot alertsについて」を参照してください。

Dependabot alerts と依存関係グラフを使用するリポジトリの自動セキュリティ更新を有効にすることができます。 詳細については、「Dependabot security updatesについて」を参照してください。

リポジトリ内の脆弱性のある依存関係の更新について

コードベースで既知のセキュリティ リスクのある依存関係が検出されると、GitHub Enterprise Server によって Dependabot alerts が生成されます。 Dependabot security updates が有効になっているリポジトリの場合、GitHub Enterprise Server がデフォルトのブランチで脆弱性のある依存関係を検出すると、Dependabot はそれを修正するためのプルリクエストを作成します。 プルリクエストは、脆弱性を回避するために必要最低限の安全なバージョンに依存関係をアップグレードします。

各 Dependabot アラートには一意の数値識別子があり、[Dependabot alerts] タブには、検出された各脆弱性に対するアラートが一覧表示されます。 従来の Dependabot alertsでは、依存関係ごとに脆弱性がグループ化され、依存関係ごとに 1 つのアラートが生成されていました。 従来の Dependabot アラートに移動すると、そのパッケージに対してフィルター処理された [Dependabot alerts] タブにリダイレクトされます。

ユーザー インターフェイスで使用できるさまざまなフィルターと並べ替えオプションを使って、Dependabot alerts をフィルター処理して並べ替えることができます。 詳しい情報については、以下の「Dependabot alertsの優先順位付け」を参照してください。

Dependabot alertsの優先順位付け

GitHub は、Dependabot alertsの修正の優先順位を付けるのに役立ちます。 既定では、Dependabot alertsは重要度で並べ替えられています。 "最重要" 並べ替え順序は、最初に注目する Dependabot alertsの優先順位を付けるのに役立ちます。 アラートは、潜在的な影響、実用性、関連性に基づいてランク付けされます。 Github の優先順位付けの計算は常に改善されており、CVSS スコア、依存関係スコープ、アラートに対して脆弱な関数呼び出しが見つかるかどうかなどの要因が含まれています。

"最も重要" の並べ替えが表示されている [並べ替え] ドロップダウンのスクリーンショット。

検索バーにフィルターを key:value ペアとして入力すると、Dependabot alerts を並べ替えたりフィルター処理したりすることができます。

オプション説明
ecosystem選んだエコシステムのアラートを表示しますecosystem:npm を使用して npm の Dependabot alerts を表示します
has選んだフィルター条件を満たすアラートを表示しますhas:patch を使用してパッチを持つアドバイザリに関するアラートを表示します。
is状態に基づいてアラートを表示しますis:open を使用して、開いているアラートを表示します
manifest選んだマニフェストのアラートを表示しますmanifest:webwolf/pom.xml を使用して、Webwolf アプリケーションの pom.xml ファイルにアラートを表示します
package選んだパッケージのアラートを表示しますpackage:django を使用して、django のアラートを表示します
resolution選んだ解決状態のアラートを表示しますresolution:no-bandwidth を使用して、リソースまたは修正時間が足りなかったために以前にパークされたアラートを表示します
repo関連するリポジトリに基づいてアラートを表示します
このフィルターは、セキュリティの概要でのみ使用できる点にご注意ください。 詳しくは、「セキュリティの概要について」を参照してください。
repo:octocat-repo を使用して、呼び出された octocat-repo リポジトリにアラートを表示します。
scope関連する依存関係のスコープに基づいてアラートを表示しますscope:development を使用して、開発中にのみ使用される依存関係のアラートを表示します
severity重大度のレベルに基づいてアラートを表示しますseverity:high を使用して、重大度が高いアラートを表示します
sort選んだ並べ替え順序に従ってアラートを表示しますアラートの既定の並べ替えオプションは sort:most-important であり、重要度でアラートが優先度付けされます
sort:newest を使用して、Dependabot によって報告された最新のアラートを表示します

検索バーで使用できるフィルターに加えて、アラート一覧の上部にあるドロップダウン メニューを使用して、Dependabot alertsを並べ替えたりフィルター処理したりできます。

検索バーでは、アラートと関連するセキュリティ アドバイザリのフルテキスト検索も可能です。 セキュリティ アドバイザリの名前または説明の一部を検索して、そのセキュリティ アドバイザリに関連するリポジトリのアラートを返すことができます。 たとえば、yaml.load() API could execute arbitrary code の検索では、アドバイザリの説明に検索文字列が表示されるので、"PyYAML によって安全でない方法で YAML 文字列が逆シリアル化され、任意のコード実行につながります" にリンクされた Dependabot alertsが返されます。

[Dependabot alerts] タブのフィルターと並べ替えメニューのスクリーンショット。

依存関係スコープでサポートされるエコシステムとマニフェスト

次の表は、依存関係スコープがさまざまなエコシステムとマニフェストでサポートされているかどうか、つまり、Dependabot で依存関係が開発または生産に使われていることを識別できるかどうかまとめたものです。

| 言語 | エコシステム | マニフェスト ファイル | サポートされている依存関係スコープ | |:---|:---:|:---:|:---| | Go | Go モジュール | go.mod | いいえ、既定でランタイム | | Go | Go モジュール | go.sum | いいえ、既定でランタイム | | Java | Maven | pom.xml | ✔ test は開発にマップし、それ以外のスコープは既定でランタイム | | JavaScript | npm | package.json | ✔ | | JavaScript | npm | package-lock.json | ✔ | | JavaScript | yarn v1 | yarn.lock | いいえ、既定でランタイム | | PHP | Composer | composer.json | ✔ | | PHP | Composer | composer.lock | ✔ | | Python | Poetry | poetry.lock | ✔ | | Python | Poetry | pyproject.toml | ✔ | | Python | pip | requirements.txt | ✔ スコープは、ファイル名に test または dev が含まれる場合は開発、それ以外の場合はランタイム | | Python | pip | pipfile.lock | ✔ | | Python | pip | pipfile | ✔ | | Ruby | RubyGems | Gemfile | ✔ | | Ruby | RubyGems | Gemfile.lock | いいえ、既定でランタイム | | Rust | Cargo | Cargo.toml | ✔ | | Rust | Cargo | Cargo.lock | いいえ、既定でランタイム | | YAML | GitHub Actions | - | いいえ、既定でランタイム | | .NET (C#、F#、VB など) | NuGet | .csproj / .vbproj .vcxproj / .fsproj | いいえ、既定でランタイム | | .NET | NuGet | packages.config | いいえ、既定でランタイム | | .NET | NuGet | .nuspec | ✔ タグがランタイムではないとき |

開発時の依存関係として一覧表示されるパッケージに対するアラートは、Dependabot alerts ページに Development ラベルでマークされて表示され、scope フィルターでフィルター処理することもできます。

アラートの一覧の "Development" ラベルを示すスクリーンショット

開発スコープ パッケージに対するアラートのアラート詳細ページには、Development ラベルを含む [タグ] セクションが表示されます。

アラート詳細ページの [タグ] セクションを示すスクリーンショット

Dependabot alerts の表示

  1. your GitHub Enterprise Server instance で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブ 1. セキュリティ サイドバーで、 [Dependabot alerts] をクリックします。 このオプションがない場合は、セキュリティ アラートにアクセスできないため、アクセス権を付与する必要があることを意味します。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」をご覧ください。Dependabot alerts タブ
  2. 必要に応じて、アラートをフィルター処理するには、ドロップダウン メニューでフィルターを選び、適用するフィルターをクリックします。 検索バーにフィルターを入力することもできます。 アラートのフィルター処理と並べ替えについて詳しくは、「Dependabot alertsの優先順位付け」を参照してください。 [Dependabot alerts] タブの [フィルター] および [並べ替え] メニューのスクリーンショット。
  3. 表示するアラートをクリックします。 アラートの一覧で選ばれたアラート

アラートの確認と修正

すべての依存関係にセキュリティ上の弱点がないことを確認することが重要です。 Dependabot によって依存関係で脆弱性 が検出された場合、プロジェクトの露出レベルを評価し、アプリケーションをセキュリティで保護するための修復手順を決定する必要があります。

依存関係の修正プログラムが適用されたバージョンを利用できる場合は、Dependabot pull request を生成して、Dependabot アラートからこの依存関係を直接更新できます。 Dependabot security updatesが有効になっている場合は、Dependabot アラートで Pull Request がリンクされている可能性があります。

修正プログラムが適用されたバージョンが利用できない場合や、セキュリティで保護されたバージョンに更新できない場合は、Dependabot によって追加情報が共有され、次の手順を決定できます。 Dependabot アラートをクリックして表示すると、影響を受ける関数を含め、依存関係に関するセキュリティ アドバイザリの詳細情報を確認できます。 これにより、自分のコードが、影響を受ける関数を呼び出すかどうかを確認できます。 この情報は、リスク レベルをさらに厳密に評価し、回避策を決定したり、セキュリティ アドバイザリによって表されるリスクを受け入れられるかどうかを判断したりするのに役立ちます。

脆弱性のある依存関係を修正する

  1. アラートの詳細を表示します。 詳しい情報については、「Dependabot alerts の表示」 (上記) を参照してください。

  2. Dependabot security updatesが有効になっている場合は、依存関係を修正する Pull Request へのリンクが存在する可能性があります。 または、アラートの詳細ページの上部にある [Dependabot セキュリティ更新プログラムを作成する] をクリックして Pull Request を作成することもできます。 [Create Dependabot security update] ボタン

  3. Dependabot security updatesを使用しない場合は、必要に応じて、ページの情報を使用してアップグレード先の依存関係のバージョンを決定し、セキュリティで保護されたバージョンに依存関係を更新する Pull Request を作成することができます。

  4. 依存関係を更新して脆弱性を解決する準備ができたら、プルリクエストをマージしてください。

Dependabot によって発行される各 pull request には、Dependabot の制御に使用できるコマンドの情報が含まれています。 詳細については、「Managing pull requests for dependency updates」(依存関係の更新に対するプル リクエストの管理) を参照してください。

Dependabot alertsを無視する

ヒント: 無視できるのは、オープン アラートのみです。

依存関係をアップグレードするための広範な作業をスケジュールする場合や、アラートを修正する必要がないと判断した場合は、アラートを無視できます。 既に評価済みのアラートを無視すると、新しいアラートが表示されたときに簡単にトリアージできます。

  1. アラートの詳細を表示します。 詳細については、「脆弱性のある依存関係を表示する」(上記) を参照してください。
  2. [無視] ドロップダウンを選び、アラートを無視する理由をクリックします。 無視された未修正のアラートは、後でもう一度開くことができます。 1. 必要に応じて、無視のコメントを追加します。 無視のコメントはアラート タイムラインに追加され、監査と報告の間に正当な理由として使用できます。 GraphQL API を使用して、コメントを取得または設定できます。 コメントは dismissComment フィールドに含まれています。 詳しくは、GraphQL API ドキュメントの「Dependabot alerts」を参照してください。 [無視] ドロップダウンでアラートを無視する方法と、無視コメントを追加するオプションを示すスクリーンショット
  3. [アラートを無視] をクリックします。

複数のアラートを一度に却下する

  1. オープンの Dependabot alerts を表示します。 詳しい情報については、「Dependabot alerts の表示」を参照してください。
  2. 必要に応じて、ドロップダウン メニューを選び、適用するフィルターをクリックして、アラートの一覧をフィルター処理します。 検索バーにフィルターを入力することもできます。
  3. 各アラートのタイトルの左側で、無視するアラートを選びます。 チェックボックスが強調表示されているオープン アラートのスクリーンショット
  4. 必要に応じて、アラートの一覧の上部で、ページ上のすべてのアラートを選びます。 オープン アラートがすべて選ばれているスクリーンショット
  5. [アラートを無視する] ドロップダウンを選び、アラートを無視する理由をクリックします。 [アラートを無視する] ドロップダウンが強調表示されているオープン アラートのページのスクリーンショット

クローズされたアラートの表示と更新

開いているすべてのアラートを表示し、以前に却下したアラートをもう一度開くことができます。 既に修復済みのクローズされたアラートをもう一度開くことはできません。

  1. your GitHub Enterprise Server instance で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブ 1. セキュリティ サイドバーで、 [Dependabot alerts] をクリックします。 このオプションがない場合は、セキュリティ アラートにアクセスできないため、アクセス権を付与する必要があることを意味します。 詳しくは、「リポジトリのセキュリティと分析設定を管理する」をご覧ください。Dependabot alerts タブ

  2. クローズされたアラートのみを表示するには、 [Closed] をクリックします。[Closed](クローズ済み) オプションを示すスクリーンショット

  3. 表示または更新するアラートをクリックします。強調表示された dependabot アラートを示すスクリーンショット

  4. 必要に応じて、却下されたアラートを再度開く場合は、 [Reopen] をクリックします。 既に修正されたアラートをもう一度開くことはできません。

    [Reopen](もう一度開く) ボタンを示すスクリーンショット

一度に複数のアラートをもう一度開く

  1. クローズされた Dependabot alerts を表示します。 詳しい情報については、「クローズされたアラートの表示と更新」 (上記) を参照してください。
  2. 各アラートのタイトルの左側で、もう一度開くアラートを選びます。 チェックボックスが強調表示されている、クローズされたアラートのスクリーンショット
  3. 必要に応じて、アラートの一覧の上部で、ページ上のすべてのクローズされたアラートを選びます。 すべてのアラートが選択された、クローズされたアラートのスクリーンショット
  4. [再度開く] をクリックして、アラートをもう一度開きます。 既に修正されたアラートをもう一度開くことはできません。 [再度開く] ボタンが強調表示されている、クローズされたアラートのスクリーンショット

Dependabot alerts の監査ログの確認

組織またはエンタープライズのメンバーが Dependabot alerts に関連するアクションを実行した場合は、監査ログでそのアクションを確認できます。 ログへのアクセスについて詳しくは、組織の監査ログの確認に関するページと「エンタープライズの監査ログにアクセスする」を参照してください。

Dependabot alerts に関する監査ログのイベントには、だれがアクションを実行したか、何のアクションか、いつアクションを実行したか、などの詳細が含まれます。 Dependabot alerts アクションについて詳しくは、「組織の監査ログの確認」と「エンタープライズの監査ログ イベント」の repository_vulnerability_alert カテゴリを参照してください。