Skip to main content

Zusammenarbeit in einem temporären privaten Fork, um eine Sicherheitslücke im Repository zu beheben

Du kannst einen temporären privaten Fork erstellen, um privat an der Behebung einer Sicherheitslücke in Deinem öffentlichen Repository zusammenzuarbeiten.

Hinweis: Dieser Artikel gilt für die Bearbeitung von Empfehlungen auf Repositoryebene als Repositorybesitzer.

Benutzer, die keine Repositorybesitzer sind, können zu globalen Sicherheitsempfehlungen in der GitHub Advisory Database unter github.com/advisories beitragen. Die Bearbeitung globaler Empfehlungen hat keine Auswirkungen auf die Darstellung der Empfehlung im Repository. Weitere Informationen findest du unter Bearbeiten von Sicherheitshinweisen in GitHub Advisory Database.

Voraussetzungen

Bevor Du in einem temporären privaten Fork zusammenarbeiten kannst, musst Du einen Entwurf des Sicherheitshinweises erstellen. Weitere Informationen findest du unter Erstellen einer Sicherheitsempfehlung für ein Repository.

Einen temporären privaten Fork erstellen

Jeder, der über Administratorberechtigungen für einen Sicherheitshinweis verfügt, kann einen temporären privaten Fork erstellen.

Um Informationen zu Schwachstellen zu schützen, können Integrationen, darunter auch CI, nicht auf temporäre private Forks zugreifen.

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys.

  2. Wähle unter dem Repositorynamen die Option Sicherheit aus. Wenn die Registerkarte „Sicherheit“ nicht angezeigt wird, wähle im Dropdownmenü die Option Sicherheit aus.

    Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Sicherheit“ ist dunkelorange umrandet.

  3. Wähle auf der linken Randleiste unter „Berichterstellung“ die Option Empfehlungen aus.

  4. Wähle in der Liste „Sicherheitshinweise“ den Hinweis aus, in dem du einen temporären privaten Fork erstellen möchtest.

  5. Scrolle zum Ende des Formulars mit den Hinweisen, und wähle Mit temporärem privatem Fork beginnen aus.

    Screenshot des Bereichs „Privat an einem Patch zusammenarbeiten“ des Formulars. Eine Schaltfläche „Mit temporärem privatem Fork beginnen“ ist dunkel orange umrandet.

    Ein privater Fork des Repositorys wird erstellt und auf der Seite mit den Hinweisen angezeigt.

    Die Namenskonvention für den privaten Fork ähnelt der Konvention, die für Empfehlungen in GitHub Advisory Database verwendet wird, und folgt dem Format repo-ghsa-xxxx-xxxx-xxxx, wobei Folgendes gilt:

    • repo ist der Name des Repositorys. Um unter dem Grenzwert von 100 Zeichen für Repositorynamen zu bleiben, kürzt du den Namen des ursprünglichen Repositorys auf 80 Zeichen.
    • xxxx-xxxx-xxxx ist der eindeutige Bezeichner der Entwurfssicherheitsempfehlung:
      • x ist ein Buchstabe oder eine Zahl aus der folgenden Gruppe: 23456789cfghjmpqrvwx.
      • Die Zahlen und Buchstaben werden nach dem Zufallsprinzip zugewiesen.
      • Alle Buchstaben sind Kleinbuchstaben.

Wenn du beispielsweise einen temporären privaten Fork in einem Repository namens octocat-repo erstellst und die automatisch generierte ID für die Entwurfsempfehlung GHSA-x854-cvjg-vx26 lautet, wird der temporäre Fork als octocat-repo-ghsa-x854-cvjg-vx26 bezeichnet.

Sie können auch die REST-API verwenden, um temporäre private Forks zu erstellen. Weitere Informationen finden Sie in der REST-API-Dokumentation unter Erstellen eines temporären privaten Forks.

Mitarbeiter zu einem temporären privaten Fork hinzufügen

Personen mit Administratorberechtigungen für einen Sicherheitshinweis können zusätzliche Mitarbeiter zum Hinweis hinzufügen, und Mitarbeiter auf dem Sicherheitshinweis können auf den temporären privaten Fork zugreifen. Weitere Informationen findest du unter Hinzufügen eines Mitarbeiters zu einem Repository-Sicherheitshinweis.

Änderungen an einem temporären privaten Fork vornehmen

Alle Benutzer*innen, die Schreibzugriff auf einen Sicherheitshinweis haben, können Änderungen an einem temporären privaten Fork committen und so an einem Patch mitarbeiten.

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys.

  2. Wähle unter dem Repositorynamen die Option Sicherheit aus. Wenn die Registerkarte „Sicherheit“ nicht angezeigt wird, wähle im Dropdownmenü die Option Sicherheit aus.

    Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Sicherheit“ ist dunkelorange umrandet.

  3. Wähle auf der linken Randleiste unter „Berichterstellung“ die Option Empfehlungen aus.

  4. Wähle in der Liste „Sicherheitshinweise“ den Hinweis aus, an dem du arbeiten möchtest.

  5. Du kannst deine Änderungen auf GitHub oder lokal vornehmen:

    • Um Änderungen auf GitHub vorzunehmen, wähle unter „An einem Patch zusammenarbeiten“ den Link den temporären privaten Fork aus. Erstelle dann einen neuen Branch, und bearbeite die Dateien. Weitere Informationen findest du unter Erstellen und Löschen von Branches in deinem Repository und unter Bearbeiten von Dateien.
    • Um Änderungen lokal hinzuzufügen, folge den Anweisungen unter „Clone and create a new branch" (Klone und erstelle einen neuen Branch) und „Make your changes, then push" (Änderungen vornehmen, dann übertragen).

    Screenshot des Bereichs „An einem Patch zusammenarbeiten“ im Entwurf eines Sicherheitshinweises. Der Link „den temporären privaten Fork“ ist dunkelorange umrandet.

