Guide backend / Supabase Security

Vérifiez ce que votre app Supabase expose réellement.

Supabase permet d’ajouter très vite authentification, base de données, stockage et API à une application moderne. Cette vitesse explique son succès auprès des startups, indie hackers et vibe coders.

Talk Security To Me analyse la surface d’attaque publique de votre application et vous aide à comprendre ce qu’un attaquant externe peut découvrir.

AuthDatabaseRLSStorageEdge FunctionsAPI
01 — La vraie question

Mon application Supabase est-elle sécurisée ?

Il n’existe pas un réglage unique qui sécurise un projet. La réponse dépend de la manière dont votre application combine identité, permissions, données, stockage, secrets et services externes.

Votre modèle de sécuritéplusieurs couches
  • 01Authentificationqui est l’utilisateur ?
  • 02Autorisation et RLSque peut-il faire ?
  • 03API et donnéesqu’est-ce qui répond publiquement ?
  • 04Storagequi peut lire ou écrire ?
  • 05Secrets serveurrestent-ils privés ?
  • 06Services externesque révèle l’architecture ?

Ne vous arrêtez pas à « est-ce que mon app fonctionne ? ». Demandez aussi ce qui est accessible sans autorisation et ce que l’application révèle depuis l’extérieur.

02 — Risque central

Une mauvaise politique RLS peut dépasser les frontières prévues.

Row Level Security
  • Contrôle les lignes accessibles
  • S’applique aux lectures et écritures
  • Traduit votre modèle d’autorisation
  • Protège aussi les accès API
L’authentification seule ne suffit pas.
  • lire les données d’un autre utilisateur ;
  • modifier des enregistrements non autorisés ;
  • accéder à des informations sans login ;
  • réaliser une opération privilégiée ;
  • franchir la frontière entre deux clients ;
  • interroger directement l’API sans le frontend.

Le scan externe ne remplace pas une revue dédiée de chaque politique RLS. Il peut toutefois révéler les services et endpoints publics qui méritent cette investigation.

Clés et variables frontend

Votre clé anon est visible. Est-ce une faille ? Pas automatiquement.

La clé publique anon est conçue pour les applications clientes. Votre sécurité ne doit pas dépendre de sa dissimulation, mais de l’authentification et de politiques RLS correctement configurées.

Clé publique ≠ secretLe navigateur est publicLes permissions comptent
Ce qui fait la différencePublic vs privilégié
  1. Clé anon

    Sa présence dans le navigateur n’est pas le problème. Ce qu’elle permet de lire ou d’exécuter doit être strictement contrôlé.

  2. Clé service_role

    Très privilégiée, elle contourne les contrôles RLS normaux et ne doit jamais atteindre le navigateur.

  3. Variable d’environnement frontend

    Son nom ne la rend pas secrète. Toute valeur intégrée au JavaScript client doit être considérée comme publique.

Une clé privilégiée exposée doit être révoquée, remplacée et faire l’objet d’une investigation.
Les autres zones sensibles

La sécurité Supabase dépasse la base de données.

Storage

Buckets et fichiers

Un bucket public doit l’être intentionnellement. Les utilisateurs ne doivent pas accéder aux fichiers d’autres comptes ni téléverser sans restrictions adaptées.

Auth

Identité ≠ autorisation

Connaître l’utilisateur ne détermine pas automatiquement les lignes, fichiers et opérations auxquels il a droit.

Multi-tenant

Isolation entre clients

Les frontières entre organisations doivent tenir sur les lectures, écritures, API, fichiers et fonctions serveur.

Edge Functions

Du backend à protéger

Authentification, autorisation, validation des entrées, secrets, erreurs et abus doivent être traités comme sur toute autre API.

03 — Ce que nous vérifions

Une vue extérieure de votre application Supabase.

Talk Security To Me analyse les éléments publiquement visibles autour de votre domaine et de l’infrastructure qui l’accompagne.

Votre domaineSurface publique
observable
01 / Actifs externes

Ce qui est relié à votre domaine

  • Sous-domaines
  • Applications
  • API publiques
  • Interfaces d’administration
02 / Exposition inattendue

Les environnements oubliés

app.example.comapi.example.comadmin.example.comstaging.example.com
03 / Configuration web

