Audit sécurité · Lovable · Bolt · Supabase

Audit sécurité Lovable :
sécurisez votre app avant
vos premiers utilisateurs.

Vous avez construit votre application avec Lovable, Bolt ou Cursor sur un backend Supabase ou Firebase. Elle fonctionne. Mais le code généré par IA laisse des failles invisibles en navigation : politiques RLS oubliées, clés API exposées côté client, authentification faible. Un audit indépendant les met au jour avant qu'un attaquant — ou un grand compte exigeant — ne le fasse.

Pourquoi cet audit

Une app Lovable qui fonctionne est-elle sécurisée ?

Non, pas forcément. Lovable génère des écrans et une authentification qui marchent, mais pas une politique RLS Supabase stricte, ni une séparation nette des clés, ni des règles métier vérifiées côté serveur. Ces failles ne se voient pas en naviguant : il faut tester la base et l'API comme le ferait un attaquant.

Lovable, Bolt et Cursor génèrent du code fonctionnel à une vitesse impressionnante. Les écrans s'affichent, l'authentification semble marcher, les données remontent. Tout paraît prêt — jusqu'à ce qu'on regarde ce qui se passe côté serveur et côté base de données.

Le problème n'est pas l'outil, c'est ce qu'il ne génère pas par défaut : une politique RLS Supabase stricte, une séparation nette entre clés publiques et clés secrètes, une validation des règles métier ailleurs que dans l'interface. Selon une analyse Veracode de 2025, environ 45 % du code généré par IA contient au moins une faille de sécurité connue. Les applications construites sur cette stack partagent le plus souvent les mêmes angles morts.

L'audit sécurité Lovable cible précisément ces vecteurs : configuration Supabase / Firebase, secrets exposés dans le bundle front, contrôle d'accès, IDOR et logique métier. Pas une checklist générique — votre app, vos tables, vos endpoints.

Quelles failles trouve-t-on le plus souvent sur une app Lovable ou Supabase ?

Quatre failles reviennent sur presque toutes les apps de cette stack : une RLS absente ou trop permissive, des clés secrètes livrées au navigateur, une authentification contournable et des règles métier appliquées seulement dans l'interface. La première suffit à rendre lisibles les données de tous vos utilisateurs.

RLS désactivé ou trop permissif (Supabase)

  • Row Level Security absente, désactivée, ou avec des politiques qui laissent tout passer.
  • Conséquence directe : un utilisateur peut lire ou modifier les données d'un autre via l'API REST publique de Supabase.
  • C'est le risque numéro un sur cette stack : la RLS n'est pas activée par défaut, et le générateur ne la met que rarement en place de façon complète.

Clés API et secrets exposés côté client

  • Clé service_role Supabase, clé API tierce ou token d'admin embarqués dans le bundle JavaScript livré au navigateur.
  • Une clé sensible embarquée dans le bundle est lisible par n'importe quel visiteur — c'est l'une des erreurs les plus fréquentes sur ce type d'app.
  • Vérification du bundle front et de l'historique git : rien de secret ne doit fuiter côté navigateur.

Authentification faible ou contournable

  • Politiques de mot de passe inexistantes, absence de rate limiting sur le login, sessions mal configurées.
  • Routes protégées seulement par un affichage conditionnel côté client, pas par une vérification serveur.
  • Confirmation d'email ou réinitialisation de mot de passe contournables.

IDOR & logique métier côté client

  • Identifiants d'objets prévisibles permettant d'accéder à des ressources qui ne vous appartiennent pas (IDOR).
  • Règles métier (quotas, prix, rôles, permissions) appliquées dans l'interface mais jamais revérifiées côté serveur.
  • Endpoints admin ou edge functions accessibles sans contrôle d'autorisation réel.

Que vérifie un audit de sécurité Lovable ?

L'audit vérifie quatre zones : la configuration Supabase ou Firebase table par table, les secrets présents dans le dépôt et le bundle front, l'authentification et le contrôle d'accès côté serveur, puis les failles OWASP, les IDOR et les dépendances vulnérables. Chaque constat est localisé et accompagné de son correctif.

Configuration Supabase / Firebase

  • Revue table par table des politiques RLS et des règles de sécurité Firestore.
  • Séparation des clés (anon vs service_role), stockage des secrets, variables d'environnement.
  • Edge functions, triggers et policies d'accès au storage.

