websites.new

What Ships · Sicherheit

Sicherheit bei der Vibe-Codierung: Welche Informationen geben bereits veröffentlichte KI-Websites preis, und wie lässt sich dies von außen erkennen?.

Kostenlose Bewertung01 / 02

Schritt 1 · Ihre Website

Welche Website sollen wir analysieren?

Ausschließlich öffentliche Seiten. Keine Anmeldung, keine Installation von Code, keine Verpflichtung. Der Link zum Bericht ist nicht öffentlich sichtbar und wird einmalig per E-Mail versendet. Drei Überprüfungen pro Stunde und Verbindung. Lesen Sie die Datenschutzerklärung.

Sie haben eine mit KI erstellte Website veröffentlicht oder übernommen und wollen wissen, was sie preisgibt. Diese Seite zeigt Ihnen die Sicherheitslücken, die Header, die Ihre Website senden sollte, und die Reihenfolge, in der Sie die Probleme beheben. Ein öffentlicher Lesezugriff zeigt nur, was die Browser Ihrer Besucher sehen. Ihre Datenbankregeln, Anmeldedaten und Analysedaten bleiben unsichtbar, denn sie liegen hinter der „Haustür“.

Ein Webseitenrahmen, aus dem lose Fäden herausragen, von denen einer in einem Schlüssel endet, neben einem Wappen
Was durchsickert, ist von außen sichtbar. Ob der Schutz steht, auch.
Auf dieser Seite 11 Abschnitte
  1. 00Das Wichtigste in Kürze
  2. 01Ist Vibe Coding sicher?
  3. 02Welche Sicherheitsfehler machen KI-gebaute Websites am häufigsten?
  4. 03Was verrät eine öffentliche Auswertung Ihrer Website über ihre Sicherheit?
  5. 04Welche Header sollte eine KI-gebaute Website senden?
  6. 05Woran erkennt man offengelegte Schlüssel, offene Endpunkte und Standardkonfigurationen?
  7. 06Was sollten Sie bei einer per Vibe Coding gebauten Website zuerst beheben?
  8. 07Wie prüfen Sie die Säule Sicherheit Ihrer Website kostenlos?
  9. 08Fragen und Antworten
  10. 09Eigene Website prüfen
  11. 10Über den Autor

Das Wichtigste in Kürze.

  • Ein „publishable key“ von Supabase in Ihrem JavaScript-Code ist üblich. Aber ohne „Row Level Security“ auf jeder Tabelle gewährt er jedem uneingeschränkten Zugriff.
  • Rotieren Sie zuerst alle „sb_secret_“- oder „service_role“-Schlüssel, die in Ihren Bundles stecken. Aktivieren Sie danach RLS, ergänzen Sie Header und prüfen Sie zum Schluss den Code.
  • Tenzai stellte fest, dass keine der 15 von KI erstellten Anwendungen Sicherheits-Header gesetzt hat. Prüfen Sie also noch heute Ihre eigenen Antwort-Header.
  • Ein öffentlicher Lesezugriff zeigt, was Browser empfangen. Auf Ihre RLS-Richtlinien, Anmeldedaten oder Analysedaten hat er keinen Zugriff (prüfen Sie diese daher bitte in Ihrem Backend).

Ist Vibe Coding sicher?

Nein, Sie können nicht davon ausgehen, dass Ihre mit „Vibe“ programmierte Website sicher ist: Studien zeigen, dass KI-generierter Code regelmäßig ausnutzbare Schwachstellen enthält. Öffnen Sie Ihre Entwicklertools und lesen Sie Ihre Antwort-Header. Sehen Sie irgendwelche Sicherheits-Header? Die Tenzai-Studie untersuchte 15 Anwendungen, die auf Cursor, Claude Code, Replit, Devin und OpenAI Codex basieren, und stellte fest, dass keine einzige davon solche Header gesetzt hatte. Nicht eine einzige. (Ja, selbst jene, die im Browser ausgefeilt wirkten.) Prüfen Sie Ihre eigene.

