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

B
basildraz
B
basildraz
Basel Draz
Einige Informationen wurden automatisch übersetzt.

Ü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

Basel Draz

Supabase RLS and privilege audits

  • AusÄgypten
  • Mitglied seitFeb. 2024
  • ⌀ Antwortzeit11 Stunden
  • Sprachen

    Arabisch, Englisch
I build multi-tenant systems on Next.js and Supabase, and I do security passes on them. I maintain a point-of-sale platform running in real shops - FIFO inventory batches, recipe items, staff permissions enforced in the database, thermal receipts. 90 migrations, three security reviews deep. Those reviews found six real holes, every one past policies that were correct as written. I published the checks that found them as an open-source read-only SQL script. Authorization belongs in the database, not the interface. Nothing is confirmed by reading code - I ask your database as a real user.

Automatische Übersetzung

Mein Portfolio