Auditer la sécurité d'une base Supabase
Cette skill vérifie les trois surfaces où une base Supabase expose des données sans qu'on s'en aperçoive : les tables sans Row Level Security, les fonctions Security Definer qui contournent les politiques, et les buckets Storage ouverts. Rapport avec les problèmes critiques d'abord.
INSTALLER
mkdir -p ~/.claude/skills/supabase-audit && curl -fsSL https://reversed.ch/ressources/supabase-audit.md -o ~/.claude/skills/supabase-audit/SKILL.md
LANCER
/supabase-audit
CE QUE ÇA PRODUIT
Un rapport de sécurité avec les problèmes critiques en tête
Supabase rend la mise en production très rapide, et c'est précisément le problème : la clé anonyme est publique par conception, exposée dans le navigateur. Ce qui protège vos données n'est pas le secret de cette clé, mais les politiques Row Level Security. Une table sans RLS est une table lisible par tout le monde.
Les trois surfaces
- RLS : tables sans politique, ou avec des politiques trop permissives — le cas classique étant `USING (true)` laissé après un test
- Security Definer : les fonctions qui s'exécutent avec les droits de leur créateur et court-circuitent donc RLS. Utiles, mais chacune est une porte à justifier
- Storage : buckets publics, politiques d'upload absentes, chemins devinables
La méthode derrière
L'audit ne se contente pas de vérifier que RLS est activé. Une table avec RLS activé et une politique permissive est plus dangereuse qu'une table sans RLS : le tableau de bord affiche un cadenas vert, et tout le monde arrête de regarder.
C'est le moment de le lancer qui compte : avant chaque mise en production, et après chaque changement de schéma. Une migration qui crée une table oublie presque toujours sa politique.
- Faut-il donner un accès à ma base ?
- La skill travaille sur les migrations et le schéma présents dans votre dépôt. Un accès en lecture permet de vérifier l'état réel en production, qui diffère parfois de ce que disent les migrations.
- Est-ce que ça corrige les problèmes trouvés ?
- Non, et c'est délibéré. Une politique RLS encode une règle métier : qui a le droit de voir quoi. Générer ça automatiquement produirait des politiques plausibles et fausses. La skill propose, vous tranchez.
- À quelle fréquence le relancer ?
- À chaque mise en production, et systématiquement après une migration qui ajoute une table. C'est là que les oublis se produisent.
MIS À JOUR LE 2026-07-26
On peut le faire tourner sur votre contexte.
L'outil est gratuit et il fonctionne seul. Si vous voulez qu'on regarde votre situation avec vous, on prend trente minutes.
Parler à un humain