Einen Pull Request von einem temporären privaten Fork erstellen

Jeder, der Schreibzugriff auf einen Sicherheitshinweis hat, kann einen Pull Request von einem temporären privaten Fork erstellen.

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys.

  2. Wähle unter dem Repositorynamen die Option Sicherheit aus. Wenn die Registerkarte „Sicherheit“ nicht angezeigt wird, wähle im Dropdownmenü die Option Sicherheit aus.

    Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Sicherheit“ ist dunkelorange umrandet.

  3. Wähle auf der linken Randleiste unter „Berichterstellung“ die Option Empfehlungen aus.

  4. Wähle in der Liste „Sicherheitshinweise“ den Namen des Hinweises aus, in dem du einen Pull Request erstellen möchtest.

  5. Scrolle zum Ende des Formulars mit den Hinweisen. Wähle dann unter „An einem Patch zusammenarbeiten“ die Option Vergleichen und Pull Request aus, um einen Pull Request für den zugehörigen Branch zu erstellen.

    Screenshot des Bereichs „An einem Patch zusammenarbeiten“ für den Entwurf eines Sicherheitshinweises. Die Schaltfläche „Vergleichen und Pull Request“ ist dunkelorange umrandet.
    „Pull Request öffnen“ enthält einen Header mit den Branches, die beim Erstellen des Pull Requests in einem Vergleich der Dreipunkt-Git-Diff mit dem erstellten Pull Request verglichen werden. Weitere Informationen findest du unter Informationen zum Vergleich von Branches in Pull Requests.

  6. Klicke zum Erstellen eines Pull Requests, der überprüft werden kann, auf Pull Request erstellen. Verwende zum Erstellen eines Pull Request-Entwurfs das Dropdownmenü. Wähle Pull Request-Entwurf erstellen aus, und klicke anschließend auf Pull Request-Entwurf. Weitere Informationen zu Pull Requests-Entwürfen findest du unter Informationen zu Pull Requests.

Du kannst individuelle Pull Requests nicht in einer temporären, privaten Fork zusammenführen. Stattdessen führst Du alle offenen Pull Requests gleichzeitig im entsprechenden Sicherheitshinweis zusammen. Weitere Informationen findest du unter Zusammenführen von Änderungen in einem Sicherheitshinweis.

Änderungen in einem Sicherheitshinweis zusammenführen

Jeder, der Administratorberechtigungen für einen Sicherheitshinweis hat, kann Änderungen im Hinweis zusammenführen.

Du kannst individuelle Pull Requests nicht in einer temporären, privaten Fork zusammenführen. Stattdessen führst Du alle offenen Pull Requests gleichzeitig im entsprechenden Sicherheitshinweis zusammen.

Bevor Du Änderungen in einem Sicherheitshinweis zusammenführen kannst, muss jeder offene Pull Request in der temporären privaten Fork zusammenführbar sein. Um Informationen zu Schwachstellen zu schützen, sind Statuschecks auf Pull Requests in temporären privaten Forks nicht ausführbar. Weitere Informationen findest du unter Informationen zu geschützten Branches.

Darüber hinaus können keine Mergekonflikte auftreten, und GitHub erzwingt keine der Schutzregeln, die du möglicherweise für den Branch, in dem die Änderungen zusammengeführt werden sollen, festgelegt hast.

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys.

  2. Wähle unter dem Repositorynamen die Option Sicherheit aus. Wenn die Registerkarte „Sicherheit“ nicht angezeigt wird, wähle im Dropdownmenü die Option Sicherheit aus.

    Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Sicherheit“ ist dunkelorange umrandet.

  3. Wähle auf der linken Randleiste unter „Berichterstellung“ die Option Empfehlungen aus.

  4. Wähle in der Liste „Sicherheitshinweise“ den Namen des Hinweises mit den Änderungen aus, die du zusammenführen möchtest.

  5. Scrolle zum Ende des Formulars mit den Hinweisen. Wähle dann unter „Dieser Hinweis ist bereit für die Zusammenführung“ die Option Pull Request(s) zusammenführen aus, um alle offenen Pull Requests im temporären privaten Fork zusammenzuführen.

    Screenshot des Bereichs „An einem Patch zusammenarbeiten“ im Entwurf eines Sicherheitshinweises. Die Schaltfläche „Pull Requests zusammenführen“ ist dunkelorange umrandet.

Hinweis: Du kannst nur einen Pull Request im main-Branch eines temporären privaten Forks zusammenführen. Wenn der main-Branch für mehr als einen Pull Request als Ziel festgelegt ist, wird die Zusammenführung blockiert.

Nach dem Zusammenführen von Änderungen in einem Sicherheitshinweis kannst Du den Hinweis veröffentlichen, um Deine Community vor der Sicherheitslücke in früheren Versionen Deines Projekts zu warnen. Weitere Informationen findest du unter Veröffentlichen einer Sicherheitsempfehlung für ein Repository.

Weiterführende Themen