Zum Inhalt springen

Die Sicherheitslage von Vibe-Coding-Apps 2026

30.998Live-Apps
9passive Prüfungen
12.–14. Aug.Prüffenster
19. Aug. 2026erste Ausgabe
Reeve-Studie

Wir haben nach Live-Apps gesucht, die mit Lovable, Bolt, v0, Replit oder Base44 gebaut wurden, und jede durch dieselben neun Prüfungen geschickt, die jeder kostenlos auf der Reeve-Startseite laufen lassen kann. Diese Seite ist das Ergebnis.

Deine App kann in dieser Stichprobe stecken. Hier wird sie nicht genannt, also siehst du nur auf einem Weg, wo sie steht: dieselben neun Prüfungen darauf laufen lassen

Nur der Blick von außen. Wir lesen, was der Browser eines Besuchers ohnehin liest: den Code, den die App ausliefert, die Header, die sie zurückschickt, die Endpunkte, die in ihrem eigenen Code stehen. Keine Logins, kein Passwortraten, nichts heruntergeladen. Methode ↓

Hier wird keine App genannt, in der Datendatei auch nicht. Zu jeder Zahl steht die Methode, die sie ergeben hat, und die Datei unten hält jede Aggregation in einer Tabelle, falls du nachrechnen willst.

Jede App, benotet

452 Apps, etwa eine von 69, stehen bei D oder F
A23.62176% , Note A, 23.621 Apps
B4.95816% , Note B, 4.958 Apps
C1.9676% , Note C, 1.967 Apps
D4441% , Note D, 444 Apps
F8<1% , Note F, 8 Apps

Sechs Zahlen, um die es geht

Diese sechs Zahlen sind der Bericht. Alles danach ist die Basis, auf der jede einzelne steht, und wie wir sie bekommen haben.

  1. Sicherheits-Header1/6
    99%

    der 30.998 geprüften Apps hatten mindestens einen Befund. Die meisten davon waren moderat, und fast allen fehlen Sicherheits-Header im Browser.

  2. Datenbankzugriff2/6
    57%

    der Supabase-Apps, die wir erreichen konnten, ließen Fremde mindestens eine Datenbanktabelle ohne Anmeldung lesen: 2.096 von 3.680.

  3. Datenbankzugriff3/6
    394

    Apps hatten eine lesbare Tabelle, deren Name nach personenbezogenen Daten aussieht: users, profiles, orders. Eine Anfrage, kein Passwort.

  4. Offengelegte Geheimnisse4/6
    1von23

    Apps liefern einen geheimen Schlüssel im öffentlichen Code aus: insgesamt 1.332. Nur 3 davon gaben den Hauptschlüssel der Datenbank preis. Das ist seltener, als die Aufregung vermuten lässt.

  5. Source Maps5/6
    13%

    veröffentlichen Source Maps: den Originalcode der App, lesbar in den Entwicklertools jedes Browsers. Das sind 3.885 Apps.

  6. Notenverteilung6/6
    76%

    erreichen die Note A. Die Grundlagen halten meistens, und die ernsten Fehler häufen sich an einer Stelle: in der Datenbank.

Die Voreinstellungen der Plattform gehen fast überall schief, und die meisten dieser Fehler sind moderat. Was nur die Person ändern kann, die die App gebaut hat, geht viel seltener schief, und genau das legt die Daten anderer Leute ins offene Internet.

Wie diese Apps abschneiden, A bis F

Reeve benotet eine App wie ein Zeugnis. Abzüge nach Schwere gehen von hundert Punkten ab. Dann setzt der schwerste einzelne Befund eine Obergrenze: Mit einem kritischen Befund kommt die App über D nicht hinaus, mit einem hohen Befund nicht über C.

Wie alle Apps abschneiden, die wir einordnen konnten

23.621 · 76% , Note A, 23.621 Apps
4.958 · 16% , Note B, 4.958 Apps
1.967 · 6% , Note C, 1.967 Apps
444 · 1% , Note D, 444 Apps
8 · <1% , Note F, 8 Apps

Das sind 452 Apps mit einem Loch, durch das ein Fremder heute spazieren könnte.

