Mehr als 543.000 Zugangsdaten, die in öffentlichen GitHub-Repositories offengelegt waren, funktionierten noch, als Forscher sie im Juli überprüften. Die Ergebnisse von Truffle Security zeigen, wie GitHub-Zugangsdatenlecks den Zugriff auf Dienste noch lange ermöglichen können, nachdem Entwickler sensible Informationen veröffentlicht haben.
Die offengelegten Secrets waren im Median 784 Tage lang öffentlich zugänglich geblieben. Darüber hinaus waren etwa 10 % der noch funktionierenden Zugangsdaten älter als 6,3 Jahre, während die ältesten aus dem Jahr 2009 stammten.
Groß angelegter Scan findet langlebige Secrets
Truffle Security untersuchte 224 Millionen Repositories und mehr als 58 Milliarden Dateien. Die Analyse nutzte einen Datensatz, der für das Training großer Sprachmodelle zusammengestellt worden war und dessen Crawling-Stichtag der 7. August 2025 war.
Die Forscher identifizierten 543.699 einzigartige, gültige Zugangsdaten. Diese tauchten wiederholt in mehr als 1,1 Millionen Dateien und Repositories auf, einschließlich Kopien in Repository-Forks.
Der Crawling-Stichtag ist wichtig, da der Datensatz eine historische Sammlung darstellt und kein vollständiges Bild von GitHub zum Zeitpunkt der Veröffentlichung bietet.
Unterdessen stellten die Forscher fest, dass die Dichte der Secrets im Laufe der Zeit zunahm. Die Zahl funktionierender Zugangsdaten stieg von 3,72 pro Million Dateien im Jahr 2015 auf einen Höchstwert von 11,62 im Jahr 2025.
Push Protection reduziert Lecks innerhalb seines Schutzbereichs
GitHubs Push Protection überprüft eingehenden Code auf erkennbare Secrets, darunter unterstützte API-Schlüssel und Zugriffstoken. Wenn die Funktion eines davon erkennt, kann sie den Upload blockieren.
Die Funktion widerruft jedoch keine Zugangsdaten, die Entwickler bereits offengelegt haben.
Truffle Security stellte fest, dass 199.843 gültige Zugangsdaten erstmals auftauchten, nachdem GitHub Push Protection im Februar 2024 standardmäßig aktiviert hatte. Das entspricht etwa 36,8 % der Gesamtzahl.
Darüber hinaus gehörten 51,8 % der funktionierenden Zugangsdaten zu Kategorien, die nicht vom Standardschutz abgedeckt wurden. Dazu gehörten Datenbank-Verbindungszeichenfolgen und Google-API-Schlüssel.
Dennoch stellten die Forscher eine deutliche Verbesserung bei den unterstützten Arten von Zugangsdaten fest. Die Offenlegungsrate in geschützten Kategorien sank nach Beginn der standardmäßigen Durchsetzung um 53 %.
Die Ergebnisse zeigen daher sowohl den Wert präventiver Scans als auch die weiterhin bestehenden Lücken außerhalb ihres Schutzbereichs.
Widerrufsraten unterscheiden sich stark zwischen Diensten
Die Studie zeigte außerdem erhebliche Unterschiede darin, ob offengelegte Zugangsdaten weiterhin funktionierten.
Von 101.886 offengelegten npm-Tokens fanden die Forscher nur eines, das noch gültig war. Im Vergleich dazu funktionierten während der Analyse noch 69.041 von 126.963 offengelegten Google-Cloud-Dienstkonto-Zugangsdaten.
Diese gegensätzlichen Ergebnisse verdeutlichen, warum die Verhinderung neuer GitHub-Zugangsdatenlecks nur einen Teil des Problems löst. Bereits veröffentlichte Secrets können weiterhin nutzbar bleiben, bis ihre Besitzer oder Dienstanbieter sie ungültig machen.
Das Entfernen eines Secrets widerruft dessen Zugriff nicht
Truffle Security empfiehlt, offengelegte Zugangsdaten umgehend zu rotieren, Repositories zu bereinigen und deren Verlauf nach weiteren Secrets zu durchsuchen. Außerdem empfiehlt das Unternehmen, für aktive Zugangsdaten einen automatischen Ablauf festzulegen.
Das Löschen sensibler Informationen aus der neuesten Version einer Datei widerruft die Zugangsdaten selbst nicht. Darüber hinaus können frühere Commits und Forks weiterhin Kopien enthalten.
Obwohl die Untersuchung eine weitverbreitete Offenlegung funktionierender Secrets belegt, misst sie nicht, wie viele Angreifer diese gestohlen oder missbraucht haben. Die Gültigkeit zeigt einen potenziellen Zugriff, während ein bestätigter Missbrauch separate Belege erfordert.


0 Kommentare zu „GitHub-Zugangsdatenlecks lassen über 543.000 Secrets weiterhin gültig“