Skip to main content

Definieren von benutzerdefinierten Mustern für die Geheimnisüberprüfung

Du kannst secret scanning erweitern, um Geheimnisse zu erkennen, die über die Standardmuster hinausgehen.

Secret scanning ist für organisationseigene Repositorys in GitHub Enterprise Server verfügbar, wenn dein Unternehmen über eine Lizenz für GitHub Advanced Security verfügt. Weitere Informationen findest du unter Informationen zur Geheimnisüberprüfung und Informationen zu GitHub Advanced Security.

Informationen zu benutzerdefinierten Mustern für secret scanning

Du kannst benutzerdefinierte Muster definieren, um Geheimnisse zu identifizieren, die nicht von den Standardmustern erkannt werden, die von secret scanning unterstützt werden. Beispielsweise hast du möglicherweise ein geheimes Muster, das intern für deine Organisation ist. Weitere Informationen zu den unterstützten Geheimnissen und Dienstanbietern findest du unter Geheimnisüberprüfungsmuster.

Du kannst benutzerdefinierte Muster für dein Unternehmen, deine Organisation oder dein Repository definieren. Secret scanning unterstützt bis zu 500 benutzerdefinierte Muster für jedes Organisations- oder Unternehmenskonto und bis zu 100 benutzerdefinierte Muster pro Repository.

Syntax regulärer Ausdrücke für benutzerdefinierte Muster

Du kannst benutzerdefinierte Muster für die secret scanning als einen oder mehrere reguläre Ausdrücke angeben.

  • Geheimnisformat: ein Ausdruck, der das Format des Geheimnisses selbst beschreibt.
  • Vor dem Geheimnis: ein Ausdruck, der die Zeichen beschreibt, die vor dem Geheimnis kommen. Dies ist standardmäßig auf \A|[^0-9A-Za-z] festgelegt, was bedeutet, dass das Geheimnis am Anfang einer Zeile sein muss oder ihm ein nicht alphanumerisches Zeichen vorangestellt werden muss.
  • Nach dem Geheimnis: ein Ausdruck, der die Zeichen beschreibt, die nach dem Geheimnis kommen. Dies ist standardmäßig auf \z|[^0-9A-Za-z] festgelegt, was bedeutet, dass dem Geheimnis eine neue Zeile oder ein nicht alphanumerisches Zeichen folgen muss.
  • Zusätzliche Übereinstimmungsanforderungen: mindestens ein optionaler Ausdruck, dem das Geheimnis entsprechen muss oder nicht entsprechen darf.

Für einfache Token musst du normalerweise nur ein Geheimnisformat angeben. Die anderen Felder bieten Flexibilität, sodass du komplexere Geheimnisse angeben kannst, ohne komplexe reguläre Ausdrücke zu erstellen. Ein Beispiel für ein benutzerdefiniertes Muster findest du unter Beispiel für ein benutzerdefiniertes Muster, das mithilfe zusätzlicher Anforderungen angegeben wird.

Secret scanning verwendet die Hyperscan-Bibliothek und unterstützt nur Hyperscan-RegEx-Konstrukte, die eine Teilmenge der PCRE-Syntax sind. Hyperscan-Optionsmodifizierer werden nicht unterstützt. Weitere Informationen zu Hyperscan-Musterkonstrukten findest du in der Hyperscan-Dokumentation unter Musterunterstützung.

Definieren eines benutzerdefinierten Musters für ein Repository

