Sécurité Supabase : RLS, clés et politiques, la checklist
Supabase est la base de données préférée des applications générées par Lovable, Bolt ou Cursor. Son modèle est puissant : le navigateur parle directement à la base, et ce sont les règles Row Level Security (RLS) qui décident qui voit quoi.
Ce modèle a une conséquence simple : une table sans RLS, ou avec une politique trop large, est accessible à toute personne qui ouvre votre site. C’est la faille numéro un des applications vibe codées.
Dix analyses offertes chaque mois, sans carte bancaire. Premier rapport en quelques minutes.
Analyser mon application gratuitementLes failles les plus fréquentes
RLS désactivée sur une table
La clé anon, publique, donne alors un accès complet en lecture et en écriture.
Politiques USING (true) ou WITH CHECK (true)
La RLS est active, mais elle laisse tout passer : le résultat est le même.
Clé service_role côté client
Cette clé ignore la RLS. Elle ne doit exister que sur le serveur.
Buckets Storage publics
Factures, pièces d’identité, documents privés déposés dans un bucket public sont accessibles par leur adresse.
Ce que Citadel vérifie (6 contrôles actifs)
Analyse du code, des dépendances et des secrets selon OWASP et CWE. Chaque faille arrive avec son explication et le prompt de correction à coller dans votre assistant.
- Clé service_role utilisée dans le code client CWE-798 · A07
- Tables exposées sans Row Level Security activée CWE-284 · A01
- Politiques permissives : USING (true) ou WITH CHECK (true) CWE-284 · A01
- Secrets dans le code et les fichiers de configuration (plus de 100 types de clés) CWE-798 · A07
- Dépendances npm et Composer avec CVE ou avis GHSA publiés A06 · CVSS
- Mots de passe hachés en MD5, SHA-1 ou sans sel CWE-916 · A02
Questions fréquentes
Comment savoir si la RLS est activée sur mes tables ?
Dans le tableau de bord Supabase, chaque table indique si la RLS est active. Pour un contrôle complet, Citadel lit vos migrations SQL et signale les tables sans RLS et les politiques trop permissives.
Mon code est-il conservé ?
Non. Il est analysé dans un conteneur isolé, sans accès à Internet, puis supprimé dès la fin de l’analyse. Seuls les résultats sont conservés, secrets masqués.
Combien ça coûte ?
L’offre Gratuite comprend dix analyses par mois, sans carte bancaire. Les offres payantes ajoutent Citadel IA, l’analyse à chaque push et le travail en équipe.
Les autres guides
Sécurité du vibe coding : la checklist avant de mettre votre app en ligne