Die meisten Apps landen bei A oder B. Das Feld aus D und F ist klein. Das sind die Apps, in denen ein Fremder schon jetzt die Zeilen anderer Leute lesen kann.

Was wir geprüft haben und wie viele Apps daran gescheitert sind

Jede Prüfung stellt eine Frage über die App von außen, und jede zählt über die Apps, bei denen sie eine Antwort bekam. Eine App, die eine Prüfung nicht erreichen konnte, fällt aus der Basis dieser Prüfung heraus, statt als sauber zu gelten. Der Scan sagt für diese Apps, dass er es nicht prüfen konnte, und diese Seite macht es genauso.

Wisch zur Seite, um Anteil und schwersten Fall zu sehen.

Befunde pro Prüfung
PrüfungAppsvonAnteilSchwerster Fall
Sicherheits-HeaderBrowser-Schutzmaßnahmen, die die Hosting-Plattform senden sollte30.75630.98199%höchstens Mittel
Cross-Site-FreigabeDie API der App antwortet jeder Website, die fragt6.86730.92622%höchstens Hoch
Source MapsDer Originalcode, veröffentlicht direkt neben der App3.88530.98713%höchstens Mittel
DatenbankzugriffDatenbanktabellen, die ohne Anmeldung lesbar sind2.09626.2498%höchstens Kritisch
Offengelegte GeheimnisseSchlüssel, die auf einen Server gehören, an Browser ausgeliefert1.33230.9984%höchstens Kritisch
Speicher-BucketsDateispeicher, den jeder von außen auflisten kann79227.2693%höchstens Hoch
Domain-VerlängerungRegistrierung läuft bald ab oder ist bereits abgelaufen5530.980<1%höchstens Hoch
SSL-ZertifikatZertifikat abgelaufen, läuft ab oder ist nicht vertrauenswürdig3230.851<1%höchstens Hoch
Private DateienKonfigurationsdateien und Dumps an öffentlichen Pfaden830.749<1%höchstens Kritisch

Jeder Anteil bezieht sich auf die Apps, bei denen diese Prüfung antworten konnte. Der Punkt ist die schlimmste Ausprägung dieses Problems in der Zeile, nicht die typische.

Zwei Zeilen klingen schlimmer, als sie sind. Sicherheits-Header sind Anweisungen, die die Hosting-Plattform an den Browser schickt, und fehlt einer, hat eine Angriffsart ein Hindernis weniger vor sich. Eine veröffentlichte Source Map ist der Originalcode der App neben der kompilierten Fassung: Sie zeigt einem Angreifer, wo er suchen müsste, und gibt von sich aus nichts preis.

Eine Zeile kann auch schwer wirken, weil eine Handvoll Apps darin etwas Ernstes ausgeliefert hat und der Rest etwas Gewöhnliches. Die Datendatei schlüsselt jede Zeile nach Schlüsseltyp auf, damit man sieht, was was ist.

Mehr als die Hälfte der prüfbaren Supabase-Apps gibt Tabellendaten preis

Auf diese Zahl sind wir immer wieder zurückgekommen.

Ein Supabase-Projekt ist von Haus aus zum Internet hin offen. Die App im Browser spricht direkt mit der Datenbank, mit einem Schlüssel, der öffentlich sein soll, und was zwischen einem Fremden und den Zeilen steht, ist Row Level Security: eine Regel auf jeder Tabelle. Schalte diese Regel ab oder schreibe eine Policy, die alle hereinlässt, und jede Tabelle des Projekts ist mit einer Anfrage und ohne Passwort lesbar.

57% 2.096 von 3.680

8.429 Apps in dieser Erhebung nennen ein Supabase-Projekt. Bei 3.680 davon bekam unsere Prüfung eine Antwort; der Rest liegt hinter Backends, hinter die wir nicht sondieren, also sagen wir dazu nichts. Von diesen 3.680 hatten 2.096 mindestens eine Tabelle, die ein Fremder mit einer einzigen Anfrage und ohne Passwort lesen kann.

