Skip to main content
ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

Dependabotアラートの表示と更新

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

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

リポジトリのDependabotアラートタブには、オープン及びクローズされたすべてのDependabotアラート及び対応するDependabotセキュリティアップデートがリストされます。 アラートはパッケージ、エコシステム、マニフェストでフィルタリングできます。 また、アラートのリストはソートでき、特定のアラートをクリックして詳細を見ていくことができます。 アラートを1つずつ、あるいは複数のアラートをまとめて選択して、却下したり再オープンしたりできます。 詳しい情報については、「Dependabotアラート について」を参照してください。

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

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

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

Dependabotアラートは、Dependabotアラートタブ内のドロップダウンメニューで、あるいは検索バーでkey:valueペアとしてフィルタを入力することで、ソートとフィルタリングできます。 利用できるフィルタはリポジトリ(たとえばrepo:my-repository)、パッケージ(たとえばpackage:django)、エコシステム(たとえばecosystem:npm)、マニフェスト(たとえばmanifest:webwolf/pom.xml)、ステータス(たとえばis:open)、アドバイザリがパッチを持っているか(たとえばhas: patch)です。

それぞれのDependabotアラートは一意の数値識別子を持っており、Dependabotアラートタブにはすべての検出された脆弱性もしくはマルウェアに対するアラートがリストされます。 旧来のDependabotアラートは依存関係で脆弱性をグループ化し、依存関係ごとに1つのアラートを生成しました。 旧来のDependabotアラートにアクセスすると、そのパッケージでフィルタされたDependabotアラートタブにリダイレクトされます。

脆弱性のある関数の呼び出しの検出について

ノート:

  • The detection of calls to vulnerable functions by Dependabot is in beta and subject to change.

  • Detection of vulnerable calls is included in GitHub Enterprise Cloud for public repositories. To detect vulnerable calls in private repositories owned by organizations, your organization must have a license for GitHub Advanced Security. 詳しい情報については、「GitHub Advanced Security について」を参照してください。

Dependabotが、リポジトリが脆弱性のある依存関係を使っていることを知らせてきた場合、どの機能が脆弱性を持っているかを判断し、それらを使っているかどうかをチェックしなければなりません。 この情報が得られたら、依存関係のセキュアなバージョンへのアップグレードの必要性の緊急度が判断できます。

サポートされている言語については、Dependabotは自動的に脆弱性のある関数を使っているかを自動的に検出し、影響されているアラートに"Vulnerable call(脆弱性のある呼び出し)" というラベルを追加します。 Dependabotアラートビュー内のこの情報を使って、修復作業をより効率的にトリアージして優先順位付けできます。

ノート: ベータリリースの間、この機能は2022年4月14日以降に生成された新規のPythonアドバイザリと、過去のPythonのアドバイザリの一部に対してのみ有効です。 GitHubは、さらなる過去のPythonアドバイザリにさかのぼってデータを加えていっています。これは、随時追加されていっています。 脆弱性のある呼び出しは、Dependabotアラートページ上でのみハイライトされます。

"Vulnerable call"ラベルの付いたアラート表示のスクリーンショット

検索フィールドでhas:vulnerable-callsフィルタを使い、少なくとも1つの脆弱性のある関数の呼び出しをDependabotが検出したところでだけアラートを表示するよう、ビューをフィルタリングできます。

脆弱性のある呼び出しが検出されたアラートについては、アラートの詳細ページに追加情報が表示されます。

  • 関数が使用されている場所を示す1つ以上のコードブロック。
  • 関数自体をリストしているアノテーション。関数が呼ばれている行へのリンク付きで。

"Vulnerable call"ラベルの付いたアラートのアラート詳細ページを表示しているスクリーンショット

詳しい情報については、下の「アラートのレビューと修正」を参照してください。

Dependabotアラートの表示

  1. GitHub.comで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Security(セキュリティ)をクリックしてください。 セキュリティのタブ
  3. セキュリティサイドバーで、Dependabotアラートをクリックしてください。 If this option is missing, it means you don't have access to security alerts and need to be given access. For more information, see "Managing security and analysis settings for your repository." Dependabotアラート tab
  4. あるいは、アラートをフィルタリングするには、Repository(リポジトリ)Package(パッケージ)Ecosystem(エコシステム)Manifest(マニフェスト)ドロップダウンメニューを選択し、続いて適用したいフィルタをクリックしてください。 検索バーにフィルタを入力することもできます。 たとえばecosystem:npmあるいはhas:patchといったようにです。 アラートをソートするには、Sort(ソート)ドロップダウンメニューを選択し、ソートの基準の選択肢をクリックしてください。 Screenshot of the filter and sort menus in the Dependabotアラート tab
  5. 表示したいアラートをクリックしてください。 Alert selected in list of alerts

アラートのレビューと修正

すべての依存関係がセキュリティの弱点を確実に持たないようにすることが重要です。 Dependabotが脆弱性もしくはマルウェアを依存関係に見つけた場合、プロジェクトの露出のレベルを評価し、アプリケーションをセキュアにするための修復ステップを決定しなければなりません。

