About custom patterns for secret scanning
You can define custom patterns to identify secrets that are not detected by the default patterns supported by secret scanning. For example, you might have a secret pattern that is internal to your organization. For details of the supported secrets and service providers, see Unterstützte Scanmuster für geheime Schlüssel.
You can define custom patterns for your enterprise, organization, or repository. Secret scanning supports up to 500 custom patterns for each organization or enterprise account, and up to 100 custom patterns per repository.
You can also enable push protection for custom patterns. For more information about push protection, see Informationen zum Pushschutz.
About using regular expressions for custom patterns
You can specify custom patterns for secret scanning as one or more regular expressions.
Secret scanning uses the Hyperscan library and only supports Hyperscan regex constructs, which are a subset of PCRE syntax. Hyperscan option modifiers are not supported. For more information on Hyperscan pattern constructs, see Pattern support in the Hyperscan documentation.
Regular expressions can be entered manually or generated using Copilot Geheimnisüberprüfung's Generator für reguläre Ausdrücke.
Regular expression syntax for manually defining custom patterns
The More options section in the UI helps you write regular expressions manually.
- Secret format: an expression that describes the format of the secret itself.
- Before secret: an expression that describes the characters that come before the secret. By default, this is set to
\A|[^0-9A-Za-z]which means that the secret must be at the start of a line or be preceded by a non-alphanumeric character. - After secret: an expression that describes the characters that come after the secret. By default, this is set to
\z|[^0-9A-Za-z]which means that the secret must be followed by a new line or a non-alphanumeric character. - Additional match requirements: one or more optional expressions that the secret itself must or must not match.
For simple tokens you will usually only need to specify a secret format. The other fields provide flexibility so that you can specify more complex secrets without creating complex regular expressions. For an example of a custom pattern, see Example of a custom pattern specified using additional requirements below.
Using Copilot Geheimnisüberprüfung's Generator für reguläre Ausdrücke
Der Generator für reguläre Ausdrücke von Copilot Geheimnisüberprüfung verwendet ein generatives KI-Modell, bei dem du eine Textbeschreibung des Mustertyps einschließlich optionaler Beispielzeichenfolgen eingibst, die erkannt werden sollen. Das Modell gibt bis zu drei reguläre Ausdrücke zurück, die Sie überprüfen können. For more information, see Responsible generation of regular expressions with Copilot secret scanning and Generating regular expressions for custom patterns with Copilot secret scanning.
Defining a custom pattern for a repository
Before defining a custom pattern, you must ensure that Secret Protection is enabled on your repository. For more information, see Enabling secret scanning for your repository.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Klicke unter dem Repositorynamen auf Settings. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

-
Klicke im Abschnitt „Security“ der Randleiste auf Advanced Security.
-
Under "Secret Protection", to the right of "Custom patterns", click New pattern.
-
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.
- Gib im Feld „Mustername“ einen Namen für dein Muster ein.
- Geben Sie im Feld „Geheimes Format“ einen regulären Ausdruck für das Format Ihres geheimen Musters ein. Alternativ können Sie den Generator verwenden, um einen regulären Ausdruck für Sie zu generieren. Weitere Informationen findest du unter Generating regular expressions for custom patterns with Copilot secret scanning.
- Du kannst auf More options klicken, um weitere umgebende Inhalte oder zusätzliche Übereinstimmungsanforderungen für das Geheimnisformat bereitzustellen.
- Gib eine Beispieltestzeichenfolge an, um sicherzustellen, dass deine Konfiguration den erwarteten Mustern entspricht.

-
When you're ready to test your new custom pattern, to identify matches in the repository without creating alerts, click Save and dry run.
-
Wenn der Probelauf abgeschlossen ist, wird eine Auswahl der Ergebnisse (bis zu 1000) angezeigt. Überprüfe die Ergebnisse, und identifiziere alle falsch positiven Ergebnisse.

