Ein API-Schlüssel im Frontend ist kein Geheimnis – er ist eine öffentliche Datei. Trotzdem landen Stripe-, AWS-, OpenAI- und Anthropic-Keys ständig im JavaScript-Bundle ausgelieferter Seiten. Hier liest du, wie das passiert, wie Angreifer die Keys finden und wie du in zehn Sekunden prüfst, ob deine Seite betroffen ist.
Wie ein Key überhaupt ins Bundle kommt
In Frameworks wie Next.js, Vite oder Create-React-App ist alles, was im Client-Code referenziert wird, nach dem Build im Browser sichtbar. Der häufigste Fehler: eine Umgebungsvariable mit dem Präfix NEXT_PUBLIC_ (bzw. VITE_) für einen geheimen Key zu nutzen. Genau dieses Präfix sorgt dafür, dass der Wert ins Bundle inlined wird. Ein KI-Assistent, der „den Stripe-Aufruf zum Laufen bringen" soll, schlägt das bereitwillig vor – ohne zu wissen, dass es ein geheimer Key ist.
Welche Keys besonders gefährlich sind
- Stripe Secret Key (
sk_live_…): voller Zugriff auf Zahlungen, Rückerstattungen, Kundendaten. - AWS Access Key: je nach Rechten Zugriff auf S3-Buckets, Datenbanken, ganze Infrastruktur.
- OpenAI / Anthropic Keys: fremde nutzen dein Kontingent – die Rechnung zahlst du.
- Datenbank- und SMTP-Zugangsdaten: direkter Datenabfluss bzw. Versand in deinem Namen.
Publishable Keys (pk_live_…) sind dagegen bewusst öffentlich – die gehören ins Frontend. Der Unterschied entscheidet alles.
So findet ein Angreifer die Keys
Kein Hacking nötig: Entwicklertools öffnen, Tab „Quellen"/„Sources", nach sk_, AKIA oder api_key suchen. Automatisierte Crawler und GitHub-Secret-Scanner tun genau das im großen Stil – ein geleakter Live-Key wird oft innerhalb von Minuten missbraucht.
So machst du es richtig
Geheime Keys gehören auf den Server. Der Browser ruft eine eigene Backend-Route (oder Serverless-Function) auf, die den Key serverseitig nutzt und nur das Ergebnis zurückgibt. Diese „Backend-for-Frontend"-Schicht ist der Standardweg – sie kostet ein paar Zeilen und schließt die Lücke vollständig.
In 10 Sekunden prüfen
Der Vibe Check lädt dein ausgeliefertes Bundle und sucht gezielt nach exponierten Schlüssel-Mustern (Stripe, AWS, OpenAI, Anthropic u. a.) – ohne dass du etwas installieren oder freigeben musst.
Jetzt deine Seite in 10 Sekunden prüfen →