依存関係のパッチされたバージョンが利用できるなら、Dependabot Pull Requestを生成し、Dependabotアラートから直接その依存関係を更新できます。 Dependabotセキュリティアップデートを有効にしているなら、Pull RequestはDependabotアラートとリンクされるかもしれません。

パッチが適用されたバージョンが利用できない場合、あるいはセキュアなバージョンへ更新できない場合、Dependabotは次のステップを判断するための役に立つ追加情報を共有します。 Dependabotアラートを見るためにクリックしていくと、影響される関数を含む依存関係に対するセキュリティアドバイザリの完全な詳細を見ることができます。 そして、自分のコードが影響を受けた関数を呼び出しているかをチェックできます。 この情報は、リスクレベルをさらに評価し、回避策を決めたり、あるいはそのセキュリティアドバイザリが示すリスクを受け入れることができるかどうかを決めるための役に立ちます。

サポートされている言語では、Dependabotは脆弱性のある関数の呼び出しを検出してくれます。 "Vulnerable call(脆弱性のある呼び出し)"というラベルの付いたアラートを見ると、関数名とそれを呼び出しているコードへのリンクを含む詳細が含まれています。 多くの場合、それ以上調べることなくこの情報に基づいて判断を下すことができるでしょう。

脆弱性のある依存関係の修復

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

  2. Dependabotセキュリティアップデートを有効にしているなら、その依存関係を修復するPull Requestへのリンクがあるかもしれません。 あるいは、アラートの詳細ページの上部にあるCreate Dependabot security updateをクリックして、Pull Requestを作成することもできます。 Dependabot セキュリティアップデートボタンを作成

  3. あるいは、Dependabotセキュリティアップデートを使っていないなら、ページにある情報を使ってアップグレードすべき依存関係のバージョンを判断し、セキュアなバージョンへ依存関係を更新するためのPull Requestを作成できます。

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

    Dependabotが発行したそれぞれのPull Requestには、Dependabotの制御に利用できるコマンドに関する情報が含まれています。 詳しい情報については「依存関係の更新のためのPull Requestの管理」を参照してください。

Dependabotアラートの却下

参考: 却下できるのはオープンなアラートのみです。

依存関係のアップグレードのための広汎な作業をスケジュールしていたり、アラートを修正する必要はないと判断したりした場合、アラートを却下できます。 すでに評価済みのアラートを却下すると、新しいアラートが現れたときにトリアージしやすくなります。

  1. アラートの詳細を表示させます。 詳しい情報については上の「脆弱性のある依存関係の表示」を参照してください。
  2. "Dismiss(却下)"ドロップダウンを選択し、アラートを却下する理由をクリックしてください。却下された未修正のアラートは、後で再度オープンできます。 [Dismiss] ドロップダウンでアラートを却下する理由を選択する

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

  1. オープンなDependabotアラートを表示させます。 詳しい情報については「Dependabotアラートの表示」を参照してください。
  2. あるいは、ドロップダウンメニューを選択し、適用したいフィルタをクリックして、アラートのリストをフィルタリングしてください。 検索バーにフィルタを入力することもできます。
  3. それぞれのアラートのタイトルの左で、却下したいアラートを選択してください。 チェックボックスが強調されたオープンなアラートのスクリーンショット
  4. あるいは、アラートのリストの上部で、ページ上のアラートをすべて選択してください。 すべてのオープンなアラートが選択されたスクリーンショット
  5. "Dismiss alerts(アラートを却下)"ドロップダウンを選択し、アラートを却下する理由をクリックしてください。 "Dismiss alerts"ドロップダウンが強調されたオープンなアラートページのスクリーンショット

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

参考: 再オープンできるアラートは、以前に却下したものだけです。 既に修復済みのクローズされたアラートは、再オープンできません。

  1. GitHub.comで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Security(セキュリティ)をクリックしてください。 セキュリティのタブ
  3. セキュリティサイドバーで、Dependabotアラートをクリックしてください。 If this option is missing, it means you don't have access to security alerts and need to be given access. For more information, see "Managing security and analysis settings for your repository." Dependabotアラート tab
  4. クローズされたアラートを表示だけするなら、Closed(クローズ済み)をクリックしてください。 Screenshot showing the "Closed" option
  5. 表示もしくは更新したいアラートをクリックしてください。 Screenshot showing a highlighted dependabot alert
  6. あるいはアラートが却下されていて、再度オープンしたい場合は、Reopen(再オープン)をクリックしてください。 既に修正済みのアラートは再オープンできません。 "Reopen"ボタンを表示しているスクリーンショット

複数のアラートを一度に再オープンする

  1. クローズされたDependabotアラートを表示してください。 詳しい情報については上の「クローズされたアラートの表示と更新」を参照してください。
  2. それぞれのアラートのタイトルの左で、再オープンしたいアラートを選択してください。 チェックボックスが強調されたクローズ済みアラートのスクリーンショット
  3. あるいは、アラートのリストの上部で、ページ上のクローズされたアラートをすべて選択してください。 すべてのアラートが選択されたクローズ済みアラートのスクリーンショット
  4. Reopen(再オープン)をクリックして、アラートを再オープンしてください。 既に修正済みのアラートは再オープンできません。 "Reopen"ボタンが強調されたクローズ済みアラートのスクリーンショット