Bevor du ein benutzerdefiniertes Muster definierst, musst du sicherstellen, dass secret scanning im Repository aktiviert ist. Weitere Informationen findest du unter Konfigurieren der Geheimnisüberprüfung für deine Repositorys.

  1. Navigiere auf deine GitHub Enterprise Server-Instanz zur Hauptseite des Repositorys.

  2. Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus. Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke im Abschnitt „Sicherheit“ auf der Randleiste auf Codesicherheit und -analyse.

  4. Suche unter „Codesicherheit und Analyse“ GitHub Advanced Security".

  5. Klicke unter Secret scanning unter „Benutzerdefinierte Muster“ auf Neues Muster.

  6. Gib die Details für dein neues benutzerdefiniertes Muster ein. Du musst zumindest den Namen für dein Muster und einen regulären Ausdruck für das Format deines geheimen Musters angeben.

    1. Gib im Feld „Mustername“ einen Namen für dein Muster ein.
    2. Gib im Feld „Geheimnisformat“ einen regulären Ausdruck für das Format deines Geheimnismusters ein.
    3. Du kannst auf Weitere Optionen klicken, um andere umgebende Inhalte oder zusätzliche Übereinstimmungsanforderungen für das geheime Format bereitzustellen.
    4. Gib eine Beispieltestzeichenfolge an, um sicherzustellen, dass deine Konfiguration den erwarteten Mustern entspricht.

    Screenshot: ausgefülltes benutzerdefiniertes secret scanning-Musterformular

  7. Wenn du bereit bist, dein neues benutzerdefiniertes Muster zu testen, um Übereinstimmungen im Repository zu identifizieren, ohne Warnungen zu erstellen, klicke auf Save and dry run (Speichern und Probelauf).

  8. Wenn der Probelauf abgeschlossen ist, wird eine Auswahl der Ergebnisse (bis zu 1000) angezeigt. Überprüfe die Ergebnisse, und identifiziere alle falsch positiven Ergebnisse. Screenshot mit Ergebnissen aus dem Probelauf

  9. Bearbeite das neue benutzerdefinierte Muster, um Probleme mit den Ergebnissen zu beheben, und klicke dann auf Speichern und Probelauf ausführen, um deine Änderungen zu testen.

  10. Wenn du mit deinem neuen benutzerdefinierten Muster zufrieden bist, klicke auf Muster veröffentlichen.

Nachdem dein Muster erstellt wurde, secret scanning sucht in Ihrem gesamten Git-Verlauf auf allen Branches, die in Ihrem GitHub-Repository vorhanden sind, nach Geheimnissen. Weitere Informationen zum Anzeigen von Warnungen zur Geheimnisüberprüfung findest du unter Verwalten von Warnungen aus der Geheimnisüberprüfung.

Beispiel für ein benutzerdefiniertes Muster, das mithilfe zusätzlicher Anforderungen angegeben ist

Ein Unternehmen verfügt über ein internes Token mit fünf Merkmalen. Du verwendest die verschiedenen Felder, um anzugeben, wie Token wie folgt identifiziert werden:

