OpenAI-Schlüssel im ausgelieferten JavaScript
Ein OpenAI-Schlüssel steht im Klartext in deinem Frontend-Bundle. Jeder Besucher kann ihn auslesen; automatisierte Bots durchsuchen öffentliche Bundles gezielt danach. Der Schlüssel gilt als kompromittiert, sobald er einmal ausgeliefert wurde — auch wenn du das Bundle jetzt austauschst.
- Fundstelle:
- /assets/index-Bq7fK2mP.js, Zeile 1842
- Auszug:
- const openai=new OpenAI({apiKey:"sk-proj-4f8a2…",dangerouslyAllowBrowser:true})
So behebst du es
Widerrufe den Schlüssel sofort unter platform.openai.com/api-keys — nicht später, der alte ist unwiederbringlich öffentlich. Danach: Der Aufruf gehört auf den Server, nicht in den Browser. Lege eine eigene Route an (z. B. eine Edge Function oder /api/chat), die den Schlüssel serverseitig hält und die Anfrage weiterreicht. Das Frontend ruft nur noch deine eigene Route auf. `dangerouslyAllowBrowser: true` ist der Hinweis des SDK selbst, dass dieser Weg nicht vorgesehen ist.