GitGuardian hat am 17. Oktober 2023 HasMySecretLeaked als kostenloses Toolset zur Prüfung offengelegter Zugangsdaten vorgestellt. Der Anbieter nennt eine Datenbank mit mehr als 20 Millionen Datensätzen gehashter Secrets aus öffentlichen Quellen einschließlich GitHub. Das Angebot richtet sich an Sicherheits- und DevOps-Teams, die etwa API-Schlüssel oder Datenbankzugänge überprüfen wollen.
Nur fünf Zeichen des Hashs verlassen den Client
Die technische Protokollbeschreibung erläutert einen Abgleich über Hash-Präfixe. Der Client berechnet lokal mit scrypt einen Hash des zu prüfenden Secrets. An den Dienst gehen nur dessen erste fünf Zeichen. Die Antwort enthält mehrere mögliche Treffer mit demselben Präfix. Damit wird dem Server nicht der vollständige gesuchte Hash mitgeteilt.
Ein zusätzlicher Prüfwert, ein Hash des Hashs, ermöglicht dem Client die lokale Suche nach einer Übereinstimmung. Die zugehörigen Fundinformationen sind mit AES-GCM verschlüsselt und lassen sich mit dem vollständigen Hash entschlüsseln. Das beschriebene Verfahren überträgt das eingegebene Secret nicht im Klartext. Diese Darstellung beruht auf der Herstellerdokumentation und ist kein unabhängiges Sicherheitsaudit.
Kommandozeile und Grenzen der Datenbankprüfung
Für die Kommandozeile steht die Integration in ggshield bereit. Die am selben Tag veröffentlichten Release Notes zu ggshield 1.20.0 dokumentieren unter anderem Verbesserungen für HasMySecretLeaked und dessen Vault-Anbindung. Dazu gehören die Benennung von Vault-Schlüsseln über vollständige Pfade und die Behandlung von Treffern ohne Fund-URL.
Ein ausbleibender Treffer belegt lediglich, dass der abgefragte Wert in dieser Datenbank nicht gefunden wurde. Er ist kein Nachweis dafür, dass Zugangsdaten niemals offengelegt wurden. Bei einem bestätigten Leak gehört deshalb der Widerruf des Schlüssels zum Secrets-Management-Workflow. Das Löschen einer Datei aus dem aktuellen Repository ersetzt diesen Schritt nicht.