Secrets & bundle front

  • Scan du dépôt et de l'historique git (clés API, tokens, mots de passe).
  • Inspection du bundle livré au navigateur : aucune clé sensible ne doit y apparaître.
  • Audit des variables d'environnement et de leur exposition (préfixes publics vs privés).

Authentification & contrôle d'accès

  • Robustesse de l'auth : mots de passe, sessions, rate limiting, flux de réinitialisation.
  • Vérification que chaque règle d'accès est appliquée côté serveur, pas seulement dans l'UI.
  • Tests manuels sur les endpoints et les politiques d'autorisation exposés.

OWASP, IDOR & dépendances

  • Couverture OWASP Top 10 adaptée aux apps modernes : broken access control, injections, exposition.
  • Détection des IDOR et des règles métier contournables.
  • Audit des dépendances avec CVE connues et plan de remédiation versionné.

Que recevez-vous à la fin de l'audit ?

Un rapport priorisé — chaque finding classé Critique / Haut / Moyen, avec localisation exacte (table Supabase, fichier, endpoint), explication du risque réel et correctif concret. Pas une liste générique : votre app, vos configurations, vos correctifs.

Une restitution visio d'une heure — on parcourt ensemble le rapport, je réponds à vos questions, on définit l'ordre d'attaque. Le bon moment pour impliquer un développeur ou un CTO externe.

Un plan d'action documenté — vous repartez avec quoi corriger, dans quel ordre, et combien de temps ça prend. Vous l'exécutez seul ou avec votre équipe : Avisers ne reprend pas et ne réécrit pas votre code, pour rester totalement indépendant.

Audit Flash ou audit complet : lequel choisir ?

L'Audit Flash suffit pour savoir en 48 heures si vos données sont exposées : il couvre la RLS, les secrets et l'authentification. L'audit complet convient avant une levée de fonds, un grand compte ou un lancement public, car il couvre aussi la logique métier, les IDOR, les dépendances, les edge functions et le storage.

CritèreAudit FlashAudit complet
Prix490 € HTà partir de 2 500 € HT
Délai48 h ouvrées5 à 10 jours ouvrés
PérimètreRLS, secrets, authentificationFlash + logique métier, IDOR, OWASP Top 10, dépendances, edge functions et storage
Livrablenote de constats priorisésrapport priorisé + restitution visio d'1 h + plan d'action
NDAinclusinclus

Les 490 € de l'Audit Flash sont déduits de l'audit complet si vous enchaînez.

Comment se déroule l'audit ?

  1. Diagnostic gratuit (30 min) — on cadre votre besoin et je vous dis si l'audit est pertinent.
  2. Devis & NDA (sous 48h) — périmètre précis, prix fixe, confidentialité signée.
  3. Audit (5 à 10 jours ouvrés) — accès lecture seule au dépôt et au dashboard Supabase / Firebase.
  4. Restitution & rapport — visio 1h + rapport priorisé livré.

Audits liés

Cette page fait partie d'une offre plus large. Selon votre besoin :

Autotest gratuit · 10 minutes

Vérifiez vous-même votre app Supabase, avant de payer qui que ce soit.

Cinq contrôles à lancer depuis le SQL Editor de Supabase et votre navigateur. Ils ne remplacent pas un audit, mais ils détectent les expositions les plus graves, celles qu'un bot trouve en quelques heures.

1. Les tables publiques sans RLS

Dans le SQL Editor, toute ligne renvoyée est une table lisible et modifiable par n'importe quel détenteur de la clé anon, donc par n'importe quel visiteur :

select tablename
from pg_tables
where schemaname = 'public' and rowsecurity = false;

2. Les politiques qui laissent tout passer

Une RLS activée avec une condition true équivaut à pas de RLS du tout :

select tablename, policyname, cmd, roles
from pg_policies
where schemaname = 'public'
  and (qual = 'true' or with_check = 'true');

3. Ce qu'un visiteur anonyme lit vraiment

La clé anon est publique par construction : elle est dans votre bundle. Rejouez ce qu'un inconnu peut faire avec elle, sur une table qui contient des données personnelles :

curl "https://VOTRE-PROJET.supabase.co/rest/v1/profiles?select=*" \
  -H "apikey: VOTRE_CLE_ANON" \
  -H "Authorization: Bearer VOTRE_CLE_ANON"

Si la réponse contient les lignes d'autres utilisateurs, vos données sont exposées dès maintenant.

4. Les secrets dans le bundle

