GitHub セキュリティアドバイザリについて

GitHub Security Advisories を使用して、リポジトリにおけるセキュリティの脆弱性に関する情報を非公開で議論、修正、公開できます。

リポジトリに対する管理者権限があるユーザなら誰でも、セキュリティアドバイザリを作成できます。

リポジトリに対する管理者権限を持っている人は、そのリポジトリ内のすべてのセキュリティアドバイザリに対する管理権限も持ちます。 セキュリティアドバイザリに対する管理者権限を持っている人は、コラボレータを追加でき、コラボレータはセキュリティアドバイザリに対する書き込み権限を持ちます。

ノート: セキュリティの研究者は、管理していないリポジトリでは自分の代わりにセキュリティアドバイザリあるいはIssueを作成してもらうよう、メンテナに直接連絡すべきです。

GitHub Security Advisories について

脆弱性の開示は、セキュリティの研究者などの脆弱性の報告者とプロジェクトのメンテナとの間の協力が非常に重要な分野です。 潜在的に有害なセキュリティの脆弱性が見つかったときから、脆弱性が世界に向けて公開され、理想的にはパッチが利用可能になるまで、どちらも協力しあって作業しなければなりません。 通常は、誰かがメンテナに対してセキュリティの脆弱性について個人的に知らせると、メンテナはパッチを開発し、検証し、プロジェクトあるいはパッケージのユーザに通知します。 詳しい情報については「セキュリティ脆弱性の調整された開示について」を参照してください。

GitHub Security Advisories を使用すると、リポジトリメンテナがプロジェクトのセキュリティの脆弱性について非公開で議論し、修正できます。 リポジトリメンテナは、修正に協力した後、セキュリティアドバイザリを公開して、プロジェクトのコミュニティにセキュリティの脆弱性を公開します。 リポジトリメンテナは、セキュリティアドバイザリを公開することで、コミュニティがパッケージの依存関係を更新し、セキュリティの脆弱性の影響を調査しやすくなります。

GitHub Security Advisories では、次のことができます。

  1. セキュリティアドバイザリのドラフトを作成し、そのドラフトを用いて、プロジェクトに対する脆弱性の影響について非公開で議論します。 詳しい情報については、「セキュリティアドバイザリを作成する」を参照してください。
  2. 一時的なプライベートフォークで、脆弱性を修正するため非公式でコラボレートします。
  3. パッチがリリースされたら、脆弱性のコミュニティに警告するため、セキュリティアドバイザリを公開してください。 詳しい情報については、「セキュリティアドバイザリを公開する」を参照してください。

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

セキュリティアドバイザリに貢献した個人にクレジットを付与することができます。 詳しい情報については、「セキュリティアドバイザリを編集する」を参照してください。

セキュリティポリシーを作成して、プロジェクト中のセキュリティ脆弱性を報告するための指示を出すことができます。 詳しい情報については「リポジトリにセキュリティポリシーを追加する」を参照してください。

セキュリティアドバイザリをリポジトリ中で作成した場合、そのセキュリティアドバイザリはリポジトリに残ります。 依存関係グラフでサポートされているあらゆるエコシステムに対するセキュリティアドバイザリは、github.com/advisories上のGitHub Advisory Databaseに公開します。 特にnpmに対するものであるセキュリティアドバイザリについては、npmセキュリティアドバイザリにも公開します。 詳しい情報についてはnpmjs.com/advisoriesを参照してください。

GitHub Security Labに加わり、セキュリティ関連のトピックをブラウズし、セキュリティのツールやプロジェクトに貢献することもできます。

CVE 識別番号

GitHub Security Advisories は、共通脆弱性識別子(CVE) リストに基づいています。 GitHub上のセキュリティアドバイザリフォームは、CVEの記述フォーマットにマッチする標準化されたフォームです。

GitHub は CVE Numbering Authority (CNA) であり、CVE 識別番号を割り当てる権限があります。 詳細については、CVE Web サイトの「CVE について」および「CVE Numbering Authorities」を参照してください。

GitHub でパブリックリポジトリのセキュリティアドバイザリを作成する場合、セキュリティの脆弱性に対する既存の CVE 識別番号を提供するオプションがあります。 If you want a CVE identification number for the security vulnerability in your project, and don't already have one, you can request a CVE identification number from GitHub. GitHubは通常、リクエストを72時間以内にレビューします。 CVE識別番号をリクエストしても、セキュリティアドバイザリはパブリックにはなりません。 If your security advisory is eligible for a CVE, GitHub will reserve a CVE identification number for your advisory. We'll then publish the CVE details after you make your security advisory public. Anyone with admin permissions to a security advisory can request a CVE identification number.

If you already have a CVE you want to use, for example, if you use a CVE Numbering Authority (CNA) other than GitHub, add the CVE to the security advisory form. これはたとえば、公開時に送信することを計画している他の通信先と、アドバイザリが一貫しているようにしたい場合に生じるかもしれません。 GitHub cannot assign CVEs to your project if it is covered by another CNA.

セキュリティアドバイザリを公開し、GitHub が CVE 識別番号を脆弱性に割り当てたら、GitHub は CVE を MITER データベースに公開します。 詳しい情報については、「セキュリティアドバイザリを公開する」を参照してください。

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

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

Dependabotアラートに関する詳しい情報については、「脆弱性のある依存関係に対するアラートについて」 および「Dependabotセキュリティアップデートについて」を参照してください。 GitHub Advisory Databaseに関する詳しい情報については、「GitHub Advisory Databaseにおけるセキュリティ脆弱性をブラウズする」を参照してください。

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?