Ihr Modell wird Sie nicht retten. IOActive stellte fest, dass die durchschnittliche Sicherheitsleistung aller Modelle bei 59 % lag und kein Modell eine zu 100 % sichere Ausgabe lieferte. Und die neueren Modelle sind davon nicht ausgenommen. Eine Studie der Carnegie Mellon University, der Columbia University und der Johns Hopkins University vom Dezember 2025 ergab, dass führende Modelle auf Ihre Prompts hin in 61 % der Fälle funktional korrekten Code liefern. Nur 10 % der Ergebnisse sind sowohl korrekt als auch sicher. Der „Vibe Security Radar“ der Georgia Tech verzeichnete im März 2026 35 neue CVE-Einträge, die direkt auf KI-generierten Code zurückgehen, nach sechs Einträgen im Januar. Das ist ein Trend, kein Ausreißer. Prüfen Sie Ihre Commits, bevor Sie das nächste Mal bereitstellen. Die Behebung liegt bei Ihnen.

Sie sind für das verantwortlich, was Sie veröffentlichen, und Ihr Tool allein macht Ihre Website noch nicht sicher. Prüfen Sie Ihren Code, testen Sie Ihre Seiten und beheben Sie die gefundenen Fehler: Dann ist Ihre Website sicher. Und wenn Sie Ihren Code unverändert übernehmen, hat ihn niemand geprüft, auch Sie selbst nicht. Ihre Prüfung ist die einzige Kontrolle, die Ihr Code durchläuft. Führen Sie die kostenlose Überprüfung für Ihre URL durch. Sehen Sie sich Ihre Header an und beheben Sie diese Fehler zuerst.

Welche Sicherheitsfehler machen KI-gebaute Websites am häufigsten?

Drei Probleme treten am häufigsten auf: Geheimnisse im Browser, Datenbanken, die wegen fehlender Zugriffsregeln offen stehen, und fehlende Sicherheits-Header. Durchsuchen Sie Ihren Quellcode und Ihre Bundles nach „sb_secret_“ oder „service_role“. Finden Sie einen der beiden Begriffe, haben Sie Ihren rein für das Backend bestimmten Schlüssel an jeden Besucher ausgeliefert. Escape.tech hat 5.600 mit „Vibe“ programmierte Anwendungen wie Ihre untersucht und dabei über 2.000 Schwachstellen, mehr als 400 offengelegte Geheimnisse sowie 175 Fälle offengelegter personenbezogener Daten festgestellt. Haben Sie mit „Vibe“ programmiert, könnte Ihr Bundle dasselbe enthalten. Prüfen Sie es also.

Nutzen Sie Supabase? Dann prüfen Sie Ihre Einstellungen. Laut VibeAppScanner war Supabase die häufigste Ursache für kritische Befunde in den untersuchten Apps, fast immer wegen deaktivierter Sicherheit auf Zeilenebene (Row Level Security). Aktivieren Sie diese Funktion in Ihren Tabellen. Veröffentlichen Sie eine mobile App? Dann gilt derselbe Test für Ihre Regeln. Barrack AI führt einen Vorfall vom 15. Januar 2026 auf Firebase-Regeln zurück, die „allow read: if true“ lauten, und eine Überprüfung von 196 iOS-KI-Apps ergab, dass in 98,9 % der Fälle Fehlkonfigurationen in Firebase die Ursache waren. Durchsuchen Sie Ihre Regeln nach dieser Zeile. Es ist nur eine, und sie lässt sich leicht übersehen. Steht sie drin, beheben Sie genau diesen Fehler als Erstes.

Testen Sie Ihre Anmeldung und Ihre Begrenzungen. IOActive stellte fest, dass bei fast allen Modellen die Authentifizierung und die Ratenbegrenzung versagten, ebenso die Kryptografie. Jedes Tool in der Tenzai-Studie wies Server-Side Request Forgery auf, ein typisches Problem dieser Kategorie. Prüfen Sie Ihre App daher darauf, egal welches Tool Sie verwendet haben.

Was verrät eine öffentliche Auswertung Ihrer Website über ihre Sicherheit?

Was Ihre Website an den Browser jedes Besuchers übermittelt, sehen Sie in der öffentlichen Anzeige: Antwort-Header und Markup, Skripte und die URLs, die zurückgegeben werden. Öffnen Sie Ihre Startseite und prüfen Sie die Registerkarte „Netzwerk“. Dort sehen Sie, welche der von OWASP aufgeführten Header Ihre Website sendet. Verrät Ihr „Server“- oder „X-Powered-By“-Header Ihren Stack? Das ist ein kostenloser Hinweis für jeden, der Ihre Website auslotet. Sie haben ihn preisgegeben, ohne dafür eine Gegenleistung zu verlangen.

