Skip to main content

リポジトリ セキュリティ アドバイザリの作成

セキュリティアドバイザリのドラフトを作成して、オープンソースプロジェクトのセキュリティ脆弱性について非公開で議論して修正することができます。

この機能を使用できるユーザーについて

Anyone with admin permissions to a public repository, or with a security manager role within the repository, can create a security advisory.

注: セキュリティ研究者の場合は、保守担当者に直接連絡して、自分が管理していないリポジトリで自分に代わってセキュリティ アドバイザリを作成または CVE を発行するように依頼する必要があります。 しかし、リポジトリに対してプライベート脆弱性レポートが有効になっている場合は、脆弱性を自分で_個人的に_報告できます。 詳しくは、「セキュリティの脆弱性を非公開で報告する」を参照してください。

セキュリティ アドバイザリの作成

REST API を使って、リポジトリ セキュリティ アドバイザリを作成することもできます。 詳しくは、「リポジトリ セキュリティ アドバイザリ用の REST API エンドポイント」を参照してください。

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

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

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

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

  4. [新しいドラフト セキュリティ アドバイザリ] をクリックし、ドラフト アドバイザリ フォームを開きます。 アスタリスクが付いているフィールドは必須です。

  5. [タイトル] フィールドに、セキュリティ アドバイザリのタイトルを入力します。

  6. [CVE 識別子] ドロップダウン メニューを使って、CVE 識別子を既に持っているか、後で GitHub に要求する予定かを指定します。 既存の CVE 識別子がある場合は、 [既存の CVE 識別子を持っています] を選んで [既存の CVE] フィールドを表示し、そのフィールドに CVE 識別子を入力します。 詳しくは、「リポジトリ セキュリティ アドバイザリについて」を参照してください。

  7. [説明] フィールドに、その影響、使用できるパッチまたは回避策、参照先など、このセキュリティの脆弱性の説明を入力します。

  8. [影響を受ける製品] には、このセキュリティ アドバイザリで説明するセキュリティの脆弱性について、エコシステム、パッケージ名、影響を受ける/パッチが適用されたバージョン、脆弱性のある機能を定義します。 該当する場合は、 [別の影響を受ける製品を追加する] を選んで、複数の影響を受ける製品を同じアドバイザリに追加できます。

    影響を受けるバージョンを含む、フォームの情報の指定方法については、「リポジトリ セキュリティ アドバイザリを作成するためのベスト プラクティス」を参照してください。

  9. [重大度] ドロップダウン メニューを使って、セキュリティの脆弱性の重大度を定義します。 CVSS スコアを計算する場合は、 [CVSS を使用して重大度を評価する] を選び、計算ツールで適切な値を選びます。 GitHub は共通脆弱性スコアリング システム計算ツールに従ってスコアを計算します。

  10. [脆弱性] の [共通脆弱性タイプ一覧] フィールドに、このセキュリティ アドバイザリが報告するセキュリティの脆弱性の種類を表す共通脆弱性タイプ一覧 (CWE) を入力します。 CWE の完全な一覧については、MITRE の「Common Weakness Enumeration」を参照してください。

  11. 必要に応じて、[クレジット] で GitHub ユーザー名、GitHub アカウントに関連付けられている電子メール アドレス、またはフル ネームを検索してクレジットを追加します。

    • クレジットの種類を割り当てるには、クレジットを割り当てるユーザーの名前の横にあるドロップダウン メニューを使用します。 クレジットの種類について詳しくは、「リポジトリ セキュリティ アドバイザリのクレジットについて」セクションをご覧ください。

      ドラフト セキュリティ アドバイザリのスクリーンショット。 [クレジットの種類の選択] というラベルが付いたドロップダウン メニューがオレンジ色の枠線で強調表示されています。

    • 必要に応じて、他のユーザーを削除するには、クレジットの種類の横にある をクリックします。

  12. [セキュリティ アドバイザリのドラフトの作成] をクリックします。

[Credits] セクションに記載されているユーザは、クレジットを受け入れるように勧めるメールまたは Web 通知を受信します。 受け入れた場合、セキュリティアドバイザリが公開されると、そのユーザ名が公開されます。

リポジトリ セキュリティ アドバイザリのクレジットについて

セキュリティの脆弱性の発見、報告、修正を支援してくれたユーザにクレジットを付与することができます。 ユーザにクレジットを付与すると、相手はそのクレジットを受け入れるか拒否するかを選択できます。

さまざまな種類のクレジットをユーザーに割り当てることができます。

クレジットの種類理由
Finder脆弱性を特定します
レポーターCNA の脆弱性をベンダーに通知します
アナリスト脆弱性を検証して、精度または重大度を確認します
コーディネーター調整された応答プロセスを簡単に行えるようにします
修復開発者コード変更やその他の修復プランを準備します
修復レビュー担当者脆弱性の修復プランやコードの変更をレビューして、有効性と完全性を確認します
修復検証ツール脆弱性またはその修復をテストして検証します
ツール脆弱性の検出または識別に使用されるツールの名前
スポンサー脆弱性の識別または修復アクティビティをサポートします

相手がクレジットを受け入れると、そのユーザのユーザ名がセキュリティアドバイザリの [Credits] セクションに表示されます。 リポジトリへの読み取りアクセスを持つユーザは、アドバイザリとそれに対するクレジットを受け入れたユーザを確認することができます。

注: セキュリティ アドバイザリに自分がクレジットされるべきであると考える場合、そのアドバイザリの作成者に連絡し、そのアドバイザリを編集してあなたへのクレジットを含めてもらうように頼んでください。 あなたをクレジットできるのはアドバイザリの作成者だけなので、セキュリティ アドバイザリでのクレジットについては GitHub Support に問い合わせないようにしてください。

次の手順