Weniger als die Hälfte der Apps, die ein Supabase-Projekt nennen, lassen sich überhaupt prüfen. Manche leiten ihren Datenbankverkehr über ein eigenes Backend, wohin eine Prüfung von außen nicht folgen kann, und über die sagen wir deshalb gar nichts. Der Anteil oben gilt für die Apps, die geantwortet haben.

1.702 Apps geben Tabellen mit allgemeinen oder technischen Namen preis: settings, content, logs.

394 Apps geben Tabellen preis, deren Namen nach personenbezogenen Daten klingen: users, profiles, orders, messages.

Die Aufteilung ist der nützliche Teil. Eine lesbare Tabelle namens settings oder content ist ein Fehler. Eine lesbare Tabelle namens users, profiles oder orders sind die personenbezogenen Daten anderer Leute im offenen Internet, und wer die App gebaut hat, hält sie mit ziemlicher Sicherheit für privat.

Die Prüfung liest nie eine Zeile. Sie fragt die Datenbank, wie viele Zeilen sichtbar wären, und liest die Anzahl aus einem Antwort-Header zurück. Das reicht, um eine Tabelle mit RLS-Regel von einer ohne zu unterscheiden, und weiter geht die Prüfung nicht.

Dieselben neun Prüfungen, nach Builder aufgeteilt

Jede App ist nach dem Builder gruppiert, mit dem sie veröffentlicht wurde, und an den übrigen Apps dieses Builders gemessen.

Wisch zur Seite, um die beiden Supabase-Spalten zu sehen.

Nach Builder, nur auf den Standard-Veröffentlichungsdomains
BuilderAppsMit BefundNoten D–FNutzen SupabaseLesbare Datenbank
Lovable18.55499%2% 407 Apps35%57%von 3.553
Base445.438100%<1% 2 Apps27%zu wenige prüfbare Apps für einen Anteil
Replit3.04299%<1% 9 Apps1%zu wenige prüfbare Apps für einen Anteil
v01.790100%0% 0 Apps1%zu wenige prüfbare Apps für einen Anteil
Bolt1.123100%1% 15 Apps24%77%von 35

Die letzte Spalte ist der Anteil der Supabase-Apps dieses Builders, bei denen unsere Prüfung eine Antwort bekam, mit dieser Basis daneben. Ein Strich heißt: zu wenige prüfbare Apps für einen Anteil. Behandle ihn als Lücke in unseren Daten und zieh keinen Schluss darüber, wie sicher diese Apps sind.

Die markierte Zeile leitet ihren Datenbankverkehr über das eigene Backend des Anbieters, wohin eine Prüfung von außen nicht folgen kann. Diese Apps sind hier ungemessen.

Apps auf eigenen Domains lassen sich von außen keinem Builder zuordnen und bleiben aus dieser Tabelle heraus.

Das meiste, was diese Tabelle vergleicht, sind Voreinstellungen. Niemand wählt Lovable oder Bolt wegen der Security-Header. Die setzt die Plattform für jede App, die sie hostet, also verschiebt eine Änderung dort eine ganze Spalte dieser Tabelle.

Zwei Grenzen, bevor jemand eine Zeile zitiert. Wir ordnen Apps über die Veröffentlichungsdomain zu, also steht eine App, die auf eine eigene Domain umgezogen ist, ganz außerhalb dieser Tabelle, und das sind oft die fertigeren. Und ein Builder, der den Datenbankverkehr über sein eigenes Backend leitet, lässt sich von außen überhaupt nicht prüfen. Eine Lücke dort heißt, dass wir nicht messen konnten, und sagt nichts darüber, wie sicher diese Apps sind.

Zwei Arten von Befunden, zwei Arten von Reparatur

Die Befunde auf dieser Seite fallen in zwei Gruppen, und die beiden müssen von unterschiedlichen Leuten repariert werden.

Was die Plattform steuert

höchstens Hoch

Wenn fast jeder App an einem Ort derselbe Header fehlt, machen nicht Zehntausende Menschen denselben Fehler. Das kommt mit dem Hosting, und eine einzige Änderung auf Seiten der Plattform würde alle davon beheben.

  • Sicherheits-Header99%
  • Source Maps13%
  • Domain-Verlängerung<1%
  • SSL-Zertifikat<1%