MerkmalFeld und regulärer Ausdruck
Länge zwischen 5 und 10 ZeichenGeheimnisformat: [$#%@AA-Za-z0-9]{5,10}
Endet nicht mit .Nach dem Geheimnis: [^\.]
Enthält Zahlen und GroßbuchstabenZusätzliche Anforderungen: Geheimnis muss mit [A-Z] und [0-9] übereinstimmen
Enthält nicht mehr als einen Kleinbuchstaben in einer ZeileZusätzliche Anforderungen: Geheimnis darf nicht mit [a-z]{2,} übereinstimmen
Enthält eines der folgenden Zeichen: $%@!Zusätzliche Anforderungen: Geheimnis muss mit [$%@!] übereinstimmen

Diese Token entsprechen dem oben beschriebenen benutzerdefinierten Muster:

a9@AAfT!         # Secret string match: a9@AAfT
ee95GG@ZA942@aa  # Secret string match: @ZA942@a
a9@AA!ee9        # Secret string match: a9@AA

Diese Zeichenfolgen entsprechen nicht dem oben beschriebenen benutzerdefinierten Muster:

a9@AA.!
a@AAAAA
aa9@AA!ee9
aAAAe9

Definieren eines benutzerdefinierten Musters für eine Organisation

Bevor du ein benutzerdefiniertes Muster definierst, musst du sicherstellen, dass du secret scanning für die Repositorys aktivierst, die du in deiner Organisation überprüfen möchtest. Informationen zum Aktivieren von secret scanning für alle Repositorys in deiner Organisation findest du unter Verwalten von Sicherheits- und Analyseeinstellungen für deine Organisation.

  1. Klicke in der oberen rechten Ecke von GitHub Enterprise Server auf dein Profilfoto, und klicke dann auf Deine Organisationen.

    Screenshot des Dropdownmenüs unter dem Profilbild von @octocat. „Deine Organisationen“ ist in dunklem Orange eingerahmt.

  2. Klicke neben der Organisation auf Einstellungen.

  3. Klicke im Abschnitt „Sicherheit“ auf der Randleiste auf Codesicherheit und -analyse.

  4. Suche unter „Codesicherheit und Analyse“ GitHub Advanced Security".

  5. Klicke unter Secret scanning unter „Benutzerdefinierte Muster“ auf Neues Muster.

  6. Gib die Details für dein neues benutzerdefiniertes Muster ein. Du musst zumindest den Namen für dein Muster und einen regulären Ausdruck für das Format deines geheimen Musters angeben.

    1. Gib im Feld „Mustername“ einen Namen für dein Muster ein.
    2. Gib im Feld „Geheimnisformat“ einen regulären Ausdruck für das Format deines Geheimnismusters ein.
    3. Du kannst auf Weitere Optionen klicken, um andere umgebende Inhalte oder zusätzliche Übereinstimmungsanforderungen für das geheime Format bereitzustellen.
    4. Gib eine Beispieltestzeichenfolge an, um sicherzustellen, dass deine Konfiguration den erwarteten Mustern entspricht.

    Screenshot: ausgefülltes benutzerdefiniertes secret scanning-Musterformular

  7. Wenn du bereit bist, dein neues benutzerdefiniertes Muster zu testen, um Übereinstimmungen in bestimmten Repositorys zu identifizieren, ohne Warnungen zu erstellen, klicke auf Save and dry run (Speichern und Probelauf).

  8. Wähle die Repositorys aus, in denen du den Probelauf ausführen möchtest.

    • Um den Probelauf in der gesamten Organisation auszuführen, wähle Alle Repositorys in der Organisation aus.
    • Wenn du die Repositorys angeben möchtest, in denen der Probelauf ausgeführt werden soll, klicke auf Ausgewählte Repositorys, suche dann bis zu 10 Repositorys, und wähle sie aus.
  9. Klicke auf Ausführen, wenn du bereit bist, das neue benutzerdefinierte Muster zu testen.

  10. Wenn der Probelauf abgeschlossen ist, wird eine Auswahl der Ergebnisse (bis zu 1000) angezeigt. Überprüfe die Ergebnisse, und identifiziere alle falsch positiven Ergebnisse. Screenshot mit Ergebnissen aus dem Probelauf

  11. Bearbeite das neue benutzerdefinierte Muster, um Probleme mit den Ergebnissen zu beheben, und klicke dann auf Speichern und Probelauf ausführen, um deine Änderungen zu testen.

  12. Wenn du mit deinem neuen benutzerdefinierten Muster zufrieden bist, klicke auf Muster veröffentlichen.

Nachdem dein Muster erstellt wurde, sucht die secret scanning nach Geheimnissen in Repositorys in deiner Organisation, einschließlich ihres gesamten Git-Verlaufs auf allen Branches. Organisationsbesitzer und Repositoryadministratoren erhalten Warnungen zu allen gefundenen Geheimnissen und können die Warnung im Repository überprüfen, in dem das Geheimnis gefunden wurde. Weitere Informationen zum Anzeigen von Warnungen zur Geheimnisüberprüfung findest du unter Verwalten von Warnungen aus der Geheimnisüberprüfung.

Definieren eines benutzerdefinierten Musters für ein Unternehmenskonto

Bevor du ein benutzerdefiniertes Muster definierst, musst du sicherstellen, dass du die Geheimnisüberprüfung für dein Unternehmenskonto aktivierst. Weitere Informationen findest du unter Aktivieren von GitHub Advanced Security für dein Unternehmen.

Hinweise:

  • Auf Unternehmensebene kann nur der Ersteller eines benutzerdefinierten Musters das Muster bearbeiten und in einem Probelauf verwenden.
  • Du kannst einen Testlauf nur für Repositorys ausführen, auf die du Administratorzugriff hast. Unternehmensbesitzer*innen, die Zugriff zum Ausführen von Testläufen für ein Repository in einer Organisation wünschen, muss die Rolle „Organisationsbesitzer“ zugewiesen sein. Weitere Informationen findest du unter Verwalten deiner Rolle in einer Organisation, die deinem Unternehmen gehört.
  1. Klicke oben rechts auf GitHub Enterprise Server auf dein Profilfoto und dann auf Unternehmenseinstellungen.

    Screenshot des Dropdownmenüs, das angezeigt wird, wenn Sie auf GitHub Enterprise Server auf das Profilfoto klicken. Die Option „Unternehmenseinstellungen“ ist dunkelorange hervorgehoben.

  2. Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.

  3. Wähle unter „ Richtlinien“ die Option Erweiterte Sicherheit aus.

  4. Klicke unter „Erweiterte GitHub-Sicherheit“ auf die Registerkarte Sicherheitsfeatures.

  5. Klicke unter „Benutzerdefinierte Muster zur Geheimnisüberprüfung“ auf Neues Muster.

  6. Gib die Details für dein neues benutzerdefiniertes Muster ein. Du musst zumindest den Namen für dein Muster und einen regulären Ausdruck für das Format deines geheimen Musters angeben.

    1. Gib im Feld „Mustername“ einen Namen für dein Muster ein.
    2. Gib im Feld „Geheimnisformat“ einen regulären Ausdruck für das Format deines Geheimnismusters ein.
    3. Du kannst auf Weitere Optionen klicken, um andere umgebende Inhalte oder zusätzliche Übereinstimmungsanforderungen für das geheime Format bereitzustellen.
    4. Gib eine Beispieltestzeichenfolge an, um sicherzustellen, dass deine Konfiguration den erwarteten Mustern entspricht.

    Screenshot: ausgefülltes benutzerdefiniertes secret scanning-Musterformular

  7. Wenn du dein neues benutzerdefiniertes Muster testen möchtest, um Übereinstimmungen im Unternehmen zu identifizieren, ohne Warnungen zu erstellen, klicke auf Speichern und Probelauf.

  8. Du kannst nach Repositorys suchen und bis zu zehn Repositorys für den Probelauf auswählen.

  9. Klicke auf Ausführen, wenn du bereit bist, das neue benutzerdefinierte Muster zu testen.

  10. Wenn der Probelauf abgeschlossen ist, wird eine Auswahl der Ergebnisse (bis zu 1000) angezeigt. Überprüfe die Ergebnisse, und identifiziere alle falsch positiven Ergebnisse. Screenshot mit Ergebnissen aus dem Probelauf

  11. Bearbeite das neue benutzerdefinierte Muster, um Probleme mit den Ergebnissen zu beheben, und klicke dann auf Speichern und Probelauf ausführen, um deine Änderungen zu testen.

  12. Wenn du mit deinem neuen benutzerdefinierten Muster zufrieden bist, klicke auf Muster veröffentlichen.

Nachdem dein Muster erstellt wurde, sucht die secret scanning nach Geheimnissen in Repositorys in den Organisationen deines Unternehmens, bei denen GitHub Advanced Security aktiviert ist, einschließlich ihres gesamten Git-Verlaufs auf allen Branches. Organisationsbesitzer und Repositoryadministratoren erhalten Warnungen zu allen gefundenen Geheimnissen und können die Warnung im Repository überprüfen, in dem das Geheimnis gefunden wurde. Weitere Informationen zum Anzeigen von Warnungen zur Geheimnisüberprüfung findest du unter Verwalten von Warnungen aus der Geheimnisüberprüfung.

Bearbeiten eines benutzerdefinierten Musters

Wenn du eine Änderung an einem benutzerdefinierten Muster speicherst, werden alle Warnungen zur Geheimnisüberprüfung geschlossen, die mit der vorherigen Version des Musters erstellt wurden.

  1. Navigiere zu der Stelle, an der das benutzerdefinierte Muster erstellt wurde. Ein benutzerdefiniertes Muster kann in einem Repository, einer Organisation oder einem Unternehmenskonto erstellt werden.
  2. Klicke unter „Secret scanning“ rechts neben dem benutzerdefinierten Muster, das du bearbeiten möchtest, auf .
  3. Wenn du bereit bist, dein bearbeitetes benutzerdefiniertes Muster zu testen, um Übereinstimmungen zu identifizieren, ohne Warnungen zu erstellen, klicke auf Speichern und Probelauf.
  4. Wenn du deine Änderungen überprüft und getestet hast, klicke auf Änderungen veröffentlichen.

Entfernen eines benutzerdefinierten Musters

  1. Navigiere zu der Stelle, an der das benutzerdefinierte Muster erstellt wurde. Ein benutzerdefiniertes Muster kann in einem Repository, einer Organisation oder einem Unternehmenskonto erstellt werden.
  2. Klicke rechts neben dem benutzerdefinierten Muster, das du entfernen möchtest, auf .
  3. Überprüfe die Bestätigung, und wähle eine Methode für den Umgang mit geöffneten Warnungen im Zusammenhang mit dem benutzerdefinierten Muster aus.
  4. Klicke auf Ja, dieses Muster löschen.