Skip to main content

リポジトリ セキュリティ アドバイザリの公開

プロジェクト内のセキュリティ脆弱性についてコミュニティにアラートするため、セキュリティアドバイザリを公開できます。

セキュリティアドバイザリの管理者権限を持つユーザは、セキュリティアドバイザリを公開できます。

Note

この記事は、パブリック リポジトリの所有者としてのリポジトリ レベルのアドバイザリの編集に適用されます。

リポジトリの所有者ではないユーザーは、github.com/advisories にある GitHub Advisory Database のグローバル セキュリティ アドバイザリに貢献できます。 グローバル アドバイザリを編集しても、リポジトリでのアドバイザリの表示方法が変更されたり、影響を受けたりすることはありません。 詳しくは、「GitHub Advisory Database でのセキュリティ アドバイザリの編集」を参照してください。

前提条件

セキュリティアドバイザリを公開したり、CVE の ID 番号をリクエストしたりする前に、セキュリティアドバイザリのドラフトを作成し、セキュリティの脆弱性の影響を受けるプロジェクトのバージョンに関する情報を提供する必要があります。 詳しくは、「リポジトリ セキュリティ アドバイザリの作成」をご覧ください。

セキュリティアドバイザリを作成したが、セキュリティの脆弱性が影響を与えるプロジェクトのバージョンに関する詳細をまだ入力していない場合は、セキュリティアドバイザリを編集できます。 詳しくは、「リポジトリ セキュリティ アドバイザリの編集」をご覧ください。

セキュリティアドバイザリの公開について

セキュリティアドバイザリを公開すると、セキュリティアドバイザリが指定するセキュリティの脆弱性についてコミュニティに通知します。 セキュリティアドバイザリを公開すると、コミュニティがパッケージの依存関係を更新し、セキュリティの脆弱性の影響を調査しやすくなります。

リポジトリ セキュリティ アドバイザリを使い、すでに別の場所で公開したセキュリティ脆弱性の詳細をコピーして新しいセキュリティアドバイザリに貼り付けることにより、その詳細を再度公開できます。

セキュリティアドバイザリを公開する前に、一時的なプライベートフォークで、脆弱性を修正するため非公式でコラボレートできます。 詳しくは、「一時的なプライベート フォークで、リポジトリのセキュリティ脆弱性を解決するためにコラボレートする」をご覧ください。

Warning

可能であれば、必ずセキュリティ アドバイザリに修正バージョンを追加してから、そのアドバイザリを公開する必要があります。 そうしない場合、アドバイザリは修正バージョンなしで公開され、Dependabot は、更新する安全なバージョンを提供することなく、問題についてユーザに警告します。

このような状況では、次のステップを行うことをお勧めします。

  • 修正バージョンが利用可能な場合、可能であれば、修正の準備ができたときに問題を開示するのを待ちます。
  • 修正バージョンが開発中でまだ利用できない場合は、アドバイザリにその旨を記載し、公開後にアドバイザリを編集します。
  • 問題を修正する予定がない場合は、ユーザが修正時期を問い合わせることがないよう、アドバイザリに明示します。 この場合、ユーザが問題を軽減するときに使えるステップを含めると便利です。

パブリックリポジトリからドラフトアドバイザリを公開すると、すべてのユーザが次のことを確認できます。

  • アドバイザリデータの現在のバージョン。
  • クレジットされたユーザが受け入れたアドバイザリクレジット。

Note

一般ユーザーは、アドバイザリの編集履歴にアクセスすることはできず、公開されたバージョンのみを見ることができます。

セキュリティアドバイザリの URL は、セキュリティアドバイザリの公開後も公開前と同じままです。 リポジトリへの読み取りアクセス権を持つユーザは、セキュリティアドバイザリを閲覧することができます。 セキュリティアドバイザリのコラボレータは、管理者権限を持つユーザがコラボレータをセキュリティアドバイザリから削除しない限り、セキュリティアドバイザリでコメントストリーム全体を含む過去の会話を引き続き表示できます。

