Comment RLS Checker teste les accès anonymes Supabase

RLS Checker observe l’application publique et teste des lectures anonymes sur les tables Supabase qu’il découvre. Il rapporte les preuves disponibles. Il ne certifie pas un projet, n’inspecte pas toutes les policies et ne remplace pas les tests authentifiés ou en base.

Webba Creative Technologies · Révisé le 2026-09-11

Tester mon application

De l’URL de l’application à l’observation

Tu fournis l’URL HTTPS publique d’une application que tu possèdes ou es autorisé à auditer. Le service recherche la configuration Supabase publique et les références de tables dans les ressources clientes. Cette découverte est bornée et ne garantit pas l’inventaire complet de la base.

Le worker exécute un profil restreint dérivé du moteur VICE open source. Il effectue de petites lectures anonymes et limite les destinations réseau et les budgets de requêtes. Le checker gratuit ne crée aucun compte et ne fait ni insertion, ni modification, ni suppression.

Ce que le rapport permet de conclure

Un résultat lisible sensible indique qu’une lecture anonyme a renvoyé une ligne et que des champs potentiellement sensibles ont été observés. Le public prévu et la nature des données restent à vérifier. Un résultat probablement public décrit une lecture compatible avec un contenu public, sans prouver l’intention du propriétaire.

Un résultat bloqué décrit une requête de lecture refusée. Un résultat indéterminé décrit une preuve insuffisante, notamment une réponse vide. Aucun ne garantit la sécurité de toutes les opérations, identités ou ressources. La couverture concerne la surface observée pendant ce test.

Ce que le contrôle gratuit ne teste pas

Il ne valide pas l’isolation entre comptes, les écritures, Supabase Storage, tous les RPC, les réglages Auth ou le code serveur. Les tables absentes des ressources publiques observables peuvent ne pas être testées. Une API indisponible ou un échec de découverte ne constitue pas un résultat sans problème.

Les tests RLS du projet et les tests authentifiés de l’application restent complémentaires. Le guide pratique explique comment les combiner sans confier un credential administrateur au checker public.

Exemples reproductibles et sources techniques

Le script SQL démontre cinq cas de permissions avec des nombres fictifs et un rôle visiteur PostgreSQL dédié. La suite de tests documentaire exécute ce script dans PostgreSQL WASM local via PGlite et vérifie les nombres de lignes et le refus de permission attendus.

Cette vérification étaye les explications sur les droits et la RLS. Elle ne constitue ni un benchmark de Supabase en production, ni un scan réseau complet, ni une estimation du nombre d’applications vulnérables. Le script et ses résultats attendus sont disponibles ci-dessous.

Cas localLignes visiblesCe que cela montre
exposed1SELECT accordé, RLS désactivée : le visiteur lit la ligne.
public_catalog1RLS activée avec une lecture publique volontaire.
filtered0Une ligne existe, mais la RLS la masque au visiteur.
empty_table0Aucune ligne n’existe, même avec la RLS désactivée.
deniedErreur 42501Le visiteur ne dispose pas du droit SELECT.

Traitement des données et responsable du service

Le rapport public ne renvoie ni contenu de ligne, ni valeur de clé API, ni chemin de champ sensible. L’image exportée résume le résultat ; examine-la avant de la partager. Les événements analytics utilisent des noms fixes et ne contiennent ni URL scannée, ni credential, ni preuve de scan.

RLS Checker est un outil indépendant maintenu par Webba Creative Technologies, fondé sur le moteur VICE. Ce n’est pas un service officiel Supabase. Les liens ci-dessous identifient le moteur et les sources techniques utilisées pour réviser ces explications.

Reproduire les cinq cas locaux

À exécuter uniquement dans une base PostgreSQL locale jetable. Le script crée ses données fictives dans une transaction, vérifie les permissions puis annule ses modifications. Il ne se connecte à aucun projet Supabase.

Télécharger le script SQL

Poursuivre les vérifications

Comment tester la RLS Supabase depuis l’application et la base

Teste les accès anonymes Supabase, puis l’isolation des comptes et les écritures. Une méthode pratique avec un exemple SQL local reproductible.

Lire le guide

Une clé anon Supabase exposée est-elle un problème de sécurité ?

Distingue les clés publiques Supabase des secrets, puis vérifie les accès aux données réellement accordés aux visiteurs de ton application.

Lire le guide

Supabase renvoie un tableau vide : la RLS fonctionne-t-elle ?

Une réponse Supabase vide peut venir de la RLS, d’une table vide ou d’un filtre. Reproduis ces différences et vérifie les bonnes permissions.

Lire le guide