Controllerò la sicurezza della tua app Lovable o bolt supabase prima del lancio

B
basildraz
B
basildraz
Basel Draz
Alcune informazioni sono state tradotte automaticamente.

Informazioni su questo servizio

Traduzione automatica.

Realizzata con Lovck clean, te lo dirò. Lovable, Bolt o Cursor. Funziona. Non è mai stato questo il problema.


La domanda è cosa può leggere uno sconosciuto che tiene la tua anon key.


Questi strumenti generano policy velocemente, e di solito sembrano corretti. Ma RLS è uno strato. Sotto c'è il sistema di grant di Postgres, sopra c'è PostgREST, e le perdite si trovano nelle cuciture.


Gestisco un POS multi-tenant su Supabase - 90 migrazioni, soldi veri ogni giorno. Tre revisioni di sicurezza hanno trovato sei vulnerabilità reali, tutte oltre le policy che erano, come scritto, corrette.


COSA CONTROLLO

  • Tabella con RLS spento, o acceso senza policy
  • - Funzioni che anon può eseguire (revocare solo da anon NON chiude questa vulnerabilità)
  • - View che bypassano RLS, e quelle rese scrivibili da PostgREST in modo silenzioso
  • - Grant a livello di tabella, e l'asimmetria che nessuno si aspetta:
  • una nuova colonna è NEGATA per le letture finché non la concedi
  • una nuova colonna è CONSENTITA per le scritture finché non la revoci

COME LO DIMOSTRO

Accedo come un utente con privilegi bassi dal tuo progetto, eseguo la query e ti mostro la risposta. Ogni scoperta include la sua query e il suo output. Dopo la correzione, la stessa query viene eseguita di nuovo e restituisce qualcosa di diverso.


Lo script di sola lettura che uso è pubblico - provalo tu stesso

Scopri di più su Basel Draz

Basel Draz

Supabase RLS and privilege audits

  • DaEgitto
  • Membro dafeb 2024
  • Tempo di risposta medio11 ore
  • Lingue

    Arabo, Inglese
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.

Traduzione automatica.

Il mio portfolio