Was nur du selbst steuerst

höchstens Kritisch

Keine Hosting-Plattform kann wissen, welche deiner Tabellen öffentlich sein sollen oder welcher Schlüssel auf einen Server gehört. Jeder kritische Befund in diesem Bericht liegt auf dieser Seite.

  • Cross-Site-Freigabe22%
  • Datenbankzugriff8%
  • Offengelegte Geheimnisse4%
  • Speicher-Buckets3%
  • Private Dateien<1%

Die erste Gruppe ist eine Produktentscheidung in einer Firma. Eine einzige Änderung an einer Hosting-Voreinstellung verschiebt jede App auf dieser Plattform auf einmal, und deshalb fallen diese Zeilen so gleichförmig aus und lassen sich hier am günstigsten beheben.

Die zweite Gruppe liegt bei der Person, die die App gebaut hat. Keine Hosting-Plattform kann wissen, welche deiner Tabellen öffentlich sein sollen oder welcher Schlüssel auf einen Server gehört. Jeder kritische Befund in diesem Bericht liegt in dieser Gruppe. Die Sicherheitsleitfäden für die einzelnen Builder und die Sicherheitscheckliste zum Start fangen beide dort an.

Was Vibe-Coding-Apps richtig machen

Wir haben auch gezählt, was bestanden hat, über dieselben Apps.

96%liefern kein einziges Geheimnis in ihrem öffentlichen Code aus.

97%des prüfbaren Dateispeichers ist für Außenstehende gesperrt.

99%liefern ein gültiges Zertifikat aus.

Ein veröffentlichbarer Schlüssel im Frontend gehört genau dorthin. Wir bewerten ihn mit OK und sagen auch warum.

Bei der letzten Karte liegen allgemeine Scanner meistens daneben. Ein veröffentlichbarer Schlüssel im Frontend (ein anon key von Supabase, ein publishable key von Stripe) gehört genau dorthin: Er soll gelesen werden, und der Schutz steckt in den Regeln dahinter. Ihn zu melden schickt jemanden los, um eine Einstellung zu ändern, die schon richtig war.

Wie wir gemessen haben und wo die Grenzen liegen

Woher die Apps kamen

Drei Listen, zusammengeführt und von Dubletten befreit: Apps, die Leute auf X und Reddit gepostet haben, Apps, die auf Show HN vorgestellt wurden, und Apps, die wir über die Veröffentlichungsdomains der Builder selbst aufgezählt haben. Die Veröffentlichungsdomains machen den Großteil der Stichprobe aus und sind die einzige Liste, die skaliert. Die anderen beiden finden nur Apps, über die jemand etwas geschrieben hat.

Tote Hosts sind zuerst herausgeflogen, und beurteilt haben wir das, indem wir die Seite selbst gelesen haben. Eine gelöschte Veröffentlichung antwortet oft immer noch mit einem bestens gelaunten 200 OK.

Die Regel für den Nenner

Jeder Anteil hier bezieht sich auf die Apps, bei denen diese Prüfung antworten konnte, nie auf die Stichprobe insgesamt. Eine Prüfung, die eine App nicht erreichen konnte, lässt diese App aus ihrer eigenen Basis heraus, und sie gilt nie als sauber. Die zwei Zahlen neben jedem Balken sind diese Basis, damit jeder sieht, welche er gerade liest.

56 Apps lieferten zu wenig zurück, um sie in die eine oder andere Richtung einzuordnen. Sie stehen außerhalb jeder Zahl auf dieser Seite, statt als sauber gezählt zu werden.

Die Noten zählen aus demselben Grund über eine kleinere Zahl. Eine App, die zu wenig zurückgab, um sie einzuordnen, fällt aus jeder Zahl weiter oben heraus, statt auf Verdacht benotet zu werden.

