注: この機能を使用するには、サイト管理者が お使いの GitHub Enterprise Server インスタンスの Dependabot updatesを設定する必要があります。 詳しくは、「エンタープライズ向けの Dependabot の有効化」を参照してください。
リポジトリの [Dependabot alerts] タブには、オープンおよびクローズされたすべての Dependabot alerts および対応する Dependabot security updates が一覧表示されます。 パッケージ、エコシステム、マニフェストごとにアラートをフィルター処理できます。 アラートの一覧を並べ替えたり、特定のアラートをクリックしてその詳細を表示したりすることができます。 アラートを無視したり、もう一度開いたりすることもできます。 詳しくは、「Dependabot アラートについて」をご覧ください。
Dependabot alerts と依存関係グラフを使用するリポジトリの自動セキュリティ更新を有効にすることができます。 詳しくは、「Dependabot のセキュリティ アップデート」を参照してください。
リポジトリ内の脆弱性のある依存関係の更新について
コードベースで既知のセキュリティ リスクのある依存関係が検出されると、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 アラートに応答するために行われたアクションを監査することもできます。 詳しくは、「セキュリティ アラートの監査」を参照してください。
Dependabot alertsの優先順位付け
GitHub は、Dependabot alertsの修正の優先順位を付けるのに役立ちます。
検索バーにフィルターを 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 リポジトリにアラートを表示します。 |
severity | 重大度のレベルに基づいてアラートを表示します | severity:high を使用して、重大度が高いアラートを表示します |
検索バーで使用できるフィルターに加えて、アラート一覧の上部にあるドロップダウン メニューを使用して、Dependabot alertsを並べ替えたりフィルター処理したりできます。
検索バーでは、アラートと関連するセキュリティ アドバイザリのフルテキスト検索も可能です。 セキュリティ アドバイザリの名前または説明の一部を検索して、そのセキュリティ アドバイザリに関連するリポジトリのアラートを返すことができます。 たとえば、yaml.load() API could execute arbitrary code
の検索では、アドバイザリの説明に検索文字列が表示されるので、"PyYAML によって安全でない方法で YAML 文字列が逆シリアル化され、任意のコード実行につながります" にリンクされた Dependabot alertsが返されます。
Dependabot alerts の表示
- お使いの GitHub Enterprise Server インスタンス で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。
1. セキュリティの概要の [脆弱性アラート] サイド バーで、 [Dependabot] をクリックします。 このオプションがない場合は、セキュリティ アラートにアクセスできないため、アクセス権を付与する必要があることを意味します。 詳細については、「リポジトリのセキュリティと分析設定を管理する」を参照してください。 - 必要に応じて、アラートをフィルター処理するには、ドロップダウン メニューでフィルターを選び、適用するフィルターをクリックします。 検索バーにフィルターを入力することもできます。 アラートのフィルター処理と並べ替えについて詳しくは、「Dependabot alertsの優先順位付け」を参照してください。
- 表示するアラートをクリックします。
アラートの確認と修正
すべての依存関係にセキュリティ上の弱点がないことを確認することが重要です。 Dependabot によって依存関係で脆弱性 が検出された場合、プロジェクトの露出レベルを評価し、アプリケーションをセキュリティで保護するための修復手順を決定する必要があります。
依存関係の修正プログラムが適用されたバージョンを利用できる場合は、Dependabot pull request を生成して、Dependabot アラートからこの依存関係を直接更新できます。 Dependabot security updatesが有効になっている場合は、Dependabot アラートで Pull Request がリンクされている可能性があります。
修正プログラムが適用されたバージョンが利用できない場合や、セキュリティで保護されたバージョンに更新できない場合は、Dependabot によって追加情報が共有され、次の手順を決定できます。 Dependabot アラートをクリックして表示すると、影響を受ける関数を含め、依存関係に関するセキュリティ アドバイザリの詳細情報を確認できます。 これにより、自分のコードが、影響を受ける関数を呼び出すかどうかを確認できます。 この情報は、リスク レベルをさらに厳密に評価し、回避策を決定したり、セキュリティ アドバイザリによって表されるリスクを受け入れられるかどうかを判断したりするのに役立ちます。
脆弱性のある依存関係を修正する
-
アラートの詳細を表示します。 詳しい情報については、「Dependabot alerts の表示」 (上記) を参照してください。
-
Dependabot security updatesが有効になっている場合は、依存関係を修正する Pull Request へのリンクが存在する可能性があります。 または、アラートの詳細ページの上部にある [Dependabot セキュリティ更新プログラムを作成する] をクリックして Pull Request を作成することもできます。
-
Dependabot security updatesを使用しない場合は、必要に応じて、ページの情報を使用してアップグレード先の依存関係のバージョンを決定し、セキュリティで保護されたバージョンに依存関係を更新する Pull Request を作成することができます。
-
依存関係を更新して脆弱性を解決する準備ができたら、プルリクエストをマージしてください。
Dependabot によって発行される各 pull request には、Dependabot の制御に使用できるコマンドの情報が含まれています。 詳しくは、「依存関係の更新に関するPull Requestを管理する」を参照してください。
Dependabot alertsを無視する
ヒント: 無視できるのは、オープン アラートのみです。
依存関係をアップグレードするための広範な作業をスケジュールする場合や、アラートを修正する必要がないと判断した場合は、アラートを無視できます。 既に評価済みのアラートを無視すると、新しいアラートが表示されたときに簡単にトリアージできます。
-
アラートの詳細を表示します。 詳細については、「脆弱性のある依存関係を表示する」(上記) を参照してください。
-
[無視] ドロップダウンを選び、アラートを無視する理由をクリックします。 無視された未修正のアラートは、後でもう一度開くことができます。
クローズされたアラートの表示と更新
開いているすべてのアラートを表示し、以前に却下したアラートをもう一度開くことができます。 既に修復済みのクローズされたアラートをもう一度開くことはできません。
-
お使いの GitHub Enterprise Server インスタンス で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。
1. セキュリティの概要の [脆弱性アラート] サイド バーで、 [Dependabot] をクリックします。 このオプションがない場合は、セキュリティ アラートにアクセスできないため、アクセス権を付与する必要があることを意味します。 詳細については、「リポジトリのセキュリティと分析設定を管理する」を参照してください。 -
クローズされたアラートのみを表示するには、 [Closed] をクリックします。
-
表示または更新するアラートをクリックします。
-
必要に応じて、却下されたアラートを再度開く場合は、 [Reopen] をクリックします。 既に修正されたアラートをもう一度開くことはできません。
Dependabot alerts の監査ログの確認
組織またはエンタープライズのメンバーが Dependabot alerts に関連するアクションを実行した場合は、監査ログでそのアクションを確認できます。 ログにアクセスする方法については、「Organization の Audit log をレビューする」と「企業の監査ログにアクセスする
Dependabot alerts に関する監査ログのイベントには、だれがアクションを実行したか、何のアクションか、いつアクションを実行したか、などの詳細が含まれます。 Dependabot alerts アクションについて詳しくは、「Organization の監査ログ イベント」と「エンタープライズの監査ログ イベント」の repository_vulnerability_alert
カテゴリを参照してください。