GitHub-Leak mit 543.699 gültigen Zugangsdaten: Untersuchung zeigt, wie lange geleakte Credentials öffentlich bleiben und weiter funktionieren
Ein GitHub-Leak kann selbst noch Jahre nach seiner Veröffentlichung noch zum Sicherheitsproblem werden. Eine Untersuchung von Truffle Security legt nun das eigentliche Ausmaß des Problems offen. Die Sicherheitsforscher fanden 543.699 eindeutige Zugangsdaten in öffentlichen GitHub-Repositories, die im Juli 2026 noch immer funktionierten. Einige davon waren bereits seit Jahren öffentlich einsehbar.
GitHub hat eine Schutzfunktion, die verhindern soll, dass Entwickler sensible Daten wie API-Schlüssel, Tokens oder Datenbank-Zugangsdaten überhaupt erst in ein öffentliches Repository hochladen. Diese Funktion heißt „Push Protection“. 199.843 der später noch gültigen Zugangsschlüssel wurden allerdings erst veröffentlicht, nachdem GitHub die Funktion standardmäßig aktiviert hatte. Offenbar kann „Push Protection“ dabei nicht alle veröffentlichten Zugangsschlüssel erkennen.
224 Millionen öffentliche GitHub-Repositories untersucht
Truffle Security ist ein auf Anwendungssicherheit spezialisiertes Unternehmen aus den USA. Es entwickelt Lösungen zum Schutz von Zugangsdaten und weiteren sensiblen Informationen in Quellcode. Bekannt ist Truffle Security besonders für TruffleHog, ein Werkzeug, das Codebestände nach offengelegten Zugangsdaten durchsucht.
Im Rahmen einer Analyse nahm Truffle Security einen Datensatz mit 224.553.295 öffentlichen GitHub-Repositories unter die Lupe. Darin befanden sich über 58,4 Milliarden Dateien. Die Daten stammen aus „The Stack v3“, einem Datensatz, der auch zum Training großer KI-Modelle zusammengestellt wurde. Der zugrunde liegende Crawl wurde am 7. August 2025 abgeschlossen.
Die Sicherheitsforscher durchsuchten im Anschluss das Material nach möglichen Zugangsdaten. Zwischen dem 27. und 28. Juli 2026 überprüften sie verdächtige Kandidaten beim jeweils zuständigen Dienst. Sie wollten feststellen, ob die Daten noch funktionierten. Im Ergebnis waren 543.699 eindeutige Zugangsdaten weiterhin aktiv. Das war fast ein Jahr nach Abschluss des Crawls und bei vielen Funden sogar Jahre nach ihrer ursprünglichen Veröffentlichung. Insgesamt stammten die Treffer aus mehr als 1,1 Millionen einzelnen Fundstellen. Ein und derselbe Zugangsschlüssel kann dabei auch in mehreren Dateien oder Forks eines Repositorys auftauchen.
Auch die Zahl der noch funktionierenden Zugangsdaten pro Million Dateien stieg erkennbar. 2014 kamen auf eine Million untersuchte Dateien noch 3,72 aktive Zugangsdaten. 2025 waren es bereits 11,62, als höchster Wert im gesamten Datensatz.
Alte Zugangsdaten, neues Risiko
Bei der Hälfte der gefundenen Zugangsdaten waren seit ihrer Veröffentlichung mindestens 784 Tage vergangen. Bei zehn Prozent der untersuchten Fälle waren es sogar mindestens 6,3 Jahre. Der älteste gefundene Zugangsschlüssel stammte aus einer Datei, die zuletzt am 13. Juni 2009 verändert worden war. Die darin enthaltenen Daten für einen Datenbankzugang waren auch mehr als 16 Jahre später noch gültig. Truffle Security nennt außerdem weitere Beispiele aus dem Jahr 2009, darunter einen FTP-Zugang und einen AWS-Schlüssel. Die betroffenen Repositories veröffentlichen die Forscher allerdings nicht, weil die darin enthaltenen Zugangsdaten noch funktionieren.
Damit endet ein GitHub-Leak nicht beim Entfernen des betroffenen Eintrags aus dem Code. Solange der entsprechende Schlüssel beim ausstellenden Dienst weiter akzeptiert wird, bleibt die ursprüngliche Schwachstelle bestehen.
Push Protection hat Grenzen
GitHub hat seine Sicherheitsfunktionen in den vergangenen Jahren wesentlich ausgebaut. Seit Februar 2023 ist Secret Scanning für öffentliche Repositories kostenlos verfügbar. Push Protection wurde im Mai desselben Jahres allgemein verfügbar. Am 29. Februar 2024 wurde die Funktion für öffentliche Repositories standardmäßig aktiviert. Erkennt GitHub beim Hochladen sensible Zugangsdaten, wird der Vorgang blockiert. Die Untersuchung verdeutlicht allerdings, dass diese Schutzfunktion nicht alle Arten von Zugangsschlüsseln erkennt.
Von den 543.699 weiterhin funktionierenden Zugangsdaten wurden 199.843 nach der standardmäßigen Aktivierung von Push Protection in den jeweiligen Dateien gefunden. Das entspricht 36,8 Prozent. Weitere 97.897 stammen aus dem Zeitraum zwischen der kostenlosen Verfügbarkeit von Secret Scanning und der standardmäßigen Aktivierung der Push Protection.
Innerhalb der von Push Protection erfassten Kategorien zeigt die Funktion laut Truffle Security aber dennoch Wirkung. Nach ihrer standardmäßigen Aktivierung sank die Zahl der offengelegten Zugangsdaten dort um 53 Prozent.
Mehr als die Hälfte fällt durch das Raster
Nach Angaben von Truffle Security entfielen 51,8 Prozent der im Juli 2026 noch aktiven Zugangsdaten auf Muster, die eine standardmäßig konfigurierte öffentliche GitHub-Installation nicht blockiert.
Zu den größeren Gruppen gehörten dabei MongoDB-Verbindungszeichenfolgen und Google-API-Schlüssel. Insbesondere bei generischen Mustern ist eine automatische Blockierung schwierig, weil dieselbe Zeichenstruktur sowohl für Zugangsdaten, die tatsächlich Zugriff ermöglichen, als auch für legitime, öffentlich verwendbare Schlüssel vorkommen kann.
Als Beispiel dafür eignen sich Google-Schlüssel. Das gleiche Präfix kann bei unterschiedlichen Google-Diensten vorkommen. Nicht jeder solche Schlüssel ermöglicht zwangsläufig einen unbefugten Zugriff. Eine pauschale Blockierung würde deshalb auch legitime Anwendungsfälle treffen.
Damit stößt automatisiertes Secret Scanning zur Erkennung bereits veröffentlichter Zugangsdaten an seine Grenzen. Ein Scanner muss zwischen einem tatsächlich kritischen Zugangsschlüssel und einer Zeichenfolge unterscheiden können, die ähnlich aussieht, aber keine vergleichbare Gefahr darstellt.
GitHub-Leak: Das eigentliche Problem heißt Widerruf
Truffle Security unterscheidet zwischen dem Erkennen potenzieller Zugangsdaten und der Überprüfung, ob diese noch funktionieren. Ein bereits widerrufener Schlüssel gilt zwar weiterhin als Fund. Dieser stellt aber keine aktive Zugangsmöglichkeit mehr dar. Ein weiterhin akzeptierter Zugangsschlüssel dagegen kann nach wie vor Zugriff ermöglichen.

