00 / Kostenloser Supabase-Check

Kann ein Fremder die Tabellen hinter deiner App lesen?

Deine App bringt die Adresse ihres Supabase-Projekts und den öffentlichen Schlüssel im eigenen JavaScript mit, so ist es vorgesehen. Wir fragen damit genau einmal nach einer Zeile, so wie es jede Besucherin könnte, und sagen dir, ob etwas zurückkam.

ADRESSE DEINER WEBSITE EINFÜGEN
https://
Keine AnmeldungWir lesen nur, wir ändern nichts68 Prüfungen insgesamt
01 / Warum das so oft offen steht

Der öffentliche Schlüssel ist kein Geheimnis, er gehört in den Browser. Was den Zugriff begrenzt, ist Row-Level Security: eine Regel pro Tabelle, die festlegt, wer welche Zeile sehen darf. Bei einer neu angelegten Tabelle ist sie aus, bis jemand sie einschaltet.

Genau hier verliert die KI den Faden. Sie legt Tabellen an, schreibt die App drumherum, alles funktioniert, und die Regeln bleiben aus. Es sieht nicht kaputt aus. Es fällt erst auf, wenn jemand danach sucht, und Bots suchen ununterbrochen. Dasselbe Muster steckt hinter CVE-2025-48757.

In unserer Stichprobe öffentlicher Lovable-Seiten war bei 11 von 38 Seiten mit erkennbarer Datenbank mindestens eine Tabelle ohne Anmeldung lesbar. Zusammengerechnet meldeten diese Tabellen über 5.000 Zeilen.

02 / Wie wir prüfen, ohne etwas anzufassen

Wir lesen die Tabellennamen aus dem JavaScript, das deine eigene Seite ausliefert. Dann fragen wir mit dem öffentlichen Schlüssel je Tabelle nach genau einer Zeile und lesen die Gesamtzahl, die die Datenbank selbst im Antwort-Header zurückmeldet. Mehr passiert nicht: kein Schreiben, kein Löschen, keine Anmeldung, kein Passwortversuch, keine zweite Seite.

Kommt nichts zurück, sagen wir das auch so, und zwar ehrlich: eine leere Tabelle und eine geschützte Tabelle sehen von außen identisch aus. Wir behaupten dann nicht, dass alles sicher ist, sondern dass von außen nichts lesbar war.

Wenn in einer offenen Tabelle Spalten stecken, die nach personenbezogenen Daten aussehen, sagen wir das getrennt, weil dann zusätzlich eine Meldepflicht nach Art. 33 DSGVO im Raum stehen kann.

03 / Was du dagegen tust

Für jede Tabelle im öffentlichen Schema Row-Level Security einschalten und eine Regel ergänzen, die nur die eigenen Zeilen freigibt. Den Text zum Einfügen in deinen Builder bekommst du im Bericht, danach prüfst du direkt noch einmal nach und siehst, ob es gewirkt hat.

Zweitens: Suche im ausgelieferten JavaScript nach dem service_role-Schlüssel. Wenn der im Browser liegt, hilft keine Regel mehr, dann muss er sofort ausgetauscht werden. Auch das prüfen wir mit.

Die Prüfungen dazu
A-01
Jeder kann deine Datenbank lesen

Deine Supabase-Tabelle antwortet jedem, der fragt, ganz ohne Login. Das sind die Daten deiner Nutzer, lesbar für Fremde. Wir fragen einmal, rein lesend, und berichten, was zurückkam.

A-03
Personenbezogene Daten sind öffentlich lesbar

Eine lesbare Tabelle enthält Felder wie E-Mail, Telefon oder Passwort-Hashes. Genau solche Lecks landen bei der Aufsichtsbehörde.

A-07
Konten ohne E-Mail-Bestätigung

Die Registrierung ist offen und die Bestätigung per E-Mail ist aus. Ein Skript kann tausende Konten anlegen, auch mit fremden Adressen.

ANLEITUNG Supabase Row Level Security richtig einschalten (Schritt für Schritt)

ANLEITUNG Lovable-Website absichern: die Liste zum Abarbeiten

Alle 68 Prüfungen ansehen · Die Studie mit den Zahlen · In English

Häufige Fragen
Ist der anon-Schlüssel im Browser ein Fehler?

Nein, der gehört dorthin. Gefährlich wird es erst, wenn die Tabellen dahinter keine Regeln haben, oder wenn versehentlich der service_role-Schlüssel mit ausgeliefert wird. Letzterer hebelt alles aus.

Ihr lest also meine Daten?

Wir fragen eine Zeile pro Tabelle ab, um überhaupt feststellen zu können, ob geantwortet wird. Was wir im Bericht zeigen, ist maskiert und nur für dich sichtbar, und gespeichert wird der Inhalt nicht. In der Studie sind keine Inhalte, keine Tabellennamen und keine Adressen enthalten.

Warum meldet ihr manchmal nichts, obwohl RLS aus ist?

Weil eine leere Tabelle von außen genauso aussieht wie eine geschützte. Wir melden dann ausdrücklich, dass wir es nicht unterscheiden können, statt dir eine Sicherheit vorzugaukeln.

Gilt das auch für Firebase?

Dasselbe Muster, andere Technik: dort sind es die Security Rules. Firebase prüfen wir ebenfalls, auch da rein lesend.

Alle rechtlichen Angaben auf dieser Seite sind allgemeine Informationen mit Verweis auf die jeweilige Regel. Deckproof bewertet deinen Einzelfall nicht und leistet keine Rechtsberatung.