Truffle Security hat einen öffentlichen Code-Datensatz untersucht, der für das Training großer Sprachmodelle zusammengestellt wurde. In The Stack v3 fand das Unternehmen 543.699 eindeutige Credentials, die bei einer Prüfung am 27. und 28. Juli 2026 noch von ihren jeweiligen Diensten akzeptiert wurden.
Die Zahl stammt nicht aus einem aktuellen Live-Scan von GitHub. The Stack v3 ist ein Snapshot öffentlicher Repositories, dessen Crawl am 7. August 2025 endete. Truffle durchsuchte 4.096 Metadaten-Shards mit rund 224,6 Millionen Repositories und 58,5 Milliarden Dateien. Dass mehr als eine halbe Million gefundener Credentials fast ein Jahr nach Ende des Crawls noch funktionierten, ist deshalb der technisch interessantere Befund.
BleepingComputer hat die Methodik und die zentralen Zahlen separat aufgearbeitet. Die Untersuchung zeigt nicht, wie viele der Credentials von Angreifern gefunden oder missbraucht wurden.
Der Median lag bei 784 Tagen
Truffle deduplizierte gefundene Secrets nach ihrem Wert und prüfte Kandidaten gegen den jeweils ausstellenden Dienst. 543.699 Werte authentifizierten noch.
Der Median der von Truffle berechneten Expositionsdauer lag bei 784 Tagen. Rund zehn Prozent der noch funktionierenden Credentials waren mindestens 6,3 Jahre alt. Das älteste gefundene aktive Credential stammte aus einer Datei, die 2009 zuletzt geändert worden war.
Die Altersangaben haben eine methodische Grenze. The Stack v3 enthält keinen vollständigen Git-Verlauf. Truffle verwendet deshalb den Zeitstempel der Datei als Näherung für den Zeitpunkt, zu dem ein Secret öffentlich wurde. Wird eine Datei nach dem Einfügen des Secrets erneut geändert, erscheint das Secret jünger als es tatsächlich ist.
Die Studie misst damit keine exakte Leak-Dauer für jeden einzelnen Schlüssel. Sie zeigt aber, dass ein großer Bestand historischer Secrets lange nach dem ursprünglichen Commit noch gültig war.
Push Protection reduzierte nur die Secret-Typen, die sie erkennt
199.843 der noch funktionierenden Credentials tragen laut Truffle einen Zeitstempel aus der Zeit nach der standardmäßigen Aktivierung von GitHubs Push Protection.
Diese Zahl allein belegt keinen Fehler von Push Protection. Mehr als die Hälfte der noch aktiven Credentials, 51,8 Prozent, gehörte laut Truffle zu Mustern, die von der Standardkonfiguration nicht blockiert werden. Dazu zählen unter anderem bestimmte Datenbank-Connection-Strings und Google API Keys.
Innerhalb der von Push Protection erkannten Credential-Kategorien sieht Truffle dagegen einen messbaren Effekt. Die Rate entsprechender Exposures sank nach der standardmäßigen Aktivierung um 53 Prozent. Bei nicht abgedeckten Kategorien betrug der Rückgang im gleichen Vergleich sieben Prozent.
Der Unterschied trennt zwei Probleme, die häufig zusammengefasst werden: Ein Push-Time-Scanner kann verhindern, dass ein erkennbares Secret neu veröffentlicht wird. Er kann ein bereits öffentliches Credential nicht automatisch ungültig machen.
Provider unterschieden sich stark bei der Revocation
Die Überlebensraten der gefundenen Credentials waren je nach Dienst sehr unterschiedlich.
Von 101.886 im Datensatz gefundenen npm-Tokens funktionierte bei Truffles Prüfung nur noch einer. Bei Google-Cloud-Service-Account-Credentials waren dagegen 69.041 von 126.963 gefundenen Werten noch gültig. Truffle nennt außerdem 51.067 aktive MongoDB-Connection-Strings.
Diese Unterschiede lassen sich nicht allein GitHub zurechnen. Sobald ein Secret öffentlich ist, entscheidet auch der ausstellende Dienst darüber, ob es automatisch widerrufen, zeitlich begrenzt oder bis zu einer manuellen Rotation weiter akzeptiert wird.
Damit ist Secret Scanning nur ein Teil der Kette. Detection meldet einen Wert. Revocation beendet seinen Zugriff.
AI-Trainingskorpora konservieren öffentliche Secrets zusätzlich
The Stack v3 wurde für das Training von Sprachmodellen zusammengestellt. Für die Studie war das vor allem praktisch: Der Snapshot erlaubte eine sehr große, zeitlich fixierte Untersuchung öffentlicher Repositories.
Sicherheitstechnisch zeigt der Datensatz aber noch etwas anderes. Ein Credential kann aus dem aktuellen Repository entfernt werden und trotzdem in abgeleiteten Datensätzen, Forks oder anderen Kopien weiter existieren.
Das bedeutet nicht automatisch, dass ein trainiertes Modell das Secret memorisiert oder ausgeben kann. Truffles Untersuchung hat keine Modell-Memorisierung getestet.
Sie zeigt eine einfachere Voraussetzung: Trainingskorpora können reale, weiterhin gültige Zugangsdaten enthalten. Solange ein Credential nach Veröffentlichung gültig bleibt, hängt seine Sicherheit davon ab, dass keine der vorhandenen Kopien verwendet wird.
Für langlebige Credentials ist deshalb die entscheidende Grenze nicht das Löschen einer Datei. Der Schlüssel muss nach einer öffentlichen Exposition ungültig werden.