Von 101.886 untersuchten npm-Tokens war im Juli 2026 nur noch eines aktiv. Bei GitHub-Tokens waren 260 von 73.048 weiterhin gültig. Bei Google-Cloud-Service-Accounts funktionierten sogar 69.041 von 126.963 untersuchten Zugangsdaten noch. Auch bei PostgreSQL- und MySQL-Verbindungszeichenfolgen war der Anteil weiterhin gültiger Zugangsdaten noch hoch.
GitHub-Leak: Code gelöscht, Zugang noch aktiv
Wird ein Schlüssel versehentlich in ein öffentliches Repository gepusht, reicht es demnach nicht aus, die betreffende Zeile einfach aus dem Code wieder zu entfernen. Öffentliche Repositories können dann bereits kopiert, gespiegelt oder von anderen Systemen erfasst worden sein. Vor allem aber bleibt der Zugangsschlüssel solange gültig, bis ihn der ausstellende Dienst sperrt oder ersetzt.
Ein Zugangsschlüssel gelangt in einen öffentlichen Codebestand, wird möglicherweise entdeckt und entsprechend deaktiviert. Fehlt der letzte Schritt, kann aus einem solchen Fehler ein jahrelang bestehendes Sicherheitsrisiko werden. Mit seiner Untersuchung weist Truffle Security auf eben diese Lücke hin. Wie viele der weiterhin gültigen Zugangsdaten tatsächlich von Angreifern missbraucht wurden, bleibt allerdings offen.

