公開したセキュリティアドバイザリの情報をアップデートまたは修正する必要がある場合は、セキュリティアドバイザリを編集できます。 詳しくは、「リポジトリ セキュリティ アドバイザリの編集」をご覧ください。

セキュリティアドバイザリを公開する

セキュリティアドバイザリを公開すると、セキュリティアドバイザリの一時的なプライベートフォークが削除されます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [セキュリティ] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左側のサイドバーの [レポート] で、 [ アドバイザリ] をクリックします。

  4. [セキュリティアドバイザリ] の一覧で、公開するセキュリティ アドバイザリの名前をクリックします。

  5. アドバイザリ フォームの一番下までスクロールし、 [アドバイザリの公開] をクリックします。

    ドラフト セキュリティ アドバイザリの [必要なアドバイザリの情報が提供されました] 領域のスクリーンショット。 [アドバイザリの公開] ボタンが濃いオレンジ色で囲まれています。

Note

[Request CVE ID later] を選んだ場合は、[Publish advisory] ボタンの代わりに [Request CVE] ボタンが表示されます。 詳しくは、後の「CVE 識別番号をリクエストする (省略可能)」をご覧ください。

公開されたセキュリティアドバイザリの Dependabot alerts

GitHubは、公開されたそれぞれのセキュリティアドバイザリをレビューし、GitHub Advisory Databaseに追加し、そのセキュリティアドバイザリを使って影響されるリポジトリにDependabot alertsを送信することがあります。 セキュリティアドバイザリがフォークから生ずる場合、ユニークな名前の下でパブリックなパッケージレジストリに公開されたパッケージをフォークが所有しているときにのみアラートが送信されます。 このプロセスには最大で72時間がかかり、GitHubがさらなる情報を求めてあなたに連絡することがあります。

Dependabot alerts の詳細については、「Dependabot アラートについて」と「Dependabot のセキュリティ アップデート」を参照してください。 GitHub Advisory Database の詳細については、「GitHub Advisory Database でのセキュリティ アドバイザリの参照」を参照してください。

CVE 識別番号をリクエストする (省略可能)

プロジェクト中のセキュリティ脆弱性に対する CVE 識別番号が必要であり、まだ持っていない場合は、GitHub に CVE 識別番号を要求できます。 GitHubは通常、リクエストを72時間以内にレビューします。 CVE識別番号をリクエストしても、セキュリティアドバイザリはパブリックにはなりません。 セキュリティ アドバイザリが CVE の対象である場合、GitHub によってそのアドバイザリ用に CVE 識別番号が予約されます。 ユーザーがセキュリティ アドバイザリを公開した後、GitHub は CVE の詳細を公開します。 セキュリティ アドバイザリに対する管理者アクセス許可を持っているすべてのユーザーは、CVE 識別番号を要求できます。

使いたい CVE がすでにある場合は (たとえば、GitHub 以外の CVE Numbering Authority (CNA) を使う場合)、その CVE をセキュリティ アドバイザリ フォームに追加します。 これはたとえば、公開時に送信することを計画している他の通信先と、アドバイザリが一貫しているようにしたい場合に生じるかもしれません。 CVE が別の CNA によってカバーされている場合、GitHub ではプロジェクトにそれを割り当てることはできません。詳しくは、「リポジトリ セキュリティ アドバイザリについて」をご覧ください。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。

    タブを示すリポジトリ ヘッダーのスクリーンショット。 [セキュリティ] タブが濃いオレンジ色の枠線で強調表示されています。

  3. 左側のサイドバーの [レポート] で、 [ アドバイザリ] をクリックします。

  4. [セキュリティ アドバイザリ] の一覧で、CVE ID 番号を要求するセキュリティ アドバイザリの名前をクリックします。

  5. アドバイザリ フォームの一番下までスクロールし、 [CVE の要求] をクリックします。

    ドラフト セキュリティ アドバイザリの [必要なアドバイザリの情報が提供されました] 領域のスクリーンショット。 [CVE の要求] ボタンが濃いオレンジ色で囲まれています。

参考資料