
Erkenne und validiere über 500 Arten von hartkodierten Geheimnissen mit erweiterten Prüfungen. Nutze es als Pre-Commit-Hook, GitHub Action oder CLI zur proaktiven Geheimniserkennung und Sicherheit.
ggshield ist eine CLI-Anwendung, die in Ihrer lokalen Umgebung oder in einer CI-Umgebung läuft, um Ihnen zu helfen, mehr als 500+ Arten von Geheimnissen zu erkennen.
ggshield nutzt unsere öffentliche API über py-gitguardian, um Dateien und andere Textinhalte zu scannen und potenzielle Schwachstellen zu erkennen.
Bei Scans mit ggshield werden nur Metadaten wie Aufrufzeit, Anfragegröße und Scanmodus gespeichert. Daher werden Geheimnisse nicht in Ihrem Dashboard angezeigt und Ihre Dateien und Geheimnisse werden nicht gespeichert.
Der schnellste Weg, ggshield zu installieren.
Linux / macOS:
curl -sSfL \
https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.sh | bash
Windows (PowerShell):
irm https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.ps1 | iex
Oder, wenn Sie curl bevorzugen (in Windows 10+ enthalten):
curl.exe -sSL https://raw.githubusercontent.com/GitGuardian/ggshield/main/scripts/install/install.ps1 | powershell -NoProfile -ExecutionPolicy Bypass -Command -
Das Skript akzeptiert Optionen wie --instance und --plugin (Installation eines
Plugins). Für den EU-Arbeitsbereich oder eine selbstgehostete Instanz setzen Sie die
Umgebungsvariable GITGUARDIAN_INSTANCE (oder übergeben Sie --instance <URL>)
vor der Ausführung.
Siehe scripts/install/README.md für die vollständige Liste
der Optionen, die anderen Installationsmethoden und Informationen zur Deinstallation.
Die folgenden Methoden installieren die CLI stattdessen manuell.
Sie können ggshield mit Homebrew installieren:
brew install ggshield
Updates werden von Homebrew verwaltet.
Alternativ können Sie ein standalone .pkg-Paket von der ggshield-Release-Seite herunterladen und installieren.
Dieses Paket erfordert keine Installation von Python, aber Sie müssen neue Versionen manuell herunterladen.
Deb- und RPM-Pakete sind auf Cloudsmith verfügbar.
Einrichtungsanleitungen:
Updates werden vom Paketmanager verwaltet.
ggshield ist über den Chocolatey-Paketmanager verfügbar:
choco install ggshield
Laden Sie den MSI-Installer von der ggshield-Release-Seite herunter und installieren Sie ihn:
msiexec /i ggshield-VERSION-x86_64-pc-windows-msvc.msi
Wir stellen ein standalone .zip-Archiv auf der ggshield-Release-Seite bereit.
Entpacken Sie das Archiv auf Ihrer Festplatte und fügen Sie das Verzeichnis mit der ggshield.exe-Datei zu %PATH% hinzu.
Dieses Archiv erfordert keine Installation von Python, aber Sie müssen neue Versionen manuell herunterladen.
ggshield kann auf allen unterstützten Betriebssystemen über sein PyPI-Paket installiert werden.
Es erfordert eine unterstützte Version von Python (nicht EOL) (außer für standalone Pakete) und git.
Wenn Sie keine unserer paketierten Versionen von ggshield verwenden, beachten Sie bitte, dass wir dem Python-Release-Zyklus folgen und keine Versionen unterstützen, die das EOL erreicht haben.
Die empfohlene Methode zur Installation von ggshield von PyPI ist die Verwendung von pipx. Dadurch wird es in einer isolierten Umgebung installiert:
pipx install ggshield
Um Ihre Installation zu aktualisieren, führen Sie folgenden Befehl aus:
pipx upgrade ggshield
Sie können ggshield auch mit pip von PyPI installieren, dies wird jedoch nicht empfohlen, da die Installation nicht isoliert ist und andere auf diese Weise installierte Anwendungen oder Pakete Ihre ggshield-Installation beeinträchtigen können. Diese Methode funktioniert auch nicht, wenn Ihre Python-Installation als extern verwaltet deklariert ist (z. B. bei Verwendung des systemeigenen Python auf Betriebssystemen wie Debian 12):
pip install --user ggshield
Um Ihre Installation zu aktualisieren, führen Sie folgenden Befehl aus:
pip install --user --upgrade ggshield
ggshield auth loginUm ggshield zu verwenden, müssen Sie sich gegenüber den GitGuardian-Servern authentifizieren. Verwenden Sie dazu den Befehl ggshield auth login. Dieser Befehl automatisiert die Bereitstellung eines persönlichen Zugriffstokens und dessen Konfiguration auf der lokalen Workstation.
Weitere Informationen finden Sie in der ggshield auth login-Dokumentation.
Sie können Ihr persönliches Zugriffstoken auch manuell erstellen und in der Umgebungsvariable GITGUARDIAN_API_KEY speichern, um die Einrichtung abzuschließen.
Sie können jetzt ggshield verwenden, um nach Geheimnissen zu suchen:
ggshield secret scan path -r .ggshield secret scan repo .docker muss verfügbar sein): ggshield secret scan docker ubuntu:22.04pip muss verfügbar sein): ggshield secret scan pypi flaskggshield secret scan --help für Details.Wenn ggshield meldet, dass Ihre .gitguardian.yaml- (oder .gitguardian.yml-) Konfigurationsdatei ein veraltetes Format verwendet, migrieren Sie sie mit folgendem Befehl auf die neueste Version:
ggshield config migrate
Standardmäßig sucht dieser Befehl nach der Konfigurationsdatei im aktuellen Verzeichnis. Führen Sie ihn daher von dem Verzeichnis aus, das die Datei enthält. Um ihn von einem beliebigen Ort auszuführen, weisen Sie ggshield explizit auf die Datei hin:
ggshield --config-path path/to/.gitguardian.yaml config migrate
Die vorherige Version der Datei wird als .old-Sicherung daneben behalten.
Sie können ggshield in Ihren CI/CD-Workflow integrieren.
Um Fehler frühzeitig zu erkennen, verwenden Sie ggshield als Pre-Commit-, Pre-Push- oder Pre-Receive-Git-Hook.
ggshield kann Interaktionen zwischen Ihnen und Ihrem KI-Coding-Assistenten in Echtzeit scannen und Aktionen blockieren, die Geheimnisse enthalten, bevor sie ausgeführt werden.
Sie können die Hooks mit dem Befehl ggshield install installieren.
Unterstützte Tools: Cursor, Claude Code, Copilot Chat und Codex.
Weitere Informationen finden Sie in der Dokumentation
Wenn keine Geheimnisse gefunden wurden, ist der Exit-Code 0:
ggshield secret scan pre-commit
Wenn ein Geheimnis in Ihrem bereitzustellenden Code oder in Ihrer CI gefunden wird, erhalten Sie eine Warnung mit dem Dateinamen, in dem das Geheimnis gefunden wurde, sowie einen Patch, der die Position des Geheimnisses in der Datei angibt:
ggshield secret scan pre-commit
2 incidents have been found in file production.rb
11 | config.paperclip_defaults = {
12 | :s3_credentials => {
13 | :bucket => "XXX",
14 | :access_key_id => "XXXXXXXXXXXXXXXXXXXX",
|_____AWS Keys_____|
15 | :secret_access_key => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
|_______________AWS Keys_______________|
16 | }
17 | }
Zeilen, die zu lang sind, werden abgeschnitten, um der Terminalgröße zu entsprechen, es sei denn, der ausführliche Modus wird verwendet (-v oder --verbose).
ggshield ist unter der MIT-Lizenz lizenziert.