Skip to main content

セキュリティの脆弱性を非公開で報告する

一部のパブリック リポジトリでは、セキュリティ アドバイザリを構成して、誰もがセキュリティの脆弱性を直接、または非公開で保守担当者に報告できるようにします。

パブリック リポジトリの所有者と管理者は、リポジトリでプライベート脆弱性レポートを有効にすることができます。 詳しくは、「リポジトリのプライベート脆弱性レポートの構成」を参照してください。

注:

  • パブリック リポジトリの管理者またはセキュリティのアクセス許可がある場合、脆弱性レポートを送信する必要はありません。 代わりに、ドラフト セキュリティ アドバイザリを直接作成できます。 詳しくは、「リポジトリ セキュリティ アドバイザリの作成」を参照してください。
  • リポジトリの脆弱性を非公開で報告できるかどうかは、そのリポジトリのルートや docs ディレクトリに SECURITY.md ファイルが存在することとは関係がありません。
    • SECURITY.md ファイルにはリポジトリのセキュリティ ポリシーが含まれています。 リポジトリ管理者はこのファイルを追加し、使うことで、リポジトリのセキュリティの脆弱性を報告する方法について_公開_の手順を指定できます。 詳しくは、「リポジトリへのセキュリティ ポリシーの追加」を参照してください。
    • 脆弱性を非公開で報告できるのは、非公開の脆弱性レポートが有効なリポジトリに対してのみであり、SECURITY.mdファイルの指示に従う必要はありません。 この報告プロセスは完全に非公開であり、送信内容は GitHub からリポジトリ管理者に直接通知されます。

セキュリティの脆弱性を非公開で報告する方法について

セキュリティ リサーチャーは、多くの場合、脆弱性についてユーザーに通知しなくてはならないと感じますが、脆弱性は悪用されることがあります。 脆弱性を含むリポジトリのメンテナンス担当者に連絡するための明確な指示がない場合は、セキュリティ リサーチャーが、その脆弱性についてソーシャル メディアに投稿したり、メンテナンス担当者にダイレクト メッセージを送信したり、イシューを作成して公開したりするしかない場合があります。 このような状況では、脆弱性の詳細が広く知れわたってしまう可能性があります。

プライベート脆弱性レポートを使用すると、セキュリティ リサーチャーは簡単なフォームを使用してリポジトリの保守担当者に脆弱性を直接報告できます。

セキュリティ リサーチャーの場合、プライベート脆弱性レポートを使うと次のような利点があります。

  • フラストレーションが少なく、保守担当者に連絡する方法を把握するのに費やす時間も少なくなります。
  • 脆弱性の詳細を開示して話し合うためのよりスムーズなプロセス。
  • リポジトリ メンテナと非公開で脆弱性の詳細について話し合う機会。

注: リポジトリでプライベート脆弱性レポートが有効になっていない場合は、リポジトリのセキュリティ ポリシーの手順に従ってレポート プロセスを開始するか、優先されるセキュリティ連絡先を保守担当者に尋ねるイシューを作成する必要があります。 詳しくは、「セキュリティ脆弱性の調整された開示について」を参照してください。

セキュリティの脆弱性を非公開で報告する

パブリック リポジトリでプライベート脆弱性レポートが有効になっている場合は、全員がリポジトリ メンテナに、セキュリティの脆弱性をプライベートに報告できます。 また、パブリック リポジトリの一般的なセキュリティを評価して、セキュリティ ポリシーを提案することもできます。 詳しくは、「リポジトリのセキュリティ設定を評価する」を参照してください。

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

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

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

  3. [脆弱性の報告] をクリックして、アドバイザリ フォームを開きます。

  4. アドバイザリの詳細フォームに入力します。

    ヒント: このフォームでは、タイトルと説明のみが必須です。 (リポジトリの保守担当者が開始する一般的なドラフト セキュリティ アドバイザリ フォームでは、エコシステムを指定する必要もあります)。ただし、セキュリティ リサーチャーは、送信されたレポートに関して保守担当者が情報に基づいた意思決定を行えるように、フォームにできるだけ多くの情報を提供することをお勧めします。 セキュリティ研究者が使ったテンプレートを、"github/securitylab リポジトリ" で利用できる GitHub Security Lab から採用できます。

    使用可能なフィールドと、フォームの入力に関するガイダンスについて詳しくは、「リポジトリ セキュリティ アドバイザリの作成」と「リポジトリ セキュリティ アドバイザリを作成するためのベスト プラクティス」をご覧ください。

  5. フォームの下部にある [レポートの送信] をクリックします。 GitHub には、保守担当者に通知されたことと、このセキュリティ アドバイザリの保留中のクレジットがあることを知らせるメッセージが表示されます。

    ヒント: レポートが送信されると、GitHub によって、コラボレーターとして、また提案されたアドバイザリのクレジット ユーザーとして脆弱性の報告者が自動的に追加されます。

  6. 必要に応じて、issue の解決を開始する場合は、 [一時的なプライベート フォークを開始する] をクリックします。 そのプライベート フォークからの変更を親リポジトリにマージできるのは、リポジトリ メンテナだけです。

    セキュリティ アドバイザリの下部のスクリーンショット。 [一時的なフォークを開始する] というラベルが付いたボタンが濃いオレンジ色の枠線で囲まれています。

次の手順は、リポジトリの保守担当者によって実行されるアクションによって異なります。 詳しくは、「非公開で報告されたセキュリティの脆弱性の管理」を参照してください。