Secret Scanning

Secret Scanning ist die automatische Suche nach Passwörtern, Zugangsschlüsseln und ähnlichen Geheimnissen, die versehentlich im Programmcode gelandet sind. Spezielle Werkzeuge durchsuchen dafür alle Dateien eines Projekts und melden verdächtige Zeichenfolgen.

Wer Software schreibt, braucht oft Zugangsdaten: ein Passwort für eine Datenbank, einen langen Schlüssel für einen fremden Dienst. Solche Zugangsdaten nennt man in der Fachsprache Secrets, also Geheimnisse. Sie gehören eigentlich nie direkt in die Textdateien, aus denen ein Programm besteht. Trotzdem passiert genau das ständig, weil es beim Entwickeln schneller geht. Secret Scanning ist die automatische Suche nach solchen versehentlich mitgespeicherten Geheimnissen. Ein Programm durchsucht dabei alle Dateien eines Projekts und schlägt Alarm, wenn eine Zeichenfolge wie ein Zugangsschlüssel aussieht.

Warum das wichtig ist

Der Programmcode vieler Projekte liegt öffentlich im Internet, zum Beispiel auf der Plattform GitHub. Wer dort einen echten Zugangsschlüssel veröffentlicht, gibt Fremden faktisch einen Hausschlüssel. Angreifer suchen den ganzen Tag automatisiert nach solchen Funden. Die Zeit von der Veröffentlichung bis zum ersten Missbrauch liegt oft im Minutenbereich.

Der Schaden kann erheblich sein. Mit einem gestohlenen Schlüssel für einen Cloud-Anbieter lassen sich fremde Server anmieten, deren Rechnung beim Opfer landet. Ein Datenbank-Passwort öffnet den Zugang zu Kundendaten. Mehrere große Sicherheitsvorfälle der letzten Jahre begannen genau so: nicht mit einem raffinierten Hack, sondern mit einem Passwort, das jemand vergessen hatte herauszunehmen.

Ein zweites Problem macht die Sache schlimmer. Entwickler arbeiten meist mit einer Versionsverwaltung, die jede alte Fassung des Codes dauerhaft aufbewahrt. Ein Passwort einfach zu löschen genügt deshalb nicht. Es steht weiter in der Historie und bleibt auffindbar. Ein aufgedecktes Geheimnis muss man also immer ersetzen, nicht nur entfernen.

Wie es funktioniert

Die Grundidee ist Mustererkennung. Viele Zugangsschlüssel haben ein festes Format, etwa ein bestimmtes Kürzel am Anfang und eine feste Länge. Ein Scanner kennt hunderte solcher Formate und findet sie zuverlässig. Das ähnelt der Suche nach IBANs in einem Textdokument: Die Struktur ist so charakteristisch, dass Treffer kaum Zufall sind.

Schwieriger sind Geheimnisse ohne festes Muster, zum Beispiel ein selbst gewähltes Passwort. Hier helfen zusätzliche Signale. Der Scanner achtet auf Variablennamen wie „password“ oder „token“. Er messt außerdem, wie zufällig eine Zeichenfolge wirkt. Ein wildes Durcheinander aus Buchstaben und Ziffern ist eher ein Schlüssel als ein normales Wort.

Manche Anbieter gehen noch einen Schritt weiter und prüfen aktiv, ob ein Fund gültig ist. Der Scanner fragt beim zugehörigen Dienst nach, ob der Schlüssel funktioniert. So trennt man echte Notfälle von harmlosen Beispieldaten. Große Plattformen benachrichtigen den betroffenen Dienst sogar direkt, damit er den Schlüssel sperrt.

Am wirksamsten ist die Prüfung, bevor der Code überhaupt hochgeladen wird. Solche Kontrollen laufen automatisch bei jeder Änderung mit und blockieren sie im Zweifel. Dann entsteht das Problem gar nicht erst.

Wo man dem Begriff begegnet

GitHub, GitLab und ähnliche Plattformen haben Secret Scanning fest eingebaut, bei öffentlichen Projekten meist kostenlos. Daneben gibt es bekannte freie Werkzeuge wie TruffleHog oder Gitleaks. Sie tauchen in vielen Stellenanzeigen für Sicherheitsberufe auf.

In Wirtschaftsnachrichten liest man den Begriff, wenn ein Datenleck aufgeklärt wird. Oft steht dann in der Analyse, dass ein Zugangsschlüssel in einem öffentlichen Repository lag. Auch im Zusammenhang mit KI wird das Thema häufiger genannt: Programmierhilfen, die Code vorschlagen, haben aus riesigen Codesammlungen gelernt und geben gelegentlich echte Schlüssel wieder aus. Das erhöht den Druck, Geheimnisse konsequent aus dem Code herauszuhalten.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.