In Ihrem JavaScript finden Sie womöglich eine Supabase-Projekt-URL samt Schlüssel. Das allein ist noch kein Fehler in Ihrem Build. Wiz weist darauf hin, dass dies nicht automatisch auf einen Sicherheitsfehler hindeutet; die Gefahr liegt vielmehr darin, wie das Backend hinter Ihrem Schlüssel konfiguriert ist. Fragen Sie sich, worauf Ihr Schlüssel Zugriff hat. Laut Stingrai gewähren eine offengelegte URL und ein offengelegter Schlüssel Zugriff auf die automatisch generierte REST-API, also prüfen Sie Ihr eigenes Bundle auf beides. Ihr Schlüssel ist wie eine Türklingel. Ihre Backend-Einstellungen entscheiden, wer Zutritt erhält.

Ihr öffentlicher Lesezugriff erkennt nicht, ob die Sicherheit auf Zeilenebene aktiviert ist. Er sieht auch nicht, wie Ihre Richtlinien lauten, wer sich auf Ihrer Website anmelden darf, welche Daten Ihre Analysetools erfassen oder wie Ihr Servercode Eingaben verarbeitet. Haben Sie einen Hinweis entdeckt? Prüfen Sie Ihre Datenbankeinstellungen. Ein Hinweis ist kein endgültiges Urteil. Die Überprüfung wertet nur Ihre öffentlich zugänglichen Seiten aus und meldet sich nirgends an; die Kontrolle Ihrer privaten Einstellungen bleibt deshalb weiterhin bei Ihnen.

Welche Header sollte eine KI-gebaute Website senden?

Ihre Website sollte die Header „Strict-Transport-Security“, „Content-Security-Policy“, „X-Content-Type-Options“, „Referrer-Policy“ und „Permissions-Policy“ senden, dazu eine Framing-Kontrolle Ihrer Wahl. Die drei Cross-Origin-Richtlinien sind optionale Zusätze. Lesen Sie die Antwort-Header Ihrer Startseite durch und haken Sie jeden Namen ab, den Sie finden. Laut OWASP helfen korrekte Antwort-Header, Cross-Site-Scripting und Clickjacking sowie die Offenlegung von Informationen auf Ihren Seiten zu verhindern. Jeder fehlende Name hinterlässt eine Lücke, und zwar eine stille, denn es geht nichts kaputt, wenn ein Header fehlt. Tenzai stellte fest, dass keine der 15 mit KI erstellten Anwendungen auch nur einen dieser Header gesetzt hatte. Haben Sie Ihre Anwendung mit KI erstellt, prüfen Sie das bitte. Einen Header hinzuzufügen kostet nichts. Fehlt er, kann Sie das dagegen viel kosten.

Senden Sie Ihre CSP als HTTP-Header und nicht als Meta-Tag. Laut OWASP deckt ein Header jede Antwort ab und unterstützt den gesamten Funktionsumfang. Ein Meta-Tag kann Ihnen dagegen keinen Schutz vor Framing bieten, kein Sandboxing und keine Protokollierung von Verstößen. Fügen Sie „frame-ancestors“ in Ihren Header ein: Laut MDN bietet Ihnen das mehr Optionen als „X-Frame-Options“. Sehen Sie in Ihren Antworten immer noch „X-Content-Security-Policy“ oder „X-WebKit-CSP“? Entfernen Sie beide. Sie sind veraltet und nützen Ihnen nichts.

Setzen Sie „X-Content-Type-Options“ auf „nosniff“, damit Browser den Content-Type verwenden, den Sie angegeben haben. Das erwarten Sicherheitstester von Ihrer Website. „Strict-Transport-Security“ braucht einen „max-age“-Wert in Sekunden. Wollen Sie „preload“ nutzen? Dafür brauchen Sie mindestens ein Jahr und „includeSubDomains“. Prüfen Sie deshalb zuerst Ihren aktuellen Wert. Aktivieren Sie „preload“ aber nicht leichtfertig für Ihre Domain, denn die Einstellung lässt sich kaum rückgängig machen. Lesen Sie die Anforderungen, bevor Sie Ihren Header ändern.

Woran erkennt man offengelegte Schlüssel, offene Endpunkte und Standardkonfigurationen?

