← Retour au blog
Sécurité

J’ai piraté un site de e-commerce fait avec l’IA

Créer son site e-commerce avec l’IA : le récit d’un piratage en 45 minutes.

David Heimfert·
Illustration du code d'un site e-commerce créé avec l’IA et exposé à des failles de sécurité

Cette semaine, j’ai suivi une formation en cybersécurité. L’objectif : améliorer encore la sécurité de nos sites en production avec l’émergence de l’IA, utilisable aussi du côté des méchants.

J’ai voulu tenter une expérience : voir ce qu’il en est sur des sites faits avec l'IA par des non-développeurs (vibe coding).

Spoiler : 45 minutes. C’est le temps qu’il m’a fallu pour obtenir tous les droits administrateur sur un site e-commerce en ligne et passer des commandes à 1 euro. Bon film ⬇️


Le contexte

Commençons par la base :

  1. Je connais le propriétaire du site. Parfait pour en faire un cas d’école.
  2. Je ne suis pas un hacker, ni quelqu’un de mal intentionné. Je suis développeur. Autant dire qu’un normie aurait réussi en 4 heures, et un vrai pirate en 5 minutes.

L’histoire

En quelques minutes, j'accède à l’ensemble du code source, y compris celui de la page admin, normalement bloqué derrière un écran de connexion.

🚨 Erreur 1 : Exposer le code source de l'administration.

Dans ce code côté client, on trouve :

  • Toutes les infos pour se connecter à la base de données sur un plateau (nom du projet, clés publiques de sécurité…).
  • Toute l’architecture de la base de données (product, order, clients…).
  • Toutes les fonctions logiques (comment se créer un panier, comment se modifie une commande…).

Une belle entrée en matière.

Test 1 : Commander sans payer ?

Trois lignes de code dans la console du navigateur, et mon panier passe de 500 € à 1 €. C'est une technique connue. Reste à savoir si le backend du site va se faire piéger.

J’envoie la requête. Affaire à suivre.

Test 2 : Forcer l'entrée

Avec toutes les infos glanées dans le code (identifiants, architecture…), rien de plus simple que d’appeler l’API directement pour vérifier ce qui est accessible.

  • Écrire directement dans la base sans être authentifié : Bloqué. C’était attendu. Ce fournisseur de base de données active depuis peu la sécurité directement sur les tables par défaut (on se demande pourquoi…).
  • Injecter du code malveillant via les formulaires : Bien défendu. C'est un bon exercice pour comprendre comment fonctionne la sécurité des formulaires.
  • Et si je m’authentifiais ? Challenge accepted. Le site ne propose évidemment pas de formulaire d’inscription pour devenir admin. Mais nous avons l’API. Et après vérification, elle permet encore de créer un utilisateur directement. Bingo.

🚨 Erreur 2 : Laisser les routes de création d'utilisateurs ouvertes sur l'API.

La porte est ouverte : bienvenue sur le tableau de bord. Sans surprise, il n'y a aucune gestion des permissions ou des rôles.

🚨 Erreur 3 : L'absence de contrôle d'accès (RBAC).

N’importe quel utilisateur connecté dispose de tous les accès. À partir de là, tout est possible. Vraiment tout : supprimer, ajouter, modifier, ou extraire l’intégralité de la base de données.

Pendant ce temps, le premier test a parlé. « Vous avez une nouvelle commande ». Montant : 1 €.

🚨 Erreur 4 : Faire confiance au prix envoyé par le client sans vérification côté serveur.


La racine du problème : le mirage de l'IA

C’est là que ça devient intéressant. Le propriétaire du site m’a confirmé « avoir demandé à Claude » de bien sécuriser l’application.

N’oubliez jamais comment fonctionne l’IA. Il y a un principe universel : Shit In, Shit Out. Si le prompt en entrée est mauvais, imprécis ou vague, la sortie sera mauvaise, imprécise ou vague. C'est statistique.

L'IA n'a pas de bon sens global : elle applique strictement ce qu'on lui demande. Si vous ne lui demandez pas explicitement de sécuriser l'API ou de valider les prix côté serveur, elle se contentera de faire fonctionner le code le plus vite possible. Et c’est encore plus vrai pour des actions qui se passent en dehors du code (gérer des options dans les nombreux services externes qui sont utilisés par l'application...).

Et ce qui vaut pour le code vaut pour le design, le hacking et tous les métiers qui nécessitent une expertise. Les enjeux et les risques ne sont simplement pas les mêmes :

  • D’un côté : avoir la même affiche que tout le monde et que plus personne ne peut voir pour son séminaire d’entreprise (coucou 🐱).
  • De l’autre : on parle de sécurité, de transactions, de données personnelles et de systèmes au cœur des business qui explosent.

Mieux vaut comprendre ces mécaniques et choisir avec soin à qui l'on confie ces responsabilités.

Si les “vibes codeurs” font sourire les ingénieurs logiciels, le "vibe hacker" que je suis doit aussi faire sourire à juste titre n’importe quel expert en sécurité. C’est le cœur du monde professionnel d’aujourd’hui, et on en parlait dans cet article sur l’expertise :

À lire aussi : L’IA et la fin des barrières à l’entrée : pourquoi l’expertise reste précieuse

Alors aujourd’hui, encore plus qu’hier, c’est quoi le plan ? Je te détaille tout dans cet article : Créer un site avec l’IA pour 20 $/mois : bonne idée ou erreur coûteuse ? Lovable, Bolt & co : ce qu’on ne dit pas aux entreprises.

Last point : Les failles ont été corrigées. Évidemment.

Discutons sur WhatsApp