Ist deine Supabase-App sicher?

Supabase ist die Datenbank und das Backend hinter einem riesigen Anteil der Vibe-Coding-Apps. Es ist mächtig und sicher, wenn es richtig eingerichtet ist — aber ein paar Einstellungen entscheiden, ob deine Daten privat oder für die Welt offen sind, und sie sind leicht zu übersehen.

Reeve prüft die, auf die es ankommt, von außen, kostenlos, und erklärt in verständlichem Deutsch, was es findet. Keine Installation, kein Zugriff auf dein Projekt — wir sehen uns nur an, was ohnehin erreichbar ist, und wir lesen nie deine tatsächlichen Daten.

Deine Supabase-App kostenlos scannen

Füge den Link deiner App ein. Etwa 20 Sekunden. Sieh deine Note ohne Anmeldung.

Was bei Supabase tatsächlich schiefgehen kann

Nichts davon bedeutet, dass du etwas falsch gemacht hast — es sind die üblichen Lücken, wenn man schnell unterwegs ist. Das ist einen Blick wert:

  • Row Level Security (RLS) ausgeschaltet

    RLS ist Supabases Regel dafür, wer jede Zeile einer Tabelle lesen oder ändern darf. Mit dem öffentlichen „anon“-Schlüssel — der in deiner App liegen soll — kann jeder deine Datenbank direkt abfragen. RLS ist das, was sie davon abhält, Zeilen zu sehen, die nicht ihnen gehören. Ist es aus, kann eine Tabelle für jeden vollständig lesbar oder sogar änderbar sein. Das ist die wichtigste Supabase-Einstellung, und Reeve prüft sie, indem es Zeilen zählt, nie indem es sie liest.

  • Ein geleakter service_role-Schlüssel

    Supabase gibt dir zwei Schlüssel. Der „anon“-Schlüssel ist von Haus aus öffentlich und im Browser sicher. Der „service_role“-Schlüssel umgeht alle deine Sicherheitsregeln und darf nur auf einem Server leben. Landet er je im Frontend-Code deiner App, kann jemand alles mit deinen Daten anstellen. Reeve dekodiert die gefundenen Schlüssel und sagt dir genau, welcher offengelegt ist — der sichere „anon“ bekommt ein grünes Häkchen, „service_role“ ist ein roter Alarm.

  • Öffentliche Speicher-Buckets

    Von Leuten hochgeladene Dateien leben in Supabase-Storage-„Buckets“. Ein auf öffentlich gesetzter Bucket bedeutet, dass jeder auflisten und herunterladen kann, was drin ist — sodass private Uploads für alle sichtbar werden können. Reeve prüft, ob deine Buckets auflistbar sind; es lädt nie die Dateien von jemandem herunter.

  • Deine API offen für jede Website (CORS)

    Supabase gibt deiner Datenbank eine Webadresse (über PostgREST). Kombiniert mit einer zu freizügigen Freigabe-Einstellung könnte eine andere Website deine Daten aus dem Browser eines Besuchers aufrufen. Reeve prüft, ob deine Endpunkte Fremden und anderen Seiten antworten — ohne sie je zu nutzen, um etwas zu ändern.

  • Tabellen und Endpunkte ohne Regeln offengelegt

    Jede Tabelle, die du anlegst, ist über Supabases API erreichbar — das ist so gewollt, und RLS soll sie bewachen. Aber eine in Eile hinzugefügte neue Tabelle, bevor ihre Regeln gesetzt sind, kann kurzzeitig (oder dauerhaft) offen sein. Reeve prüft, was tatsächlich von außen erreichbar ist.

  • Schlüssel oder Konfiguration in der deployten App gelassen

    Über Supabases eigene Schlüssel hinaus tragen Apps oft andere Einstellungen und Geheimnisse in ihrem Frontend-Code oder einer offengelegten .env. Reeve liest den geladenen Code deiner App und prüft auf erreichbare Konfigurationsdateien, dann sagt es dir, welche Werte sicher öffentlich sein können und welche nicht.

