Skip to main content

一時的なプライベート フォークで、リポジトリのセキュリティ脆弱性を解決するためにコラボレートする

リポジトリにおけるセキュリティ脆弱性の修正について非公開でコラボレートするため、一時的なプライベートフォークを作成できます。

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

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

前提条件

一時的なプライベートフォークでコラボレートする前に、ドラフトのセキュリティアドバイザリを作成する必要があります。 詳細については、「リポジトリ セキュリティ アドバイザリの作成」を参照してください。

一時的なプライベートフォークを作成する

セキュリティアドバイザリに対する管理者権限があるユーザなら誰でも、一時的なプライベートフォークを作成できます。

脆弱性についての情報を保護するため、CI を含むインテグレーションは、一時的なプライベートフォークにアクセスできません。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [Security](セキュリティ) をクリックします。 [セキュリティ] タブ 1. サイドバーで、 [セキュリティ アドバイザリ] をクリックします。 [セキュリティ アドバイザリ] タブ
  2. [Security Advisories] のリストから、一時的なプライベートフォークを作成するセキュリティアドバイザリをクリックします。 リスト内のセキュリティ アドバイザリ
  3. [新しい一時的なプライベートフォーク] をクリックします。 [新しい一時的なプライベートフォーク] ボタン

一時的なプライベートフォークにコラボレータを追加する

セキュリティアドバイザリの管理者権限を持つユーザは、セキュリティアドバイザリにコラボレータを追加でき、セキュリティアドバイザリのコラボレータは一時的なプライベートフォークにアクセスできます。 詳細については、「リポジトリ セキュリティ アドバイザリへのコラボレータの追加」を参照してください。

一時的なプライベートフォークに変更を追加する

セキュリティアドバイザリに対する管理者権限があるユーザなら誰でも、一時的なプライベートフォークに変更を追加できます。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [Security](セキュリティ) をクリックします。 [セキュリティ] タブ 1. サイドバーで、 [セキュリティ アドバイザリ] をクリックします。 [セキュリティ アドバイザリ] タブ
  2. [Security Advisories] のリストから、変更を追加するセキュリティアドバイザリをクリックします。 リスト内のセキュリティ アドバイザリ
  3. GitHub Enterprise Cloud またはローカルに変更を追加します:
    • GitHub Enterprise Cloud に変更を追加するには、[このアドバイザリに変更を追加する] で、 [一時的なプライベート フォーク] をクリックします。 そして、新しいブランチを作成し、ファイルを編集します。 詳細については、「リポジトリ内でブランチを作成および削除する」および「ファイルの編集」を参照してください。
    • ローカルで変更を追加するには、「クローンを作成して新しいブランチを作成する」および「変更を加えてからプッシュする」の手順に従ってください。 [このアドバイザリに変更を追加する] ボックス

一時的なプライベートフォークからプルリクエストを作成する

セキュリティアドバイザリに対する書き込み権限があるユーザなら誰でも、一時的なプライベートフォークからプルリクエストを作成できます。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [Security](セキュリティ) をクリックします。 [セキュリティ] タブ 1. サイドバーで、 [セキュリティ アドバイザリ] をクリックします。 [セキュリティ アドバイザリ] タブ
  2. [Security Advisories] のリストから、セキュリティアドバイザリを作成するプルリクエストをクリックします。 リスト内のセキュリティ アドバイザリ
  3. ブランチ名の右側にある [比較と pull request] をクリックします。 [比較と pull request] ボタン 1. プルリクエストのタイトルと説明を入力します。 pull request のタイトルと説明フィールド 1. レビューの準備が完了している pull request を作成するには、 [pull request の作成] をクリックします。 ドラフトの pull request を作成するには、ドロップダウンを使用して、 [ドラフトの pull request の作成] を選択し、 [ドラフトの pull request] をクリックします。 ドラフトの pull request の詳細については、「pull requests について」を参照してください。[pull request の作成] ボタン

一時的なプライベートフォーク内では、個々のプルリクエストをマージすることはできません。 その代わりに、対応するセキュリティアドバイザリ中ですべてのオープンなプルリクエストを一度にマージしてください。 詳細については、「変更をセキュリティ アドバイザリにマージする」を参照してください。

変更をセキュリティアドバイザリにマージする

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

一時的なプライベートフォーク内では、個々のプルリクエストをマージすることはできません。 その代わりに、対応するセキュリティアドバイザリ中ですべてのオープンなプルリクエストを一度にマージしてください。

セキュリティアドバイザリの変更をマージするには、一時的なプライベートフォークにあるすべてのオープンされたプルリクエストがマージできる必要があります。 マージコンフリクトは許容されません。また、ブランチ保護の要件を満たす必要があります。 脆弱性についての情報を保護するため、一時的なプライベートフォークにあるプルリクエストに対しては、ステータスチェックは実行されません。 詳細については、「保護されたブランチについて」を参照してください。

  1. GitHub.com で、リポジトリのメイン ページへ移動します。 1. リポジトリ名の下にある [Security](セキュリティ) をクリックします。 [セキュリティ] タブ 1. サイドバーで、 [セキュリティ アドバイザリ] をクリックします。 [セキュリティ アドバイザリ] タブ
  2. [Security Advisories] のリストから、変更をマージするセキュリティアドバイザリをクリックします。 リスト内のセキュリティ アドバイザリ
  3. 一時的なプライベート フォーク内にあるすべてのオープンされた pull request をマージするには、 [pull requests をマージする] をクリックします。 [pull request のマージ] ボタン

セキュリティアドバイザリの変更をマージした後は、プロジェクトの以前のバージョンにある脆弱性についてコミュニティにアラートするため、セキュリティアドバイザリを公開できます。 詳細については、「リポジトリ セキュリティ アドバイザリの公開」を参照してください。

参考資料