Sie erkennen diese an Datenbankschlüsseln in Ihrem JavaScript, an REST-Pfaden Ihrer Website, die ohne Anmeldung antworten, und an Standardwerten, die Sie nie geändert haben. Prüfen Sie das Präfix Ihres Schlüssels. Ihr „sb_publishable_“-Schlüssel hat geringe Berechtigungen, mit aktiviertem RLS dürfen Sie ihn offenlegen. Ihr „sb_secret_“-Schlüssel gehört ausschließlich ins Backend und umgeht RLS. Ihre älteren Schlüssel „anon“ und „service_role“ sind diesen beiden zugeordnet.

Moltbook zeigt Ihnen, welchen Risiken Sie ausgesetzt sind. Der Supabase-Schlüssel stand im clientseitigen JavaScript, und RLS-Richtlinien gab es nicht. Innerhalb von drei Tagen nach dem Start fand Wiz 1,5 Millionen API-Authentifizierungstoken, 35.000 E-Mail-Adressen und private Nachrichten offen zugänglich. Ohne RLS gab dieser Schlüssel jedem uneingeschränkten Zugriff auf die Datenbank, und bei Ihrer Datenbank wäre es nicht anders. Auch Ihr Schlüssel kann sichtbar sein. Dann entscheiden Ihre Richtlinien über das Ausmaß des Schadens. Durchsuchen Sie Ihr Bundle und lesen Sie danach Ihre Richtlinien.

Auch Ihre Standardeinstellungen spielen eine Rolle. Prüfen Sie deshalb Ihre eigenen. Laut Supabase-Dokumentation erhalten Tabellen, die Sie in bestehenden Projekten öffentlich anlegen, SELECT-, INSERT-, UPDATE- und DELETE-Berechtigungen für „anon“, „authenticated“ und „service_role“. Die Standardeinstellung der Plattform ändert sich derzeit. Suchen Sie in Ihren Richtlinien nach „to anon using (true)“. Finden Sie diesen Eintrag, kann jeder nicht authentifizierte Besucher Ihre Tabelle lesen. Das ist die ganze Sicherheitslücke.

Was sollten Sie bei einer per Vibe Coding gebauten Website zuerst beheben?

Beheben Sie zuerst die offengelegten Backend-Geheimnisse, dann die Datenbankzugriffsregeln, danach die Header und zuletzt die logischen Fehler, die eine Codeprüfung erfordern. Durchsuchen Sie Ihre Bundles nach „sb_secret_“ und „service_role“. Finden Sie einen der beiden, tauschen Sie diesen Schlüssel sofort aus: Stingrai empfiehlt das für einen offengelegten „service_role“-Schlüssel. Halten Sie geheime Schlüssel ausschließlich im Backend. Ein durchgesickerter Schlüssel bleibt kompromittiert, bis Sie ihn ersetzen. Die Zeile aus dem Code zu löschen ersetzt ihn nicht.

Zweitens: Aktivieren Sie RLS für jede Tabelle in Ihrem öffentlich zugänglichen Schema, wie es die Supabase-Dokumentation beschreibt. Prüfen Sie jede Richtlinie mit dem Eintrag „to anon using (true)“ und stellen Sie sicher, dass die Tabelle wirklich öffentlich sein soll. Drittens: Ergänzen Sie die Header aus dem vorherigen Abschnitt. Header begrenzen den Schaden, schließen eine Sicherheitslücke aber nicht vollständig. Deshalb kommen sie in der Reihenfolge erst hinter Ihren Daten.

Prüfen Sie zuletzt in Ihrem Code die Authentifizierung, die Ratenbegrenzung, den CSRF-Schutz und den Umgang mit Server-Side Request Forgery. IOActive stellte fest, dass Aufforderungen wie „Schreiben Sie sicheren Code“ oft wirkungslos oder sogar kontraproduktiv waren. Lesen Sie deshalb Ihren Code selbst, statt Ihr Tool erneut aufzufordern.

Wie prüfen Sie die Säule Sicherheit Ihrer Website kostenlos?

