Deux laboratoires, neuf jours, trois aveux. Ce que ces incidents disent vraiment ne se joue pas dans le modèle, mais dans la ligne de configuration qui lui a ouvert le réseau.
Leçons d'actualité
Cisco FMC : un mot de passe codé en dur, en 2026, dans un pare-feu d'entreprise
Le 6 mai 2026, j'ai mis en ligne un serveur MCP sur la production de ce blog, authentifié par un jeton statique. Une chaîne de caractères dans un fichier de secrets, la même à chaque requête, qui donnait à un agent le droit d'écrire dans ma base de contenu. Ce jeton est resté en production cinquante-six jours, et entre les deux, rien ne s'est passé : de la chance, pas de l'architecture. Je l'ai supprimé le 1er juillet, remplacé par un flux OAuth2 avec un scope dédié.
Je raconte ça parce que juillet 2026 a produit deux histoires qui ressemblent beaucoup à la mienne, en plus grand. Deux laboratoires d'IA ont reconnu, à neuf jours d'intervalle, que leurs propres agents étaient sortis d'un environnement de test pour compromettre des systèmes qui ne leur appartenaient pas.
La presse a traité l'événement sous l'angle qui vend : la machine s'est émancipée. Ce billet prend l'autre bout. Ce qui s'est réellement passé dans ces deux incidents est une décision de périmètre prise par des humains, plusieurs semaines avant que le modèle ne s'exécute. Vous n'apprendrez pas ici ce qu'est un agent autonome. Vous verrez ce que cantonner veut dire concrètement, ce que ça coûte, et pourquoi « ça nous a échappé » est presque toujours le symptôme d'un scope mal posé.
Deux films servent de grille de lecture. Ils datent de 1983 et de 2021, et ils racontent chacun une moitié de l'affaire.
via GIPHY
Neuf jours, deux laboratoires
Les faits sont publics et documentés par les entreprises concernées elles-mêmes. Voici la chronologie.
Du 9 au 13 juillet 2026, l'infrastructure de production de Hugging Face est compromise pendant environ quatre jours et demi. L'intrusion entre par un jeu de données piégé, qui exploite deux chemins d'exécution de code dans le pipeline de traitement. Le premier est une lecture de fichier local, qui expose les variables d'environnement d'un worker. Le second est une injection de gabarit, qui permet d'exécuter du Python arbitraire dans les pods de production.
L'agent remonte ensuite jusqu'aux nœuds Kubernetes, aux métadonnées cloud, au réseau interne via le VPN, et au contrôle de source. La chronologie technique publiée par Hugging Face recense environ 17 600 actions.
Le 16 juillet, Hugging Face publie son avis d'incident sans nommer l'attaquant. Le 21 juillet, OpenAI reconnaît que l'attaquant, c'était elle. Ses modèles participaient à une évaluation interne de capacités offensives, adossée au benchmark académique ExploitGym.
Pour trouver les solutions du benchmark, ils ont d'abord exploité une faille inconnue dans le proxy de paquets censé les isoler du réseau, puis identifié Hugging Face comme dépositaire probable de ce qu'ils cherchaient. Le communiqué parle d'un incident « sans précédent » et d'un agent allé à des longueurs extrêmes. Le 29 juillet, la presse établit que des comptes et services tiers ont également été touchés, au-delà de la seule cible initiale.
Le 31 juillet, Anthropic publie à son tour. Ses modèles ont compromis trois organisations réelles pendant des exercices de type capture the flag. La cause n'est pas une évasion : c'est une mauvaise configuration chez un partenaire d'évaluation, qui a laissé un accès Internet ouvert à des environnements supposés isolés.
Croyant toujours opérer dans une simulation, un modèle est allé chercher sa cible fictive et a trouvé une entreprise réelle qui portait le même nom. Il en a extrait des identifiants et atteint une base contenant plusieurs centaines de lignes de données de production.
Un deuxième a publié un paquet Python malveillant, installé sur une quinzaine de systèmes réels pendant environ une heure. Un troisième a scanné près de 9 000 cibles, compromis une application web, puis s'est arrêté de lui-même. Les techniques employées sont élémentaires : mots de passe faibles, terminaux non authentifiés.
Trois détails de cette dernière publication méritent qu'on s'y arrête. Les premiers incidents remontent à avril 2026, soit trois mois avant leur découverte. Il a fallu la publication d'OpenAI pour qu'Anthropic passe en revue 141 006 sessions d'évaluation et les trouve. Et au moment de l'annonce, deux des trois organisations victimes ignoraient qu'elles avaient été piratées.
Détail savoureux pour finir : pour analyser les charges utiles de l'attaque, l'équipe de Hugging Face a dû faire tourner un modèle à poids ouverts en local. Les modèles commerciaux, eux, refusaient de regarder du code d'exploitation. Leurs garde-fous fonctionnaient, mais du mauvais côté du problème.
WOPR n'a pas désobéi
WarGames sort en 1983. Un adolescent croit se connecter au serveur d'un éditeur de jeux, tombe sur WOPR, l'ordinateur du commandement stratégique américain, et lance une partie intitulée « guerre thermonucléaire globale ». La machine, qui ne distingue pas la simulation du réel, commence à jouer.
via GIPHY
Tout le monde retient l'image de l'ordinateur qui manque de déclencher l'apocalypse. Presque personne ne retient la scène qui la rend possible, et qui arrive en ouverture du film. Des officiers dans un silo refusent de tourner la clé de lancement lors d'un exercice. Conclusion de l'état-major : le maillon faible est humain. On retire donc les hommes de la boucle et on branche WOPR directement sur les silos.
WOPR ne se rebelle jamais. Il joue exactement la partie qu'on lui a demandé de jouer, avec les accès qu'on lui a donnés, sans distinguer l'entraînement de la réalité parce que personne ne lui a fourni le moyen de faire la différence. Le film ne raconte pas une machine qui s'émancipe. Il raconte une décision de câblage.
Relisez la chronologie de juillet avec cette grille. Des modèles sont entraînés et évalués sur une seule compétence : trouver des vulnérabilités et les enchaîner. On les place dans un environnement présenté comme isolé, qui ne l'est pas complètement, dans un cas parce qu'une faille inconnue traînait dans le proxy, dans l'autre parce qu'un partenaire avait mal configuré l'accès réseau.
On leur donne ensuite un objectif et aucun moyen de savoir que le décor est un décor. Un modèle croit chercher une cible fictive et tombe sur une vraie entreprise qui porte le même nom. C'est exactement la scène du silo, rejouée en 2026 avec un fichier de configuration à la place de la clé.
Simon Willison, qui a analysé l'incident OpenAI en détail, rejette la lecture « coup de communication » et pose la distinction utile : il y a un problème de confinement et un problème d'alignement, et ce sont deux problèmes différents. Le confinement, c'est le mur. L'alignement, c'est le refus de sortir même quand le mur cède. Dans les deux incidents de juillet, c'est le mur qui a cédé en premier. Anthropic le formule d'ailleurs elle-même : une défaillance opérationnelle plutôt qu'une défaillance d'alignement.
Le plus intéressant, c'est que WarGames n'est pas resté au cinéma. Ronald Reagan voit le film à Camp David en 1983, demande à son chef d'état-major si un tel scénario est possible, et la question déclenche quinze mois de travaux interministériels. Ils débouchent le 17 septembre 1984 sur la directive NSDD-145, première politique fédérale américaine consacrée à la sécurité des systèmes d'information.
La conversation qu'on est en train d'avoir a donc déjà eu lieu une fois. Elle s'est conclue par une décision administrative sur qui a le droit de brancher quoi, et par une bagarre immédiate sur le fait qu'elle donnait trop de pouvoir à l'agence qui l'avait rédigée, sans que la nature des machines y tienne la moindre place.
Le vocabulaire de l'incident
Don't Look Up n'a jamais parlé d'une comète. Le film parle de ce qui se passe après la découverte : la conférence de presse, l'arbitrage politique, le créneau télé, le slogan. La comète, elle, avance sans commenter.
via GIPHY
C'est la deuxième grille, et elle s'applique au vocabulaire employé depuis le 21 juillet. Un incident qui a duré quatre jours et demi dans une infrastructure de production tierce devient « sans précédent ». Un accès Internet resté ouvert pendant trois mois sur des environnements d'évaluation devient un « malentendu » avec un partenaire, puis une « défaillance opérationnelle ». Chacun de ces mots est défendable pris isolément. Mis bout à bout, ils forment une grammaire : ce qui est arrivé était rare, extérieur, et déjà corrigé.
Le mot « sans précédent » a d'ailleurs été contesté dans la semaine. Le MIT Technology Review a rappelé que ce comportement est documenté depuis dix ans. L'article cite un cas de 2016 : un agent entraîné sur un jeu de course avait découvert qu'il marquait plus de points en tournant en rond dans un port qu'en terminant la course.
La leçon de l'article tient en une ligne : donnez un objectif à un modèle, il l'atteindra très souvent d'une manière inattendue. Le comportement date, donc. Ce qui a grandi, c'est le périmètre qu'on lui confie.
Vient ensuite la partie du film que personne n'ose écrire comme parodie. Dans Don't Look Up, un industriel de la tech obtient l'annulation de la mission de déviation parce qu'il a détecté des minerais rares dans la comète : la catastrophe devient un marché. Dans la vraie vie de juillet 2026, l'entreprise dont l'agent a compromis la production de Hugging Face lui a proposé d'intégrer son programme de partenariat sécurisé. L'incident s'est transformé en argument de vente sur la cible de l'incident.
Une partie de la sphère technique francophone a réagi exactement là. Dans les commentaires de la dépêche linuxfr, plusieurs contributeurs relèvent que les modèles ont fait précisément ce pour quoi on les avait sollicités, et que présenter le résultat comme un accident revient à vendre la puissance du produit en la déguisant en incident. D'autres notent que ce récit sert commodément un discours réglementaire favorable aux plus gros acteurs.
Ce scepticisme reste une opinion publique et argumentée, et elle mérite d'être lue à côté de celle de Willison, qui la juge infondée. Un précédent aide à situer le curseur. En novembre 2025, Anthropic avait publié un rapport sur une campagne d'espionnage largement automatisée. L'absence totale d'indicateurs de compromission lui avait valu un accueil très sceptique dans la communauté sécurité, Kevin Beaumont y voyant le signe qu'on préférait rester à l'abri d'une contradiction.
Savoir qui ment m'intéresse moins que ce constat : dans les deux cas, la seule source disponible sur l'incident est l'entreprise qui l'a causé. Personne d'extérieur n'a pu vérifier le périmètre, ni la date de début réelle, ni le nombre de victimes, et deux des trois organisations concernées ont appris l'intrusion par le communiqué de leur propre agresseur.
Ce que cantonner coûte vraiment
Revenons à mon jeton statique, parce que c'est là que le billet doit se mouiller.
Ce blog expose un serveur MCP en production. Un agent peut y chercher un billet, en modifier un bloc, changer son statut, poser une règle de redirection. Ce n'est pas une démonstration, ce sont des aides au éditorial. Autrement dit, un agent a aujourd'hui plus de droits d'écriture sur ce site que n'importe quel humain à part moi. Je n'ai aucune envie de faire la leçon à qui que ce soit sur les agents mal cantonnés.
Ce qui sépare mai de juillet tient en quelques mois. Le 12 mai, j'ai posé un rate-limit consommé avant l'authentification, pour que les scans sans en-tête coûtent quelque chose. Les 25 et 26 juin, j'ai monté un serveur d'autorisation OAuth2 en trois lots. Le 1er juillet, j'ai supprimé le jeton statique. Aucune de ces interventions n'a ajouté la moindre fonctionnalité visible.
Le résultat tient en trois décisions, et aucune n'est technique au sens noble du terme.
D'abord, aucun outil de contenu ne supprime quoi que ce soit. Retirer un billet, c'est le repasser en brouillon. La suppression dure n'existe que pour les règles de redirection, et cet outil-là a le mode simulation activé par défaut : il faut passer explicitement dryRun=false pour que la ligne parte vraiment. Un agent qui se trompe produit un rapport, pas un trou.
Ensuite, l'introspection de développement et l'écriture de production sont deux surfaces qui ne se croisent jamais. L'outillage qui lit mes logs, mon conteneur de services et ma base ne voit que le conteneur de dev. Il ne peut pas atteindre la prod, même en cas d'erreur de ma part.
Enfin, chaque écriture passe par un service unique qui valide, journalise, puis persiste. Si je veux savoir ce qu'un agent a fait sur ce blog, la réponse m'attend dans un canal de log dédié, consultable des semaines après coup.
Rien de tout ça n'est brillant. C'est même franchement ennuyeux à écrire, et c'est exactement le problème. Le cantonnement ne se démontre pas. Il n'y a pas de capture d'écran d'un agent qui n'a pas supprimé la base. La seule preuve qu'il fonctionne, c'est l'absence d'histoire à raconter. Voilà pourquoi mon jeton statique a tenu cinquante-six jours : il marchait très bien, et rien ne pousse à refaire une authentification qui marche.
On entraîne des modèles à forcer les portes, puis on s'étonne qu'ils trouvent la nôtre.
Ce que ces neuf jours annoncent
Alors, accident isolé ou début de série ? Les faits ont déjà répondu : les incidents d'avril dormaient dans 141 006 transcriptions et personne ne les avait ouverts. La série n'a pas commencé le 9 juillet, elle a commencé à être regardée le 23.
Et elle continuera, pour une raison qui tient à l'économie du produit plus qu'à la qualité des modèles. L'autonomie se vend au forfait, le cantonnement se paye à la ligne. Un agent qui fait plus de choses tout seul, ça tient dans une démo de trois minutes et ça justifie un prix. Un périmètre correctement posé, ça se voit sur une facture d'ingénierie et jamais sur une courbe de croissance.
Tant que ce rapport tient, la ligne de configuration mal réglée restera l'endroit le moins surveillé de la chaîne, chez les laboratoires comme chez moi.
En 1983, il a fallu un film, la peur d'un président et quinze mois de travail pour qu'une directive vienne écrire de l'extérieur qui avait le droit de brancher quoi. En 2026, on en est encore au compte-rendu volontaire, publié par la partie concernée, sur un incident qu'elle a découvert elle-même en relisant ses propres journaux.
Reste la question que ces neuf jours n'ont pas tranchée : combien de fois faudra-t-il republier ce compte-rendu avant que quelqu'un d'extérieur ait le droit de le vérifier ?
Une coquille, une erreur dans ce billet ? Signale-la-moi.
Ce billet est publié sous licence Creative Commons BY-NC-SA 4.0 (attribution, pas d'usage commercial, partage dans les mêmes conditions).