Sécuriser une app vibe-codée
Claude Code te sort une app fonctionnelle en 2h. Sauf que par défaut, c'est une passoire. Voilà les 6 vérifications de base à faire avant de la mettre en ligne — sinon n'importe quel script kiddie peut t'aspirer ta BDD en une nuit.
Une app Claude Code par défaut, c'est une passoire
Claude Code optimise pour que ton app fonctionne. Pas pour qu'elle résiste. Tant que t'es en local, c'est ok. Le jour où tu pousses en ligne, tu deviens une cible. Bots, scrapers, scripts d'exploit automatisés — ils trouvent ton URL en quelques heures.
Secrets & clés API
Le piège n°1 du vibe coding : tu demandes à Claude d'intégrer Stripe, Supabase, OpenAI — il te colle les clés en dur dans le code. Tu push sur GitHub. Et là, des bots scannent les commits publics en temps réel et te vident le compte en moins d'une heure.
C'est pas une légende. Des devs se sont fait facturer 50 000$ d'OpenAI en une nuit après avoir push une clé par accident. La clé reste dans l'historique git même si tu la supprimes après.
Toutes les clés vont dans .env.local (jamais .env)
Vérifie que .env.local et .env sont dans .gitignore
En prod, utilise les variables d'environnement de Vercel / Railway / Render
Si tu as déjà push une clé : révoque-la immédiatement, ne la régénère pas seulement
Le bon prompt à donner à Claude : « audite tout le repo, liste chaque endroit où une clé API, un token, un mot de passe ou un secret est en dur, et propose le refactor pour les sortir dans .env.local ». Fais-le avant chaque déploiement.
Dépendances hallucinées (slopsquatting)
C'est le piège que personne ne voit venir. Quand tu demandes à Claude d'installer un package, il peut halluciner un nom de package qui n'existe pas. Et des attaquants ont compris : ils créent ces packages fantômes sur npm avec du code malveillant dedans, pour que les devs qui font confiance à l'IA les installent.
C'est le slopsquatting. Le package ressemble à un vrai (ex : react-helmet-pro au lieu de react-helmet-async), il s'installe sans erreur, et il vole tes secrets ou ouvre une backdoor.
Avant d'installer un package suggéré par l'IA : vérifie sur npmjs.com qu'il existe et a + de 1000 téléchargements/semaine
Lance npm audit après chaque install — c'est gratuit et ça prend 5s
Active Dependabot sur ton repo GitHub (gratuit)
Méfie-toi des packages avec moins de 6 mois d'existence ou aucun maintainer connu
Validation côté serveur (pas seulement front)
Claude Code adore te coder de jolies validations dans le formulaire. Email obligatoire, mot de passe 8 caractères mini, montant entre 10€ et 1000€. Sauf que tout ça se passe dans le navigateur.
N'importe quel attaquant ouvre l'onglet Network, attrape la requête, la rejoue avec curl en envoyant un email vide, un mot de passe « 1 », un montant de -9999€. Si ton API ne re-valide pas tout côté serveur, c'est game over.
L'injection est la vulnérabilité #1 du Top 10 OWASP depuis 10 ans.
Et 90% des apps vibe-codées ne valident rien côté serveur.
Demande à Claude : « ajoute une validation Zod (ou Pydantic) sur chaque endpoint API, qui rejette toute requête qui ne match pas exactement le schéma attendu — type, longueur, format ». Fais-le avant la prod, c'est 30 minutes pour blinder ton back.
Auth + autorisations (le piège Supabase)
Le pattern le plus dangereux du vibe coding : Claude crée une table users dans Supabase, l'auth marche, tu testes — tout roule. Ce qu'il a oublié de faire : activer la Row Level Security. Résultat, n'importe quel utilisateur connecté peut requêter toutes les données de tous les autres utilisateurs.
Pareil sur Next.js : Claude protège la page côté client avec if (!user) redirect. Mais l'API route derrière, elle, accepte n'importe quelle requête. L'attaquant tape directement /api/admin/users et récupère tout.
Active la Row Level Security (RLS) sur CHAQUE table Supabase, et écris les policies
Vérifie l'auth dans CHAQUE route API, jamais seulement dans le composant
Sépare clairement les rôles : admin vs user. Une route admin doit vérifier role === 'admin'
Teste : connecte-toi en tant qu'utilisateur A, copie le token, essaie de lire les données de B
Rate limiting & abus
Sans rate limit, voilà ce qui peut arriver en 1 nuit : un bot trouve ton endpoint /api/generate qui appelle l'API OpenAI, il fait 50 000 requêtes avec ta clé. Tu te réveilles avec une facture à 4 chiffres.
Pareil pour le formulaire d'inscription : sans rate limit, un attaquant crée 10 000 comptes en 5 minutes pour spammer, faire du SEO black hat ou polluer ta BDD.
Sur Vercel : @upstash/ratelimit en 5 minutes (gratuit jusqu'à 10k req/jour). Sur Cloudflare : Rate Limiting Rules (gratuit). Règle de base : 10 req/minute par IP sur les endpoints sensibles, 3/minute sur l'auth et la génération IA.
Backups & possibilité de rollback
Le scénario classique : tu demandes à Claude « nettoie la table users, supprime les comptes inactifs ». Il lance un DELETE FROM users WHERE... avec une condition légèrement à côté. Tout part. Sans backup, ton app est morte.
Le vibe coding accélère tout — y compris les conneries irréversibles. Avoir un filet de sécurité, c'est non-négociable.
Active les backups automatiques sur ta BDD (Supabase Pro, Neon, Railway — souvent inclus)
Avant toute migration ou opération destructrice : snapshot manuel
Commit après chaque feature qui marche — ne reste jamais 2h sans commit
Garde une branche main toujours déployable, expérimente sur des branches
Checklist avant la mise en prod
Tu coches les 6 points avant de pousser en ligne. Tant qu'une seule case n'est pas validée, tu restes en local.
Aucune clé API en dur — tout dans .env.local + .gitignore vérifié
npm audit clean + Dependabot activé sur le repo
Validation Zod/Pydantic sur chaque endpoint API
RLS activée sur la BDD + auth vérifiée sur chaque route serveur
Rate limiting sur les endpoints sensibles (auth, IA, paiement)
Backups BDD activés + dernier commit qui marche sur main
Le bon prompt à coller dans Claude Code avant chaque déploiement : « audite ce repo selon les 6 points sécurité du guide Agentic eSchool : secrets, dépendances, validation serveur, auth/RLS, rate limit, backups. Liste chaque manquement avec sa criticité et propose le fix. »
10 minutes de boulot. Tu évites des semaines de galère et potentiellement des milliers d'euros en facture cloud ou en données perdues.
L'IA te remplacera.
Sauf si tu apprends à la maîtriser.
Ce guide t'a donné un aperçu. Mais un guide, ça ne suffit pas pour transformer ta pratique. Ma formation Agentic eSchool t'apprend à intégrer l'IA dans ton quotidien pro, pas à pas, que tu partes de zéro ou que tu veuilles passer un cap.
Le cours complet
91+ leçons du débutant à avancé, enrichies chaque semaine.
Un plan personnalisé
Une IA génère ton parcours selon ton métier et ton niveau.
25 chapitres métiers
Workflows et prompts prêts à l'emploi pour ton poste.
Communauté + 40 guides
Un espace francophone et une bibliothèque qui s'enrichit.
Pas le temps d'apprendre ? On le fait pour toi.
Des solutions IA sur mesure, clés en main, pour automatiser tes process, réduire tes coûts et gagner du temps sur ce qui compte. Agents IA, automatisations, outils internes : on construit, tu récoltes.
Créé par @kingarms.ai
Suis-moi sur Instagram pour plus de contenu IA
Lis la suite gratuitement
Entre tes infos pour débloquer le guide complet.