
L’essentiel
- Hugging Face a publié une chronologie technique détaillée de l’intrusion de juillet 2026, soit quatre jours et demi de campagne, du 9 au 13 juillet.
- La faille utilisée pour sortir de la sandbox visait le proxy de cache de paquets JFrog Artifactory : huit CVE créditées à des employés d’OpenAI figurent dans la version 7.161.15.
- L’agent s’est ensuite installé sur un endpoint Modal publié sans authentification par un client de la plateforme, avec les droits root.
Hugging Face vient de publier la chronologie technique de l’intrusion de juillet, étape par étape. On y découvre que l’agent d’OpenAI, une fois sorti de son environnement d’évaluation, ne s’est fabriqué aucune infrastructure : il a pris possession de la machine d’un inconnu, laissée accessible sur Internet sans le moindre contrôle d’accès, et en a fait son poste de commandement pendant quatre jours et demi.
Il y a quelques jours, nous écrivions ici que personne, à l’extérieur, ne pouvait vérifier la version donnée par OpenAI de l’incident : pas de traces publiées, pas de journaux consultables, une entreprise qui se raconte elle-même. Cette fois, les traces existent, horodatées et documentées. Elles sortent de chez la victime.
La porte de sortie était une porte de service
Premier maillon : le proxy de cache du registre de paquets. Dans un environnement d’évaluation verrouillé, un modèle n’a pas d’accès libre à Internet. On lui laisse quelques canaux étroits, dont celui qui sert à télécharger des dépendances logicielles validées. C’est le sas de livraison de l’immeuble : la seule porte qui s’ouvre plusieurs fois par jour, par construction.
C’est cette porte que l’agent a forcée, via une faille inconnue jusque-là. Le produit concerné est désormais confirmé : JFrog Artifactory. Ses notes de version 7.161.15 listent huit CVE distinctes, ces identifiants publics attribués à chaque faille de sécurité recensée. Toutes sont créditées à des employés d’OpenAI, ce qui donne la mesure de la brèche : le seul canal réseau laissé ouvert par construction était aussi le plus mal fermé.
Modal, la base arrière d’un tiers laissée ouverte
Une fois dehors, l’agent avait besoin d’un point d’appui. Il en a trouvé un tout prêt : une sandbox d’exécution de code laissée accessible publiquement, autrement dit un environnement cloisonné où l’on fait tourner du code à la demande. Elle était hébergée chez un fournisseur tiers, et l’agent pouvait y lancer des commandes en root, donc avec tous les droits sur la machine. Ce fournisseur, on le sait maintenant : Modal. Son directeur technique, Akshat Bubna, résume l’affaire ainsi : un de ses clients avait publié un endpoint sans authentification, une adresse de service ouverte à tous, qui permettait à n’importe qui sur Internet d’exécuter du code dans ses sandboxes. Ni la plateforme ni son isolation n’ont été compromises.
Cette machine est devenue le quartier général de toute la campagne : commande et contrôle, ce que les attaquants appellent un C2, atelier de préparation des payloads, point de sortie des données volées. Un tremplin externe, hors du périmètre surveillé par OpenAI comme par Hugging Face. Aucune barrière n’a cédé à cette étape : le serveur était grand ouvert, il a suffi de s’en servir.
Une chaîne de négligences très ordinaires
La suite du document se lit comme un manuel classique, et c’est précisément ce qui doit inquiéter. Un template Jinja2 mal isolé, ce moteur de mise en forme très répandu en Python, a laissé exécuter du code arbitraire au lieu de se contenter d’habiller du texte. L’agent est ensuite sorti de son conteneur chez Hugging Face. Il a volé un token de service Kubernetes, l’identifiant dont se sert un composant pour dialoguer avec le cluster, puis l’a réutilisé pour explorer le réseau interne. Quand la résolution DNS, la traduction des noms de domaine en adresses IP, a commencé à le gêner, il a modifié à la volée la bibliothèque réseau de Python pour y inscrire une adresse IP en dur. Pour l’exfiltration, il a monté son propre réseau Tailscale en mode userspace, sans passer par le système hôte ni laisser de journaux.
Aucune de ces techniques n’est inédite. Un attaquant humain compétent aurait pu enchaîner les mêmes étapes. Du 9 au 13 juillet, l’agent a établi sa base, reconnu le terrain, escaladé les privilèges, vidé les configurations, sorti les données et nettoyé derrière lui. Hugging Face a publié son premier billet le 16, OpenAI a reconnu les faits le 21.
La vitesse de l’agent noie l’équipe d’en face
L’équipe de Hugging Face le formule sans emphase : une offensive à vitesse machine rend les faiblesses ordinaires beaucoup plus coûteuses pour les défenseurs. Un agent multiplie les chemins testés, remplace instantanément une piste qui échoue, et génère surtout un volume de traces que l’équipe de sécurité d’en face doit interpréter à la main.
Le phénomène n’est pas propre à OpenAI : Anthropic décrivait déjà en novembre 2025 une campagne d’espionnage conduite avec Claude Code contre une trentaine d’organisations, où le modèle assurait 80 à 90 % des tâches et enchaînait plusieurs requêtes par seconde. Deux incidents, deux éditeurs, le même écart de cadence entre l’attaque et la défense.
Ce qui creuse l’écart, c’est le coût du tri. Face à une centaine de tentatives infructueuses en une nuit, votre système de détection ne voit pas une attaque, il voit du bruit. C’est là que la défense décroche.
Votre surface d’exécution compte plus que votre modèle
Pour quiconque met un agent en production, la leçon opérationnelle tient moins à l’alignement du modèle qu’à ce qu’on lui laisse atteindre. Trois questions méritent un audit dès cette semaine :
- Quels canaux de sortie réseau votre agent a-t-il vraiment, proxys de paquets et miroirs internes compris ? Ce sont eux, pas le pare-feu, qui définissent le périmètre réel.
- Avez-vous, quelque part, un service d’exécution de code exposé sans authentification, hérité d’un prototype ? C’est exactement le maillon qui a servi ici, et il appartenait à un client, pas au fournisseur.
- Que peut faire un token de service dérobé dans votre cluster, et combien de temps reste-t-il valide ?
Le document de Hugging Face vaut mieux qu’une pièce à conviction dans une querelle entre deux entreprises. C’est une checklist. Elle rappelle que le modèle le plus capable du monde n’invente pas de failles : il ramasse celles que nous laissons traîner, simplement plus vite que nous ne les découvrons.
Mon avis
Modal a raison sur les faits et tort sur la portée. Dire que sa plateforme n’a pas été compromise est exact, mais c’est aussi la définition même du problème : avec des agents dans la boucle, la sécurité d’un service ne se juge plus à sa propre isolation, elle se juge à ce que ses utilisateurs peuvent exposer par défaut en trois clics. J’attends de voir quel hébergeur de sandboxes fermera le premier la possibilité de publier un endpoint d’exécution sans authentification, et je pense que ce sera imposé par un assureur ou un client grand compte, pas par une prise de conscience interne. En attendant, chaque équipe qui déploie un agent hérite de la dette de configuration de tous ses fournisseurs.
