Schnell zu veröffentlichen ist in Ordnung, aber es gibt eine kurze Liste, die du dir ansehen solltest, bevor du deine App für die Welt öffnest. Nichts davon setzt voraus, dass du Sicherheitsexperte bist, und alles lässt sich in wenigen Minuten von außen überprüfen. Hier kommt, worauf es wirklich ankommt, warum jeder Punkt zum Problem wird und wie du ihn behebst.
Wie Angreifer diese Lücken in Minuten finden
Die meisten Angriffe auf mit KI erstellte Apps sind keine raffinierten Hacks. Jemand öffnet deine Seite, drückt F12, liest das JavaScript, das deine App bereits an seinen Browser ausgeliefert hat, und kopiert eine URL, die deine App bereits aufruft. Automatisierte Scanner machen dasselbe in großem Maßstab und klopfen jeden Tag auf Tausenden von Seiten gängige Pfade wie /.env oder /.git ab. Alles Folgende können sie überprüfen, ohne jeglichen Zugriff auf deinen Code, und genau deshalb solltest du es zuerst überprüfen.
1. Keine Secrets im Frontend
API-Schlüssel und Tokens gehören ausschließlich auf den Server. Wenn ein KI-Assistent einen Dienst "verbindet", legt er den Schlüssel oft direkt in den Client-Code, wo ihn jeder in den DevTools lesen kann. Ein geleakter Stripe-Schlüssel sk_live_ kann echtes Geld bewegen; ein Supabase-Schlüssel service_role gibt deine gesamte Datenbank preis. Bewahre geheime Schlüssel in Server-Umgebungsvariablen auf und gib nur die öffentlichen Schlüssel weiter, die für den Browser gedacht sind. Siehe die Secrets, die deine App im Browser preisgibt.
2. HTTPS und Security-Header
Liefere alles über HTTPS aus und leite HTTP dorthin um, damit niemand den Datenverkehr mitlesen oder manipulieren kann. Füge dann die Header hinzu, mit denen Browser deine Nutzer schützen: Content-Security-Policy, um Injection einzudämmen, Strict-Transport-Security, um HTTPS zu erzwingen, und X-Frame-Options, um Clickjacking zu blockieren. Die meisten generierten Apps werden standardmäßig ohne diese Header ausgeliefert. Siehe HTTP-Security-Header erklärt.
3. Datenbankregeln (RLS) auf jeder Tabelle
Wenn du Supabase oder Firebase nutzt, spricht deine App direkt aus dem Browser mit der Datenbank, sodass die Datenbankregeln das Einzige sind, was zwischen einem Besucher und deinen Daten steht. Aktiviere Row-Level Security auf jeder Tabelle (nicht nur den wichtigen) mit einer Deny-by-Default-Regel, und verlass dich niemals darauf, einen Button im UI zu verstecken. Ohne sie liest und schreibt jeder mit dem öffentlichen Schlüssel deine Tabellen, ohne sich anzumelden, genau die Schwachstelle hinter der Lovable-RLS-Schwachstelle.
4. Keine offengelegten sensiblen Dateien
Stelle sicher, dass .env, .git, Datenbank-Backups und Source Maps nicht über einen Browser erreichbar sind. Das kommt überraschend häufig vor: Eine einzige Anfrage an /.env kann jedes Secret preisgeben, das deine App verwendet, und veröffentlichte Source Maps lassen jeden deinen Originalcode rekonstruieren. Blockiere diese in der Konfiguration deines Hosts oder Frameworks.
5. CORS strikt eingegrenzt
Eine freizügige CORS-Richtlinie, die jeden Origin mit Anmeldedaten zurückspiegelt, ermöglicht es einer bösartigen Seite, die Daten deiner Nutzer über deren Session zu lesen. Beschränke die erlaubten Origins auf die Domains, die du tatsächlich kontrollierst, und kombiniere niemals Access-Control-Allow-Origin: * mit Anmeldedaten.
6. Cookies und Sessions richtig konfiguriert
Session-Cookies sollten Secure (nur HTTPS), HttpOnly (nicht aus JavaScript lesbar, sodass ein XSS sie nicht stehlen kann) und SameSite (schützt vor CSRF) tragen. Diese drei Attribute sind eine Zeile Konfiguration und schließen eine ganze Klasse von Bugs zur Kontoübernahme.
Deine 2-Minuten-Checkliste vor dem Launch
- Kein
sk_live_,service_roleoder private Schlüssel in deinem JavaScript. - HTTPS erzwungen, mit gesetztem CSP, HSTS und X-Frame-Options.
- Row-Level Security auf jeder Datenbanktabelle.
.env,.git, Backups und Source Maps nicht erreichbar.- CORS auf deine eigenen Origins beschränkt, kein Wildcard mit Anmeldedaten.
- Cookies mit Secure, HttpOnly und SameSite.
Einfach erledigen
Statt all das von Hand zu prüfen, lass Scanaris laufen: Es überprüft diese Punkte und rund 40 weitere auf deiner Live-Seite in 30 Sekunden, ordnet die Ergebnisse nach Auswirkung und gibt dir einen fertig einfügbaren Prompt, um jeden mit deiner KI zu beheben, bevor es jemand anderes findet.