Ouvrez votre app en production, outils de développement, onglet Sources, recherche dans tous les fichiers (Ctrl+Maj+F ou Cmd+Option+F). Cherchez service_role, sk-, sk_live et secret. Aucune de ces chaînes ne doit apparaître côté navigateur.

5. Les buckets de stockage publics

select id, public from storage.buckets;

Un bucket public = true qui contient des factures, pièces d'identité ou exports est consultable par quiconque devine l'URL.

Votre score en 10 questions

Cochez ce que vous avez vérifié, pas ce que vous supposez. Rien n'est envoyé : le calcul se fait dans votre navigateur.

Points de contrôle de sécurité

0 point vérifié sur 10.

→ Faire vérifier les points restants (Audit Flash)

Audit Flash · 490 € HT · 48 h

L'essentiel, vérifié par un senior en 48 heures.

Vous n'avez pas besoin d'un audit complet pour savoir si vos données sont exposées. L'Audit Flash couvre les trois vecteurs responsables de l'essentiel des fuites sur les apps Lovable, Bolt et Supabase :

  • RLS Supabase : chaque table publique, chaque politique, testée avec la clé anon et avec un compte utilisateur ordinaire.
  • Secrets : bundle livré au navigateur, variables d'environnement, historique git.
  • Authentification : routes protégées côté serveur, confirmation d'email, réinitialisation de mot de passe.

Livrable : une note de constats classés Critique / Haut / Moyen, chacun avec son correctif. Accès en lecture seule, NDA signé avant tout accès.

Si l'Audit Flash révèle un besoin plus large, les 490 € sont déduits de l'audit complet.

FAQ — Audit sécurité Lovable & Supabase

Les questions qu'on me pose
avant de signer.

Pourquoi auditer une application Lovable ou Bolt ?
Le code généré par IA fonctionne mais laisse souvent des trous invisibles en navigation : RLS Supabase désactivé, clés API en clair côté client, règles métier appliquées seulement dans l'interface. L'audit révèle ces failles avant vos utilisateurs — ou un attaquant.
Faites-vous du pentest offensif ?
Non. Avisers réalise un audit indépendant en lecture seule : revue de code, de configuration et tests manuels documentés sur les endpoints exposés. Pas de pentest offensif, pas d'exploitation destructive.
Réécrivez-vous mon code à ma place ?
Non. Avisers est un cabinet d'audit indépendant, pas une agence de développement. Nous diagnostiquons et documentons les correctifs ; vous restez libre de les implémenter vous-même ou avec votre équipe. Audit et correction sont volontairement séparés, pour rester objectif.
Quels accès sont nécessaires pour auditer une app Supabase ?
Lecture du dépôt de code, accès en lecture au dashboard Supabase (ou Firebase / Vercel selon la stack) pour vérifier les politiques RLS et les variables d'environnement, et idéalement un environnement de staging. Toujours en lecture seule, jamais d'écriture.
Combien coûte un audit sécurité Lovable ?
L'audit Production-Ready démarre à 2 500 € HT, en forfait fixe annoncé avant signature. Le délai est de 5 à 10 jours ouvrés après cadrage et réception des accès.
Le scan de sécurité intégré à Lovable ne suffit pas ?
Il est utile et il faut le lancer. Mais un scanner automatique repère surtout les tables sans RLS. Il ne sait pas si une politique existante est trop large pour votre métier, si un prix ou un rôle est vérifié côté serveur, ni si une edge function fait confiance à ce que le navigateur lui envoie. C'est ce que vérifie un humain.
Audit Flash ou audit complet : lequel choisir ?
L'Audit Flash (490 € HT, 48 h) répond à une question : mes données sont-elles exposées aujourd'hui ? L'audit complet (à partir de 2 500 € HT) produit un rapport opposable à un client, un investisseur ou un assureur, et couvre en plus OWASP, la logique métier et les dépendances. Commencer par le Flash est possible : son montant est déduit.
Et si vous trouvez peu de choses ?
Tant mieux. Vous repartez avec un rapport clean que vous pouvez montrer à vos clients, investisseurs ou grands comptes. C'est un actif commercial autant qu'un actif technique.

Situations proches

30 minutes pour savoir
si votre app Lovable tient.

Aucun engagement. On regarde votre situation et je vous dis honnêtement si j'ai quelque chose à vous apporter.

→ Demander un devis
Avisers
Conseil indépendant en audit de code,
sécurité et conformité RGPD.
→ Formulaire de contact