-
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.
-
Wenn du mit deinem neuen benutzerdefinierten Muster zufrieden bist, klicke auf Muster veröffentlichen.
-
Optionally, to enable push protection for your custom pattern, click Enable.
Hinweis
The "Enable" button isn't available until after the dry run succeeds and you publish the pattern.
For more information about push protection, see Informationen zum Pushschutz.
After your pattern is created, secret scanning sucht in Ihrem gesamten Git-Verlauf auf allen Branches, die in Ihrem GitHub-Repository vorhanden sind, nach Geheimnissen. For more information on viewing Warnungen zur Geheimnisüberprüfung, see Verwalten von Warnungen aus der Geheimnisüberprüfung.
Example of a custom pattern specified using additional requirements
A company has an internal token with five characteristics. They use the different fields to specify how to identify tokens as follows:
| Characteristic | Field and regular expression |
|---|---|
| Length between 5 and 10 characters | Secret format: [$#%@AA-Za-z0-9]{5,10} |
Does not end in a . | After secret: [^\.] |
| Contains numbers and uppercase letters | Additional requirements: secret must match [A-Z] and [0-9] |
| Does not include more than one lowercase letter in a row | Additional requirements: secret must not match [a-z]{2,} |
Contains one of $%@! | Additional requirements: secret must match [$%@!] |
These tokens would match the custom pattern described above:
a9@AAfT! # Secret string match: a9@AAfT
ee95GG@ZA942@aa # Secret string match: @ZA942@a
a9@AA!ee9 # Secret string match: a9@AA
These strings would not match the custom pattern described above:
a9@AA.!
a@AAAAA
aa9@AA!ee9
aAAAe9
Defining a custom pattern for an organization
Before defining a custom pattern, you must ensure that you enable secret scanning for the repositories that you want to scan in your organization. You can use security configurations to enable secret scanning on all repositories in your organization. For more information, see Informationen zum Aktivieren von Sicherheitsfeatures im großen Stil.
-
Klicke in der rechten oberen Ecke von GitHub auf dein Profilbild und dann auf Your organizations.
-
Klicke neben der Organisation auf Einstellungen.
-
In the "Security" section of the sidebar, select the Advanced Security dropdown menu, then click Global settings.
-
Klicken Sie unter „Benutzerdefinierte Muster“ auf Neues Muster.
-
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.
- Gib im Feld „Mustername“ einen Namen für dein Muster ein.
- Geben Sie im Feld „Geheimes Format“ einen regulären Ausdruck für das Format Ihres geheimen Musters ein. Alternativ können Sie den Generator verwenden, um einen regulären Ausdruck für Sie zu generieren. Weitere Informationen findest du unter Generating regular expressions for custom patterns with Copilot secret scanning.
- Du kannst auf More options klicken, um weitere umgebende Inhalte oder zusätzliche Übereinstimmungsanforderungen für das Geheimnisformat bereitzustellen.
- Gib eine Beispieltestzeichenfolge an, um sicherzustellen, dass deine Konfiguration den erwarteten Mustern entspricht.

-
When you're ready to test your new custom pattern, to identify matches in select repositories without creating alerts, click Save and dry run.
-
Wähle die Repositorys aus, in denen du den Probelauf ausführen möchtest.
- Um den Probelauf in der gesamten Organisation auszuführen, wählen Sie 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.
-
Klicke auf Ausführen, wenn du bereit bist, das neue benutzerdefinierte Muster zu testen.
-
Wenn der Probelauf abgeschlossen ist, wird eine Auswahl der Ergebnisse (bis zu 1000) angezeigt. Überprüfe die Ergebnisse, und identifiziere alle falsch positiven Ergebnisse.

-
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.
-
Wenn du mit deinem neuen benutzerdefinierten Muster zufrieden bist, klicke auf Muster veröffentlichen.
-
Optionally, to enable push protection for your custom pattern, click Enable. For more information, see Informationen zum Pushschutz.
Hinweis
- 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 finden Sie unter Informationen zum Pushschutz.
- Die Aktivierung des Pushschutzes für häufig vorkommende benutzerdefinierte Muster kann für Mitwirkende störend sein.
After your pattern is created, secret scanning scans for any secrets in repositories in your organization, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found and can review the alert in the repository where the secret is found. For more information on viewing Warnungen zur Geheimnisüberprüfung, see Verwalten von Warnungen aus der Geheimnisüberprüfung.
Defining a custom pattern for an enterprise account
Hinweis
- At the enterprise level, only the creator of a custom pattern can edit the pattern, and use it in a dry run.
- 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 finden Sie unter Verwalten deiner Rolle in einer Organisation, die deinem Unternehmen gehört.
-
Klicke auf GitHub in der oberen rechten Ecke auf dein Profilbild.
-
Klicken Sie je nach Ihrer Umgebung auf "Enterprise", oder klicken Sie auf " Unternehmen ", und klicken Sie dann auf das Unternehmen, das Sie anzeigen möchten.
-
Klicke oben auf der Seite auf Policies.
-
Klicke unter „Policies“ auf Advanced Security.
-
Under "Advanced Security", click Security features.
-
Under "Secret scanning custom patterns", click New pattern.
-
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.
- Gib im Feld „Mustername“ einen Namen für dein Muster ein.
- Geben Sie im Feld „Geheimes Format“ einen regulären Ausdruck für das Format Ihres geheimen Musters ein. Alternativ können Sie den Generator verwenden, um einen regulären Ausdruck für Sie zu generieren. Weitere Informationen findest du unter Generating regular expressions for custom patterns with Copilot secret scanning.
- Du kannst auf More options klicken, um weitere umgebende Inhalte oder zusätzliche Übereinstimmungsanforderungen für das Geheimnisformat bereitzustellen.
- Gib eine Beispieltestzeichenfolge an, um sicherzustellen, dass deine Konfiguration den erwarteten Mustern entspricht.

-
When you're ready to test your new custom pattern, to identify matches in the enterprise without creating alerts, click Save and dry run.
-
Du kannst nach Repositorys suchen und bis zu zehn Repositorys für den Probelauf auswählen.
-
Klicke auf Ausführen, wenn du bereit bist, das neue benutzerdefinierte Muster zu testen.
-
Wenn der Probelauf abgeschlossen ist, wird eine Auswahl der Ergebnisse (bis zu 1000) angezeigt. Überprüfe die Ergebnisse, und identifiziere alle falsch positiven Ergebnisse.

-
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.
-
Wenn du mit deinem neuen benutzerdefinierten Muster zufrieden bist, klicke auf Muster veröffentlichen.
-
Optionally, to enable push protection for your custom pattern, click Enable. For more information, see Informationen zum Pushschutz.
Hinweis
- Um den Pushschutz für benutzerdefinierte Muster zu aktivieren, muss die secret scanning als Pushschutz auf Unternehmensebene aktiviert werden. Weitere Informationen finden Sie unter Informationen zum Pushschutz.
- Die Aktivierung des Pushschutzes für häufig vorkommende benutzerdefinierte Muster kann für Mitwirkende störend sein.
After your pattern is created, secret scanning scans for any secrets in repositories within your organizations with GitHub Secret Protection enabled, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found, and can review the alert in the repository where the secret is found. For more information on viewing Warnungen zur Geheimnisüberprüfung, see Verwalten von Warnungen aus der Geheimnisüberprüfung.