Ik controleer je supabase rls en vind de datalek die je linter niet kan zien

C
cengo3509
C
cengo3509
Cenk Kurtoglu
Sommige informatie is automatisch vertaald.

Over deze dienst

Automatische vertaling

Je Supabase linter zegt dat alles in orde is. Dat betekent niet dat je veilig bent.


De linter controleert of er policies bestaan. Het controleert niet of ze correct zijn. Ik lees de policies zelf en vind de lekken die elke geautomatiseerde check passeren.


WAAR IK OP LET


- Gebruik van (true) zonder rolrestrictie, zodat anon toegang krijgt die bedoeld is voor ingelogde gebruikers

- Join- en lidmaatschapstabellen die niet geïsoleerd zijn, waardoor één tenant bij de rijen van een andere tenant kan komen

- Service-role keys die bereikbaar zijn vanuit client code, wat RLS volledig omzeilt

- Toegestane policies die stilletjes restrictieve policies annuleren

- RLS ingeschakeld zonder policy of open storage buckets


WAT JE KRIJGT


Een rapport van elke echte bevinding, gerangschikt op ernst, met de exacte SQL die het op jouw database reproduceert. Als je policies stevig zijn, zeg ik dat duidelijk in plaats van problemen te verzinnen.


Standaard voegt gecorrigeerde policies toe als kant-en-klare migraties. Premium voegt een pgTAP suite toe die faalt op de kwetsbare policy en slaagt op de oplossing.


Alleen-lezen toegang of een schema dump is voldoende.


Ik publiceer een reproduceerbare RLS lek demo en de oplossing ervan op GitHub, en Supabase security bevestigde mijn analyse van een echt probleem. Stuur me eerst een bericht.

Maak kennis met Cenk Kurtoglu

Cenk Kurtoglu

Supabase RLS security audits

  • Afkomstig uitTurkije
  • Lid sindsjun 2024
  • Talen

    Turks, Engels
I audit Supabase authorization boundaries for teams shipping on Lovable, Bolt, Cursor and Replit. The generated SQL is usually valid. What it misses is whether a policy that exists is actually correct: a permissive policy quietly cancelling a restrictive one, a membership join that is not isolated, or a service-role key reachable from a client path. All three pass Supabase's free linter, and all three pass tests written from a single account. I work from read-only access or a sanitized schema dump. I never need your service-role key.

Automatische vertaling