snippets · bash
Habe ich ein Secret irgendwann versehentlich in Git committed?
Die .env steht heute in .gitignore. Trotzdem bleibt die Frage: War sie früher schon einmal committed?
Erst nach dem Dateinamen suchen
git log --all --name-only --pretty=format: \
| sort -u \
| rg '(^|/)(\.env|id_rsa|credentials|secrets?)(\.|$|/)'
Wenn du einen konkreten historischen Pfad kennst:
git log --all --oneline -- <PATH>
Und einen bestimmten String kannst du mit der Pickaxe-Suche verfolgen:
git log --all -S'<UNVERWECHSELBARER_TEIL>' --oneline
Wichtig: Finden ist nicht Bereinigen
Wenn ein echtes Secret committed und möglicherweise gepusht wurde, lautet der erste Sicherheits-Schritt Secret widerrufen/rotieren, nicht nur die Datei aus Git entfernen. History-Rewrite kann Kopien in anderen Klonen, Caches oder bereits abgegriffene Credentials nicht ungültig machen.
Keine echten Secrets in Shell-History kopieren
Suche möglichst nach einem nicht sensitiven Präfix, Variablennamen oder Dateinamen. Ein vollständiges Token als Kommandozeilenargument erzeugt sonst unter Umständen das nächste Geheimnisproblem gleich in deiner Shell-History.
Die Kernfrage ist deshalb zweigeteilt: War es in Git? und, falls ja, ist das Credential noch gültig?