Ich werde deine Lovable- oder Bolt-Supabase-App vor dem Start auf Sicherheit prüfen


Über diesen Service
Automatische Übersetzung
Mit Lovck Clean gebaut, werde ich dir sagen, dass es funktioniert. Das war nie die Frage.
Die Frage ist, was ein Fremder, der deinen anon-Schlüssel hält, daraus lesen kann.
Diese Tools generieren Policies schnell, und sie sehen meist richtig aus. Aber RLS ist nur eine Schicht. Darunter liegt das Postgres-Grant-System, darüber PostgREST, und die Lecks befinden sich in den Nähten.
Ich betreibe ein Multi-Tenant-POS auf Supabase – 90 Migrationen, täglich echtes Geld. Drei Sicherheitsüberprüfungen haben sechs echte Schwachstellen gefunden, alle nach Policies, die, so wie sie geschrieben sind, korrekt waren.
WAS ICH ÜBERPRÜFE
- Tabellen mit ausgeschaltetem RLS oder eingeschaltetem RLS ohne Policy
- - Funktionen, die anon ausführen kann (das Widerrufen nur bei anon schließt das NICHT)
- - Views, die RLS umgehen, und die, die PostgREST stillschweigend schreibbar gemacht hat
- - Tabellenweite Grants und die Asymmetrie, die niemand erwartet:
- eine neue Spalte wird für Reads VERNEINT, bis du sie grantest
- eine neue Spalte wird für Writes ERLAUBT, bis du sie widerrufst
WIE ICH DAS BEWEISE
Ich logge mich als ein echter Nutzer mit niedrigen Rechten aus deinem Projekt ein, führe die Abfrage aus und zeige dir die Antwort. Jede Erkenntnis enthält ihre Abfrage und das Ergebnis. Nach der Behebung läuft die gleiche Abfrage erneut und liefert etwas anderes.
Das Read-Only-Skript, das ich verwende, ist öffentlich – führe es selbst aus
Lerne Basel Draz kennen
Supabase RLS and privilege audits
- AusÄgypten
- Mitglied seitFeb. 2024
- ⌀ Antwortzeit11 Stunden
Sprachen
Arabisch, Englisch
Automatische Übersetzung
Mein Portfolio
FAQ
Automatische Übersetzung
Brauche ich meine Produktionsdatenbank?
Nein. Eine Read-Only-Rolle oder eine Staging-Kopie mit demselben Schema reicht aus. Die Checks lesen Kataloge, nicht deine Zeilen. Ich möchte deinen Service-Rollen-Schlüssel nicht und werde dich bitten, ihn nicht zu senden. Nur das Audit- und Fix-Paket benötigt Schreibzugriff, und nur für die in dem Bericht aufgeführten Migrationen.
Ich habe den Code nicht selbst geschrieben, die KI hat das gemacht. Ist das ein Problem?
Überhaupt nicht, und du musst kein SQL verstehen, um den Bericht zu nutzen. Der obere Teil ist in einfacher Sprache geschrieben, für den, der es absegnet, und die Abfragen und Migrationen sitzen darunter für den, der sie anwendet. Wenn du das auch bist, werde ich dich durch jede einzelne führen.
Was, wenn du nichts findest?
Dann sagt der Bericht das so, und du hast eine dokumentierte Basislinie plus die Liste aller getesteten Dinge. Führe das öffentliche Skript selbst aus, bevor du bestellst. Wenn es sauber zurückkommt, schreib mir und ich sage dir ehrlich, dass du das nicht brauchst.
Ist das nur für Supabase?
Die Checks sind einfache Postgres-Checks und funktionieren auf jeder Postgres 15+ Datenbank mit Row Level Security. Supabase ist der Ort, an dem sie am dringendsten benötigt werden, weil die anon-Rolle und PostgREST Dinge offenbaren, die niemand erwartet. Auf Wunsch unterschreibe ich auch eine NDA, und deine Erkenntnisse erscheinen niemals in meiner öffentlichen Schreibweise.

