Skip to main content

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

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

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

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

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

前提条件

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. On GitHub.com, navigate to the main page of the repository. 1. リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブ 1. 左側のサイドバーの [レポート] で、 [アドバイザリ] をクリックします。 [セキュリティ アドバイザリ] タブ
  2. [Security Advisories] のリストから、公開するセキュリティアドバイザリをクリックします。 リスト内のセキュリティ アドバイザリ
  3. ページの下部にある [アドバイザリの公開] をクリックします。 [アドバイザリの公開] ボタン

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

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

Dependabot alerts について詳しくは、「Dependabot alerts について」および「Dependabot security updates について」を参照してください。 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. On GitHub.com, navigate to the main page of the repository. 1. リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブ 1. 左側のサイドバーの [レポート] で、 [アドバイザリ] をクリックします。 [セキュリティ アドバイザリ] タブ
  2. [Security Advisories] のリストから、CVE 識別番号をリクエストするセキュリティアドバイザリをクリックします。 リスト内のセキュリティ アドバイザリ
  3. [アドバイザリの公開] ドロップダウン メニューを使用して、 [CVE の要求] をクリックします。 ドロップダウンの [CVE の要求]
  4. [CVE の要求] をクリックします。 [CVE の要求] ボタン

参考資料