API-Keys aus dem Client-Bundle entfernen — Base44
Keys im JavaScript-Bundle sind public. Angreifer scannen GitHub und Deploys 24/7. Ein exponierter Stripe-Secret oder OpenAI-Key leert dein Konto in Stunden.
In Base44 fixen
No-Code + AI-App-Builder
Base44-Secrets-Manager nutzen. Server-Functions aus generierten Blocks aufrufen statt den Key inline einzubauen.
Anderes Tool? Wähle deinen Stack:
Der Prompt für Base44
Diesen Text exakt so in deinen Base44-Chat kopieren und einfügen.
In Base44, regenerate the affected blocks with these exact instructions: CRITICAL: Move exposed API keys server-side immediately 1. CRITICAL: API keys are exposed in the frontend code. This is an immediate security risk. 2. Move all secret keys to server-side environment variables. 3. Create server-side endpoints that make API calls on behalf of the frontend. 4. Only public/anon keys should ever be in client-side code. 5. Rotate all leaked keys immediately in each provider dashboard. 6. Add .env* to .gitignore.
Warum das wichtig ist
Jedes AI-Coding-Tool hat beim Stripe-/OpenAI-/Supabase-Integrieren irgendwann den Secret-Key direkt in eine React-Komponente geschrieben. Die Komponente wird zum Browser ausgeliefert, der Browser lädt das JS-Bundle, der Secret ist für immer public — auch nach dem "Fix" haben Angreifer die das Bundle scrapten den alten Key noch.
Automatische Bots crawlen GitHub, npm, Vercel-Deploys und Lovable-Shares nach exponierten Keys. Zeit von "Key gepusht" bis "Key missbraucht": oft unter 30 Sekunden. OpenAI hat ein Team das darauf wacht und Keys automatisch rotiert — aber nur wenn die Detection vor dem Angreifer zuschlägt.
Das ist unser #1-Security-Finding in Lovable- und Bolt-Audits. Der Fix ist immer derselbe: Key in server-only Env-Var, Backend-API-Route die den Secret nutzt, Client ruft diese Route auf.
So nutzt du diesen Prompt in Base44
- 1. Dein Base44-Projekt öffnen.
- 2. Prompt oben mit Copy-Button kopieren.
- 3. In Base44-Chat einfügen und senden.
- 4. Diff reviewen, Änderungen akzeptieren, neu deployen.
- 5. Fix mit der Checkliste unten verifizieren.
Typische Fehler vermeiden
- error_outline`NEXT_PUBLIC_STRIPE_SECRET_KEY` nutzen — der Prefix machte es public. Jedes `NEXT_PUBLIC_*` shippt zum Browser.
- error_outlineOpenAI direkt aus React-Komponente aufrufen — Key kommt mit JS-Bundle.
- error_outline`.env` statt `.env.local` in Git committen — `.env` wird oft per Default getrackt.
- error_outlineSupabase `service_role`-Key im Client — umgeht RLS und liest/schreibt alles.
- error_outlineKey in API-Route shippen, aber bei Error `process.env` loggen und in Logs leaken.
Wie du prüfst ob der Fix geklappt hat
- check_circleDevTools → Sources → nach dem Key-Wert suchen — muss 0 Treffer liefern.
- check_circle`curl https://deinesite.com/ | grep "sk_live"` — liefert nichts für Stripe-Secret-Keys.
- check_circleNach Exposure rotieren — alte Keys sind für immer kompromittiert, auch wenn "entfernt".
- check_circleGitGuardian oder git-secrets im Repo einrichten für Pre-Commit-Leak-Detection.
Häufige Fragen
Unterschied zwischen Anon- und Service-Role-Supabase-Keys?expand_more
Woher weiss ich ob mein Key geleakt ist?expand_more
Ist Git-History ein Problem wenn ich den Key gelöscht habe?expand_more
Alle 34 Prompts passend zu deiner Base44-Site?
Pantra scannt deine Site in 10 Sekunden, erkennt den Stack und generiert genau die Prompts die passen — nur die du brauchst.
Site scannenÄhnliche Base44-Prompts
Supabase Row Level Security auf jeder Tabelle aktivieren — Base44
Prompt um RLS auf jeder Supabase-Tabelle zu aktivieren und sinnvolle Policies zu schreiben — der #1-Security-Fix für Lovable, Cursor, Bolt, v0, Replit, Windsurf, Claude Code, Base44 Apps.
SicherheitSecurity-Header setzen (CSP, HSTS, X-Frame usw.) — Base44
Stack-spezifischer Prompt für Content-Security-Policy, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy in Lovable, Cursor, Bolt, v0, Replit, Windsurf, Claude Code, Base44.
SicherheitHTTPS erzwingen und HSTS aktivieren — Base44
Prompt um alles HTTP auf HTTPS zu redirecten und HSTS zu aktivieren — 2026 Pflicht. In jedem Stack.