FixVibe
Covered by FixVibehigh

API Schlüsselleck: Risiken und Behebung in modernen Web-Apps

Fest codierte Geheimnisse im Frontend-Code oder im Repository-Verlauf ermöglichen es Angreifern, sich als Dienste auszugeben, auf private Daten zuzugreifen und Kosten zu verursachen. In diesem Artikel werden die Risiken des Geheimnislecks sowie die notwendigen Schritte zur Bereinigung und Vorbeugung behandelt.

CWE-798

Auswirkungen

Das Durchsickern von Geheimnissen wie API-Schlüsseln, Token oder Anmeldeinformationen kann zu unbefugtem Zugriff auf sensible Daten, Identitätsdiebstahl bei Diensten und erheblichen finanziellen Verlusten aufgrund von Ressourcenmissbrauch [S1] führen. Sobald ein Geheimnis an ein öffentliches Repository übergeben oder in einer Frontend-Anwendung gebündelt wird, sollte es als kompromittiert betrachtet werden [S1].

Grundursache

Die Hauptursache ist die Aufnahme vertraulicher Anmeldeinformationen direkt in Quellcode oder Konfigurationsdateien, die anschließend der Versionskontrolle übergeben oder dem Client [S1] bereitgestellt werden. Entwickler codieren Schlüssel häufig aus Bequemlichkeitsgründen während der Entwicklung fest oder fügen versehentlich .env-Dateien in ihre Commits [S1] ein.

Konkrete Korrekturen

  • Kompromittierte Geheimnisse rotieren: Wenn ein Geheimnis durchgesickert ist, muss es sofort widerrufen und ersetzt werden. Das einfache Entfernen des Geheimnisses aus der aktuellen Version des Codes reicht nicht aus, da es im Versionskontrollverlauf [S1][S2] verbleibt.
  • Umgebungsvariablen verwenden: Speichern Sie Geheimnisse in Umgebungsvariablen, anstatt sie fest zu codieren. Stellen Sie sicher, dass .env-Dateien zu .gitignore hinzugefügt werden, um versehentliche Festschreibungen [S1] zu verhindern.
  • Geheimnisverwaltung implementieren: Verwenden Sie dedizierte Geheimverwaltungstools oder Tresordienste, um Anmeldeinformationen zur Laufzeit in die Anwendungsumgebung einzuschleusen [S1].
  • Repository-Verlauf löschen: Wenn ein Geheimnis an Git übergeben wurde, verwenden Sie Tools wie git-filter-repo oder den BFG Repo-Cleaner, um die sensiblen Daten dauerhaft aus allen Zweigen und Tags im Repository-Verlauf [S2] zu entfernen.

Wie FixVibe darauf testet

FixVibe berücksichtigt dies jetzt in Live-Scans. Passiv secrets.js-bundle-sweep lädt JavaScript-Bundles gleichen Ursprungs herunter und gleicht bekannte API-Schlüssel-, Token- und Anmeldeinformationsmuster mit Entropie- und Platzhalter-Gates ab. Zugehörige Live-Prüfungen prüfen den Browserspeicher, Quellzuordnungen, Authentifizierungs- und BaaS-Client-Bundles sowie GitHub-Repo-Quellmuster. Das Umschreiben des Git-Verlaufs bleibt ein Korrekturschritt; Die Live-Berichterstattung von FixVibe konzentriert sich auf Geheimnisse in versendeten Assets, Browserspeicher und aktuellen Repo-Inhalten.