Was Reeve ist — und was nicht

Reeve ist eine kostenlose, nur-lesende Prüfung von außen — wie ein Inspektor, der die Türen probiert, ohne einzutreten. Sie ist schnell und fängt die häufigen, folgenreichen Fehler ab. Sie ist kein vollständiges Sicherheitsaudit, und eine saubere Note ist keine Garantie — sie bedeutet, dass die offensichtlichen Türen zu sind. Alles, was Reeve tut, ist passiv: Es zählt Zeilen, statt sie zu lesen, und lädt nie deine Dateien herunter.

Supabase gibt dir echte Sicherheitswerkzeuge — einen Security Advisor und einen Datenbank-Linter, die RLS- und Offenlegungsprobleme direkt im Dashboard melden — und die sind wirklich empfehlenswert. Was Reeve ergänzt: Die meisten, die auf Supabase bauen, leben in ihrem App-Baukasten, nicht im SQL-Editor, und der Advisor spricht Entwickler. Reeve prüft deine ganze App von außen — so, wie ein Angreifer an deine Daten käme — und erklärt in verständlichen Worten, was es findet. Und wenn du sie lieber nicht selbst im Blick behalten möchtest, können wir das.

Willst du es erledigt, nicht nur geprüft?

Reeve Care behält deine App im Blick, sichert deine Daten und hilft dir, Dinge zu reparieren, wenn sie kaputtgehen — damit du weiterbauen kannst, statt dir Sorgen zu machen.

Mehr über Reeve Care erfahren

Fragen, ehrlich beantwortet

Was ist Supabase-RLS und brauche ich es wirklich?

RLS (Row Level Security) entscheidet, wer jede Zeile in deinen Tabellen sehen oder ändern darf. Weil deine App einen öffentlichen „anon“-Schlüssel ausliefert, der die Datenbank direkt abfragen kann, ist RLS das, was die Daten eines Nutzers davor bewahrt, für alle sichtbar zu sein. Ja — für jede Tabelle mit echten Daten brauchst du es an. Reeve prüft, ob es an ist, ohne deine Daten zu lesen.

Ist der Supabase-anon-Schlüssel sicher offenzulegen?

Ja — der „anon“-Schlüssel ist dafür gemacht, in deinem Frontend zu leben, und für sich allein tut er nur, was deine RLS-Regeln erlauben. Der Schlüssel, der nie offengelegt werden darf, ist der „service_role“-Schlüssel, der alle Regeln ignoriert. Reeve dekodiert die Schlüssel in deiner App und sagt dir, welcher welcher ist.

Was passiert, wenn mein service_role-Schlüssel leakt?

Der service_role-Schlüssel umgeht jede Sicherheitsregel, sodass jeder, der ihn hat, all deine Daten lesen, ändern oder löschen kann. Ist er in deinem Frontend-Code, behandle ihn als kompromittiert: rotiere ihn im Supabase-Dashboard und verschiebe ihn auf einen Server. Reeve markiert einen offengelegten service_role-Schlüssel als kritisches Problem.

Kann Reeve mein Supabase ohne mein Datenbank-Passwort prüfen?

Ja. Reeve nutzt nur, was deine App ohnehin öffentlich offenlegt — denselben anon-Schlüssel und dieselben Endpunkte, die der Browser jedes Besuchers nutzt. Es braucht nie dein Datenbank-Passwort, loggt sich nie als Admin ein und liest oder lädt nie deine Zeilen oder Dateien herunter.

Deine App in einem bestimmten Tool gebaut? Hier ist derselbe ehrliche Überblick für:

← Alle Baukasten-Sicherheitsleitfäden ansehen

Automatisierte externe Prüfung, kein vollständiges Audit. Das Fehlen von Funden ist keine Garantie für Sicherheit.