Was wir getan haben und was nicht

  • Nur passives Lesen: die Anfragen, die der Browser eines Besuchers ohnehin stellt, dazu die öffentlichen Endpunkte, auf die die App selbst zeigt.
  • Die Datenbankprüfung nimmt eine Zeilenzahl aus einem Antwort-Header. Wir haben nie eine Zeile gelesen, nie eine Datei heruntergeladen, uns nie angemeldet und nie ein Passwort geraten.
  • Keine App wird genannt, weder hier noch in der Datendatei. Eine Liste von Apps mit ihren Schwachstellen daneben ist eine Zielliste, und die halten wir in veröffentlichbarer Form nicht vor.

Grenzen, die man kennen sollte

  • Die Stichprobe neigt zu jüngeren Apps. Eine App, die auf eine eigene Domain umgezogen ist, lässt sich von außen keinem Builder zuordnen, und das sind oft die etablierteren.
  • Die Farbe in einer Zeile markiert den schwersten Fall, den wir gesehen haben, und das kann eine App unter Hunderten sein. Die Datendatei schlüsselt jede Zeile nach genauem Schlüsseltyp auf.
  • Das ist ein Fenster von drei Tagen im August. Eine App, die in der Woche darauf repariert wurde, zählt hier so, wie sie an dem Tag stand, an dem wir hingesehen haben.
  • Eine automatisierte externe Prüfung ist kein Audit. Dass nichts gefunden wurde, ist keine Garantie.

Diese Zahlen weiterverwenden

Presse, Forschung und alle, die darüber schreiben, dürfen die Daten mit Quellenangabe weiterverwenden. Die Datei unten enthält jede Aggregation dieser Seite in einer flachen Tabelle und nennt keine einzige App.

Reeve. The State of Vibe-Coded App Security 2026. 30.998 Live-Apps, geprüft 12. August 2026 – 14. August 2026. reeve.page/research/vibe-coded-app-security-2026

Daten unter CC BY 4.0: frei weiterverwendbar, bitte Reeve mit einem Link nennen. Die Datei enthält jede Aggregation dieser Seite und nennt keine einzige App.

10

Fragen

Könnt ihr mir sagen, welche Apps welche Probleme hatten?

Nein. Nur Zahlen und Anteile, niemals Namen, und die Datendatei enthält genau das, was die Seite zeigt. Eine Liste von Apps mit ihren Schwachstellen daneben ist eine Zielliste, und die stellen wir nicht her.

Meine App steckt vielleicht in diesen Daten. Was soll ich tun?

Scanne sie selbst. Es sind dieselben neun Prüfungen, es dauert etwa zwanzig Sekunden, und du bekommst deine Note und das, was ein Fremder ohnehin schon sieht. Auf dieser Seite wird niemand identifiziert, also ist das der einzige Weg herauszufinden, wo du stehst.

Ist eine lesbare Datenbanktabelle wirklich so ernst?

Wenn jeder im Internet diese Zeilen mit einer einzigen Anfrage und ohne Passwort abrufen kann, ja. Eine lesbare Tabelle namens settings ist schlampig. Eine lesbare Tabelle namens users oder orders ist ein Datenleck, das nur noch niemand bemerkt hat.

Warum zählt ihr veröffentlichbare Schlüssel als in Ordnung?

Der anon key von Supabase soll öffentlich sein. Der Schutz steckt in den Regeln der Datenbank dahinter, nicht im Schlüssel selbst. Werkzeuge, die solche Schlüssel melden, bringen Leuten bei, die nächste Warnung zu überlesen, und die ist vielleicht die, auf die es ankommt.

Wiederholt ihr diese Erhebung?

Ja. Die Scans laufen weiter, und die nächste Ausgabe folgt ihnen. Die Datendatei hält fest, aus welchem Fenster diese Zahlen stammen, damit eine alte Kopie nicht als aktuelle durchgeht.

Wo landet deine App?

Dieselben neun Prüfungen, auf deiner App, kostenlos. Eine Note und ein Bericht in verständlicher Sprache in etwa 20 Sekunden.

Sicherheitsberichtyour-app.com
C

Note · Punktzahl 72/100

Geheime SchlüsselEin geheimer Schlüssel liegt offen in deinem CodeHoch
DatenbankschutzRow-Level Security ist aktivOK
Deine App kostenlos scannen