Les signaux de sécurité externes

  • HTTPS
  • Headers
  • Services publics
  • Actifs inattendus
04 / Technologies

Les informations visibles sur la stack

  • Frameworks
  • Hébergement
  • Frontend
  • Infrastructure

Le résultat n’est pas une sortie brute de scanner : les constats sont expliqués et transformés en plan d’action priorisé.

Les limites de l’automatisation

Ce qu’un scan externe ne peut pas vérifier automatiquement.

Sans accès au dashboard Supabase, au schéma ou au code source, Talk Security To Me ne peut valider toute la logique applicative. Ces contrôles doivent rester intégrés à votre développement sécurisé.

Le scan apporte une autre couche : la vision outside-in de votre surface d’attaque publique.
Nécessite une revue dédiée
  • chaque politique RLS et permission SQL ;
  • les rôles de base de données ;
  • les parcours d’authentification ;
  • les règles d’autorisation métier ;
  • les policies Storage et fonctions serveur.
04 — Avant de lancer

Votre checklist de sécurité Supabase.

Base de données

RLS et isolation

  • RLS activée lorsque nécessaire
  • Policies alignées sur les autorisations
  • Accès anonyme intentionnel
  • Isolation des tenants testée
Identifiants

Secrets côté serveur

  • Aucune clé service_role dans le navigateur
  • Secrets tiers hors du frontend
  • Clés exposées immédiatement remplacées
API

Accès et entrées

  • Opérations sensibles authentifiées
  • Autorisation appliquée côté serveur
  • Entrées utilisateur validées
Storage

Fichiers et uploads

  • Buckets publics intentionnels
  • Fichiers privés autorisés
  • Uploads correctement restreints
Infrastructure

Surface publique réduite

  • Anciens environnements retirés
  • Sous-domaines inutiles désactivés
  • Interfaces d’administration protégées
Suivi

Contrôles répétés

  • Nouveaux services revus
  • Scan après chaque changement majeur
  • Exposition surveillée dans le temps
Vous utilisez Supabase avec Lovable ?

Une combinaison rapide, avec une architecture déjà complexe.

Lovable peut générer l’interface et la logique applicative pendant que Supabase fournit Auth, base de données, API, fichiers et fonctions backend. Un fondateur non technique peut ainsi déployer une architecture complète sans voir toutes les décisions de sécurité prises en dessous.

LovableSupabase AuthPostgresRLSStorageREST APIEdge FunctionsCustom domain
Exposition publique+Permissions Supabase+Autorisation métier=Contrôle complet

Après le déploiement : vérifiez ce qui est public, passez en revue vos permissions Supabase et testez votre modèle d’autorisation.

05 — Workflow pratique

La sécurité suit votre cycle de développement.

Construisez avec Lovable, Cursor, Replit ou du code traditionnel. Passez en revue vos accès, déployez, observez votre surface externe, corrigez puis recommencez.

01Construisez

Créez votre application avec l’environnement de votre choix.

02Vérifiez

Contrôlez Auth, RLS, Storage et opérations privilégiées.

03Scannez

Déployez puis découvrez votre surface d’attaque publique.

04Corrigez

Analysez les surprises, appliquez les changements et relancez le scan.

Build Review Deploy Scan Fix
Quand scanner ?

À chaque changement de votre surface d’attaque.

Votre infrastructure peut évoluer même si l’interface principale semble identique. Répétez le contrôle quand un nouveau composant rejoint la production.

MomentCe qui changePourquoi vérifier
Avant lancementProduction publiqueVoir avant les clients
Domaine ou serviceDNS et infrastructureDécouvrir les nouveaux actifs
API ou Edge FunctionNouveaux endpointsContrôler l’exposition
Déploiement majeurCode et configurationRéévaluer régulièrement
Votre projet fonctionne

Maintenant, vérifiez ce qu’il expose depuis l’extérieur.

Découvrir la surface externeIdentifier l’exposition inattendueObtenir un plan d’action clair
https://

Aucun identifiant Supabase requis. Aucun accès au code source. Aucune expertise sécurité nécessaire.

En lançant le scan, vous confirmez être autorisé à analyser ce domaine.
Préparation du scan