Skip to main content

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

Sie können eigene benutzerdefinierte Muster definieren, um die Funktionen von secret scanning zu erweitern, indem Sie einen oder mehrere reguläre Ausdrücke generieren.

Wer kann dieses Feature verwenden?

Repositorybesitzer, Organisationsbesitzer, Sicherheitsmanager, Unternehmensadministratoren und Benutzer mit der Administratorrolle

Benutzerdefinierte Muster für secret scanning sind für die folgenden Repositorys verfügbar:

  • Öffentliche, private und interne Repositorys in Organisationen, die GitHub Enterprise Cloud verwenden und GitHub Advanced Security aktiviert haben

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 finden Sie unter Unterstützte Scanmuster für geheime Schlüssel.

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.

Du kannst auch den Pushschutz für benutzerdefinierte Muster aktivieren. Weitere Informationen zum Pushschutz finden Sie unter Informationen zum Pushschutz.

Informationen zur Verwendung regulärer Ausdrücke für benutzerdefinierte Muster

Sie können benutzerdefinierte Muster für die secret scanning als einen oder mehrere reguläre Ausdrücke angeben.

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 finden Sie in der Hyperscan-Dokumentation unter Musterunterstützung.

Der Abschnitt Weitere Optionen in der Benutzeroberfläche hilft Ihnen beim manuellen Schreiben regulärer Ausdrücke.

  • 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 finden Sie unter Beispiel für ein benutzerdefiniertes Muster, das mithilfe zusätzlicher Anforderungen angegeben wird.

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 Aktivieren der Überprüfung auf geheime Schlüssel für Ihr Repository.

  1. Navigieren Sie auf GitHub 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. Geben Sie im Feld „Geheimes Format“ einen regulären Ausdruck für das Format Ihres geheimen Musters ein.
    3. Du kannst auf More options 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 Sie bereit sind, Ihr neues benutzerdefiniertes Muster zu testen, um Übereinstimmungen im Repository zu identifizieren, ohne Warnungen zu erstellen, klicken Sie 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.

  11. Klicke optional auf Aktivieren, um den Pushschutz für dein benutzerdefiniertes Muster zu aktivieren.

    Note

    Die Schaltfläche „Enable“ ist erst verfügbar, wenn der Testlauf erfolgreich war und du das Muster veröffentlichst.

    Weitere Informationen zum Pushschutz finden Sie unter Informationen zum Pushschutz.

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 finden Sie 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. Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.

  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. Klicken Sie unter „Geheimnisüberprüfung“ 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. Geben Sie im Feld „Geheimes Format“ einen regulären Ausdruck für das Format Ihres geheimen Musters ein.
    3. Du kannst auf More options 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.

  13. Klicke optional auf Aktivieren, um den Pushschutz für dein benutzerdefiniertes Muster zu aktivieren. Weitere Informationen finden Sie unter Informationen zum Pushschutz.

    Note

    • Die Option zum Aktivieren des Pushschutzes ist nur für veröffentlichte Muster sichtbar.
    • Der Pushschutz für benutzerdefinierte Muster wird nur auf Repositorys in deiner Organisation angewendet, bei denen die secret scanning als Pushschutz aktiviert ist. Weitere Informationen findest du unter Informationen zum Pushschutz.
    • Die Aktivierung des Pushschutzes für häufig vorkommende benutzerdefinierte Muster kann für Mitwirkende störend sein.

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 finden Sie 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 finden Sie unter Aktivieren von GitHub Advanced Security für dein Unternehmen.

Note

  • 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. Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.

    Screenshot des Dropdownmenüs, das angezeigt wird, wenn du auf GitHub Enterprise Server auf das Profilfoto klickst. Die Option „Unternehmenseinstellungen “ ist dunkelorange umrandet.

  2. Klicken Sie auf der linken Seite der Seite in der Randleiste des Enterprise-Kontos auf Richtlinien 1. Klicke unter „ Richtlinien“ auf Codesicherheit und -analyse.

  3. Klicke unter „Codesicherheit und -analyse“ auf Sicherheitsfeatures.

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

  5. 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. Geben Sie im Feld „Geheimes Format“ einen regulären Ausdruck für das Format Ihres geheimen Musters ein.
    3. Du kannst auf More options 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

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

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

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

  9. 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

  10. 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.

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

  12. Klicke optional auf Aktivieren, um den Pushschutz für dein benutzerdefiniertes Muster zu aktivieren. Weitere Informationen finden Sie unter Informationen zum Pushschutz.

    Note

    • Um den Pushschutz für benutzerdefinierte Muster zu aktivieren, muss die secret scanning als Pushschutz auf Unternehmensebene aktiviert werden. Weitere Informationen findest du unter Informationen zum Pushschutz.
    • Die Aktivierung des Pushschutzes für häufig vorkommende benutzerdefinierte Muster kann für Mitwirkende störend sein.

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 finden Sie unter Verwalten von Warnungen aus der Geheimnisüberprüfung.

Weitere Informationen