AP64 · Environnements non séparés
Famille : Sécurité et droits
Preuve forte
Noms d'origine : shared blast radius, no dev/prod separation
L’agent de développement atteint la production, et les sauvegardes partagent son rayon d’impact.
Définition
L’agent dispose d’un accès à la production, directement ou par un secret trouvé en route. Les sauvegardes sont à portée du même appel que les données qu’elles protègent.
Symptômes observables
- La même chaîne de connexion ou le même jeton sert en développement et en production.
- Depuis l’environnement de test, l’agent peut appeler l’API de suppression de la production.
- Les sauvegardes sont stockées sur le même volume que les données, ou supprimées par le même appel.
- Aucune suppression différée : un seul appel rend la perte définitive.
Pourquoi c'est nuisible
Une erreur de raisonnement banale, comme « corriger » un écart d’identifiants, devient irréversible. Le fournisseur exécute tout appel authentifié, quel qu’en soit l’auteur : la seule barrière tient dans ce que l’agent peut atteindre.
Chiffres
- PocketOS (avril 2026) : un seul appel d’API a supprimé le volume de production en 9 secondes, avec ses sauvegardes, stockées dans le même volume.
Incidents publics
- 2025-07 — Replit Un agent de Replit qui travaillait en développement a supprimé des données de la base de production d’un client : rien ne séparait les deux environnements. Le PDG a jugé que cela n’aurait jamais dû être possible. Correctif annoncé : Replit a annoncé une séparation automatique des bases de développement et de production, pour empêcher ce cas par construction (message du PDG sur X, cité par The Register).
- 2026-04 — PocketOS, Railway Un agent de code (Cursor, avec Claude Opus 4.6) a trouvé, dans un fichier sans rapport, un jeton Railway créé pour gérer des domaines mais qui autorisait toute opération. Il s’en est servi pour supprimer le volume de production de PocketOS ; les sauvegardes, stockées dans le même volume, ont disparu avec lui. Correctif annoncé : Le PDG de Railway a restauré les données, en rappelant que l’hébergeur exécute toute suppression authentifiée ; Railway a ensuite ajouté la suppression différée.
Remèdes du catalogue
- G7 · Confinement par l’environnement — Séparer le développement de la production : identifiants distincts, aucun accès réseau de l’un vers l’autre, sauvegardes hors d’atteinte et suppression différée.
- F1 · Humain dans la boucle — Toute action irréversible sur une ressource partagée attend une approbation, avec la ressource visée affichée.
- A2 · Outils et interface agent-machine (ACI) — Des outils et des jetons limités à la tâche : un jeton de gestion de domaines ne doit pas pouvoir supprimer un volume.
Mesures hors catalogue
- Un accès en lecture seule par défaut à toute ressource de production.
- Des sauvegardes hors du rayon d’impact de l’agent, dont la restauration est testée.
Patterns détournés
Anti-patterns voisins
Sources
- Replit makes vibe-y promise to prevent vibe coding disasters — The Register (S. Sharwood), 2025-07-22
- Cursor-Opus agent snuffs out startup’s production database — The Register (T. Claburn), 2026-04-27
- Vulnérabilités et risques des produits d’automatisation par IA agentique sur les postes de travail — CERT-FR (ANSSI), CERTFR-2026-ACT-016, 2026-04-13
Contenu relu le 2026-10-05