リポジトリのセキュリティ設定の評価について
セキュリティ調査担当者は、パブリック リポジトリのセキュリティ設定を評価することで、リポジトリのセキュリティ態勢を理解できます。 この情報は、リポジトリの脆弱性を報告するなどして、リポジトリの保守担当者と協力するかどうかを決定するのに役立ちます。
リポジトリがパブリックの場合、リポジトリのセキュリティ設定に関する概要レベルの情報を誰でも利用できます。 たとえば、リポジトリにセキュリティ ポリシーがあるかどうかとか、プライベート脆弱性レポートが有効になっているかどうかを確認できます。 リポジトリの公開およびクローズされたセキュリティ アドバイザリを見ることもできます。 リポジトリにセキュリティ ポリシーが関連付けられていない場合は、ポリシーを提案できます。 リポジトリでプライベート脆弱性レポートが有効になっている場合は、リポジトリの保守担当者にセキュリティの脆弱性をプライベートに直接報告できます。
リポジトリに対する管理者権限を持っていて、リポジトリが Organization により所有されている場合は、セキュリティの概要でリポジトリのセキュリティ設定に関する詳細情報を確認できます。 セキュリティの概要について詳しくは、「セキュリティの概要について」をご覧ください。
リポジトリが非公開の場合は、リポジトリに対する管理者権限を持っている場合、またはリポジトリを対象とする特別なセキュリティ アクセス許可が付与されている場合 (たとえば、組織全体のセキュリティ マネージャーとして) にのみ、セキュリティ設定を確認できます。
リポジトリのセキュリティ態勢を大規模に評価する場合は、API を使用して、プライベート脆弱性レポートなど、リポジトリに対して一部のセキュリティの設定が有効になっているかどうかをチェックできます。 詳しくは、「リポジトリの REST API エンドポイント」を参照してください。
リポジトリのセキュリティ ポリシーの提案
パブリック リポジトリに対する管理者またはセキュリティのアクセス許可がない場合でも、セキュリティ ポリシーがまだない場合は、リポジトリの保守担当者にセキュリティ ポリシーを提案できます。 リポジトリの保守担当者は、提案を受け入れるか拒否するかを選べます。 リポジトリの保守担当者が提案を受け入れると、そのセキュリティ ポリシーはリポジトリに関連付けられます。
- GitHub で、リポジトリのメイン ページに移動します。
- リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。
- リポジトリにセキュリティ ポリシーがある場合は、それが表示されます。 リポジトリにセキュリティ ポリシーが関連付けられていない場合は、 [ポリシーの提案] をクリックします。
- リポジトリの既定のブランチに SECURITY.md ファイルが作成されます。 このファイルには、セキュリティ ポリシーのテンプレートが含まれます。 ファイルを編集して、推奨されたセキュリティ ポリシーを追加できます。
- 終わったら、 [変更のコミット] をクリックします。
- [変更のコミット] ダイアログに入力します。
- [コミット メッセージ] に、コミット メッセージを入力します。
- 必要に応じて、[詳細な説明] で、行われる変更について説明します。
- [このコミット用に新しいブランチを作成して、pull request を開始する] を選びます
- [Commit changes] をクリックします。
- [pull request の作成] をクリックします。
- コメントを残すこともできます。
- [pull request の作成] をクリックします。
リポジトリの脆弱性を報告する
パブリック リポジトリでの管理者またはセキュリティのアクセス許可がない場合でも、プライベート脆弱性レポートが有効になっている場合は、リポジトリ保守担当者にセキュリティの脆弱性を非公開で報告できます。 リポジトリの保守担当者は、レポートを受け入れるか拒否するかを選べます。 リポジトリの保守担当者がレポートを受け入れると、リポジトリに関するセキュリティ アドバイザリが作成されます。
注: リポジトリでプライベート脆弱性レポートが有効になっていない場合は、リポジトリのセキュリティ ポリシーの手順に従ってレポート プロセスを開始するか、優先されるセキュリティ連絡先を保守担当者に尋ねるイシューを作成する必要があります。 詳しくは、「セキュリティ脆弱性の調整された開示について」を参照してください。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリ名の下にある [ セキュリティ] をクリックします。 [セキュリティ] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [セキュリティ] をクリックします。
-
[脆弱性の報告] をクリックして、アドバイザリ フォームを開きます。
-
アドバイザリの詳細フォームに入力します。
ヒント: このフォームでは、タイトルと説明のみが必須です。 (リポジトリの保守担当者が開始する一般的なドラフト セキュリティ アドバイザリ フォームでは、エコシステムを指定する必要もあります)。ただし、セキュリティ リサーチャーは、送信されたレポートに関して保守担当者が情報に基づいた意思決定を行えるように、フォームにできるだけ多くの情報を提供することをお勧めします。 セキュリティ研究者が使ったテンプレートを、"
github/securitylab
リポジトリ" で利用できる GitHub Security Lab から採用できます。使用可能なフィールドと、フォームの入力に関するガイダンスについて詳しくは、「リポジトリ セキュリティ アドバイザリの作成」と「リポジトリ セキュリティ アドバイザリを作成するためのベスト プラクティス」をご覧ください。
-
フォームの下部にある [レポートの送信] をクリックします。 GitHub には、保守担当者に通知されたことと、このセキュリティ アドバイザリの保留中のクレジットがあることを知らせるメッセージが表示されます。
ヒント: レポートが送信されると、GitHub によって、コラボレーターとして、また提案されたアドバイザリのクレジット ユーザーとして脆弱性の報告者が自動的に追加されます。
-
必要に応じて、issue の解決を開始する場合は、 [一時的なプライベート フォークを開始する] をクリックします。 そのプライベート フォークからの変更を親リポジトリにマージできるのは、リポジトリ メンテナだけです。