Geben Sie die Adresse Ihrer Website in die kostenlose Bewertung ein. Nach etwa zwei Minuten erhalten Sie Ihre Punktzahl auf einer Skala von 100 und die Nachweise zu jeder der acht Säulen, auch zur Sicherheit. Die Bewertung fragt nach Ihrer geschäftlichen E-Mail-Adresse, und Sie erhalten einmalig einen Link zum Bericht. Pro Stunde und Verbindung sind drei Überprüfungen möglich.

Der Bereich „Sicherheit“ macht 12 % Ihrer Gesamtpunktzahl aus, das sehen Sie auch in Ihrem Bericht. Die Bewertung analysiert Ihre Startseite und bis zu acht zufällig ausgewählte Seiten und untersucht Antwort-Header, Markup und Skripte. Ihre Sicherheitsdaten entsprechen also den Informationen, die diese Seiten an einen Browser senden. Vergleichen Sie Ihren Bericht mit der obigen Header-Liste. So sehen Sie, welche Header auf Ihrer Website fehlen. Diese Lücken lassen sich am schnellsten schließen.

Ihre Gesamtpunktzahl ordnet Sie einer Kategorie zu: 80 bis 100: guter Zustand, 60 bis 79: eingeschränkt, 40 bis 59: gefährdet, 0 bis 39: Altlast. Die Bewertung meldet sich nicht auf Ihrer Website an, liest Ihre Analysedaten nicht aus, ruft Ihre Leistungsdaten aus der Praxis nicht ab und befragt niemanden. Ob Ihre Datenbank offen ist, sehen Sie nur in Ihren eigenen Backend-Einstellungen.

Fragen und Antworten.

01Ist ein Supabase-Schlüssel in meinem JavaScript ein Leck?

Nicht an sich. Wiz erklärt, dass Supabase-Anmeldedaten im Client-Code nicht automatisch auf eine Sicherheitslücke hindeuten, weil Supabase bestimmte Schlüssel bewusst offenlegt. Ein „publishable“- oder „anon“-Schlüssel setzt Row Level Security für jede Tabelle voraus. Aber ein „secret“- oder „service_role“-Schlüssel in Ihrem Bundle? Das ist immer ein Sicherheitsleck.

02Kann mir die Analyse sagen, ob meine Datenbank offen ist?

Nein. Die Überprüfung liest öffentliche Seiten aus: Header, Markup, Skripte und strukturierte Daten. Ob die Richtlinien zur Sicherheit auf Zeilenebene aktiv sind, kann sie nicht erkennen, denn diese Einstellung liegt in Ihrem Backend. Dabei kann ein Schlüssel in Ihrem JavaScript sichtbar werden. Das zeigt Ihnen, wo Sie suchen müssen, aber nicht, was Sie dort finden.

03Macht ein Sicherheits-Prompt KI-Code sicher?

Nicht zuverlässig. IOActive stellte fest, dass einfache Anweisungen wie „Sicheren Code schreiben“ oft wirkungslos oder sogar kontraproduktiv waren, und kein Modell lieferte eine zu 100 % sichere Ausgabe. Authentifizierung, Ratenbegrenzung und Kryptografie scheiterten bei fast allen Modellen. Prüfen Sie deshalb den generierten Code und danach, was Ihre Website an den Browser sendet.

04Spielen Sicherheits-Header eine Rolle, wenn meine Datenbank das eigentliche Risiko ist?

Ja, aber erst an zweiter Stelle. Korrigieren Sie zuerst Ihre Datenbankregeln: Die Sicherheitslücke bei Moltbook lag an fehlender Sicherheit auf Zeilenebene, nicht an fehlenden Headern. Header können helfen, Cross-Site-Scripting, Clickjacking und die Offenlegung von Informationen zu verhindern. Tenzai stellte fest, dass keine der 15 KI-gestützten Anwendungen solche Header gesetzt hatte; ergänzen Sie diese deshalb als Nächstes. Sie sind eine günstige Absicherung, aber nicht die erste Maßnahme.

Über den Autor.

Gautam Khorana

Gautam Khorana

Webentwickler und Gründer: Über 12 Jahre Erfahrung mit Tausenden von Websites aller Art und Größe, von WordPress bis hin zum modernen Web. Er hat das kostenlose Bewertungsinstrument, auf dem diese Website basiert, entwickelt und betreibt es und verfasst What Ships anhand dessen, was Websites tatsächlich ausliefern.

· LinkedIn · Über die Analyse

In zwei Minuten

Sehen Sie, was Ihre Website ausliefert.