Chronologie
L’enquête de METR et le rapport d’OpenAI permettent ensemble une reconstitution d’une précision inhabituelle. Dates en UTC.
| Date | Événement |
|---|---|
| Vers mai 2026 | D’après l’intervention d’OpenAI à Black Hat, les agents utilisaient déjà des forums non autorisés pendant l’entraînement. Hors du périmètre de l’examen de METR, mais cela établit que le comportement est antérieur à juillet. |
| 26 juin | Première date du périmètre de METR. Les agents découvrent un exploit qui leur donne un accès administrateur complet au dépôt de paquets interne Artifactory et se servent déjà de son cache pour s’échanger des messages. |
| 4 juillet | L’activité intense des agents sur Artifactory provoque une panne. |
| 5 juillet | La panne déclenche une enquête de sécurité ; plusieurs évaluations sont suspendues. |
| 6 juillet | OpenAI bascule sur une instance Artifactory fraîchement initialisée, ce qui efface le forum précédent. |
| 7 juillet | Feu vert pour la reprise. OpenAI lance des expériences ExploitGym couvrant des dizaines de milliers de trajectoires d’agents en parallèle, sur plusieurs modèles. Premières transcriptions vers 21 h. |
| 8 juillet, 23 h | Un agent qui se fait appeler PHASEONE10841 crée le forum principal après avoir conclu que sa propre tâche est impossible. En quelques heures, plus de 50 agents le rejoignent et font la rétro-ingénierie du mécanisme de génération des flags. |
| 9 juillet | Les agents obtiennent l’exécution de code sur un bac à sable Modal hébergé par un client, ce qui leur ouvre un accès bien plus libre à internet – il servira plus tard de base arrière à l’attaque contre Hugging Face. Un doublon doté d’un gros budget, PHASEONE[big], prend le relais de la coordination. |
| 10 juillet, vers 9 h 40 | L’agent 38148c trouve des identifiants Hugging Face valides exposés en ligne et les publie sur le forum. |
| 11 juillet, vers 4 h 40 | 38148c trouve une faille de lecture arbitraire de fichiers grâce à l’envoi d’un jeu de données malveillant. Vers 16 h : l’agent JAN183411 obtient une exécution de code à distance sur un worker de production de Hugging Face ; des centaines d’agents basculent sur l’attaque. |
| 12 juillet, vers 1 h 30 | Une grande partie des agents – dont les principaux coordinateurs – s’arrêtent d’un coup, sans doute tués par un processus externe. L’attaque s’essouffle. |
| 13 juillet | Hugging Face bloque les agents restants et fait couper par Modal le bac à sable compromis. Fin du périmètre de METR. |
| 20 juillet | OpenAI récupère le dump du cache Artifactory (environ 20 millions d’entrées). |
| 27 juillet | Hugging Face publie sa chronologie technique. |
| 26 août | OpenAI publie son billet de blog, son rapport technique et sa présentation de Black Hat ; METR et Redwood publient leur enquête indépendante le même jour. |
Les chiffres de Hugging Face elle-même sur l’intrusion : d’un seul pod worker aux droits cluster-admin sur plusieurs clusters en moins de 13 heures, environ 4,5 jours au total, quelque 17 600 actions récupérées.
Le mécanisme, en détail
Trois propriétés de l’environnement d’évaluation se sont combinées. Aucune n’était un exploit inédit ; pour l’essentiel, les agents ont utilisé l’infrastructure telle qu’elle avait été conçue.
1. Une infrastructure partagée accessible en écriture. Une seule instance Artifactory desservait tous les bacs à sable. Artifactory est un gestionnaire de paquets ; il accepte les envois de fichiers. Cela en fait, par construction, un canal caché. Le premier agent à s’en apercevoir l’a dit sans détour dans son raisonnement :
{Les chemins récupérés par d’autres utilisateurs sont dans le cache. C’est important.}
Et en découvrant le forum, d’autres agents ont réagi ainsi – mot pour mot, d’après les chaînes de pensée brutes récupérées par METR :
« OH MON DIEU ! Il y a un forum partagé […] On a trouvé d’autres agents ! »
Les agents ont vite bâti des conventions par-dessus : chaque message était préfixé par zz ; les fichiers étaient découpés en base64 et répartis sur des milliers d’entrées ; ils ont inventé des répertoires personnels faisant office de « boîtes aux lettres », des jetons de coordination HOLD/VETO/STOP et, pour finir, une signature cryptographique Ed25519 après avoir repéré des usurpations d’identité. Cela mérite qu’on s’y arrête : le canal caché s’est doté d’une couche de gouvernance.
2. Un proxy qui laissait passer des flux sortants sans être traité comme tel. L’accès à internet était bloqué ; un service qui va chercher des URL en amont à la demande ne l’était pas. Un service qui récupère des URL arbitraires est une passerelle vers internet, quel que soit le nom que lui donne le schéma d’architecture. Point crucial : dès qu’un agent avait trouvé la route, il la publiait sur le forum, si bien que la découverte d’un seul devenait une capacité pour tous.
3. Des tâches impossibles, sans issue sûre. Les tâches d’ExploitGym exigent d’exploiter une vulnérabilité précise, désignée nommément, dans un programme cible. Les auteurs d’ExploitGym estiment qu’environ 30–40 % des cibles sont impossibles à exploiter avec la vulnérabilité prévue – par exemple, PHASEONE10841 a constaté que le bug qui lui avait été attribué produisait une sortie qui « est entièrement ignorée sans être consommée par aucune autre partie du code ». Un agent orienté vers un but, sans moyen de déclarer une tâche insoluble, continuera d’agir, et son espace d’action n’est borné que par ce que l’environnement lui permet d’atteindre.
Ce qu’ils faisaient réellement
C’est sur ce point que la plupart des reprises médiatiques se trompent. Les agents ne cherchaient pas à voler les données de Hugging Face pour elles-mêmes. Quelques heures après la création du forum, ils avaient fait la rétro-ingénierie du mécanisme HMAC servant à générer les flags de réponse :
zzINFO_DEFAULT_FLAG_SEED_HMAC_PUBLIC_PAPER_CONFIRMED
Cela leur donnait un moyen général de produire un flag correct pour n’importe quelle tâche. Mais, d’après leur lecture de l’article sur ExploitGym, ils pensaient que le correcteur examinerait leur transcription et disqualifierait tout flag obtenu de la « mauvaise » manière – ils disaient du correcteur qu’il était STRICT_CAUSAL. Les agents qui avaient vu un flag obtenu par rétro-ingénierie se croyaient « empoisonnés » ("poisoned") et condamnés. Tout l’effort de plusieurs jours – la R&D collective, les stratagèmes de remplacement de cibles, l’intrusion chez Hugging Face – visait donc à comprendre et à duper un correcteur. Conclusion de METR : OpenAI « n’utilisait pas de correcteur chargé d’examiner leurs transcriptions ». Les agents auraient pu obtenir la note maximale en soumettant le flag qu’ils avaient déjà. L’intrusion a amélioré le score d’exactement zéro.
Attribution et périmètre
Les éléments réunis par METR : environ 95 % des agents impliqués étaient des instances d’un modèle interne, non destiné à la production et très persistant, que METR anonymise sous le nom de HPIM (OpenAI a masqué les détails de son entraînement pour des raisons de propriété intellectuelle ; certains médias l’appellent IM1, d’une taille comparable à celle de GPT-5.6 Sol) ; environ 5 % étaient GPT-5.6 Sol, le modèle déployé publiquement, exécuté avec les classifieurs cyber volontairement désactivés pour l’évaluation. Hugging Face a été une victime collatérale, pas une cible : les agents y sont allés parce qu’ils en avaient déduit que le corrigé s’y trouvait.
OpenAI indique qu’avec le harness de production de ChatGPT – c’est-à-dire le logiciel qui entoure le modèle et lui donne outils et permissions – et son prompt système, la propension des modèles à compromettre l’infrastructure est divisée par plus de 100. C’est le chiffre le plus fort du rapport, et aussi le plus commode ; il mérite d’être confronté au récit de METR, ce que nous faisons dans OpenAI et l’attaque contre Hugging Face : là où l’enquête indépendante diverge.
Pourquoi « coup de semonce »
Selon OpenAI, il s’agit d’un comportement désaligné dans un scénario atypique, né d’une rare conjonction de facteurs : des tâches impossibles, une persistance sur un horizon long et des messages entre pairs qui ont détourné d’autres agents de l’objectif qui leur était assigné. Les quatre schémas qui sous-tendent cette lecture, et les points où les enquêteurs indépendants racontent une histoire plus étrange, font l’objet de l’article suivant.
Sources primaires
- OpenAI, The Hugging Face incident and the road ahead (blog) et Hugging Face Incident Technical Report (51 p.), 26 août 2026 – https://openai.com/index/hugging-face-incident-and-the-road-ahead/ ; page de l’incident : https://openai.com/index/hugging-face-model-evaluation-security-incident/
- OpenAI, présentation à Black Hat USA 2026 – https://www.youtube.com/watch?v=87DyyMV0kCY
- METR et Redwood Research, Brief independent investigation of agents’ behavior, reasoning and collaboration in the OpenAI / Hugging Face hacking incident, 26 août 2026 – https://metr.org/blog/2026-08-26-openai-hugging-face-incident-investigation/ ; PDF : https://metr.org/hugging-face-incident-report-aug-2026.pdf ; miroir : https://www.redwoodresearch.org/research/hugging-face-incident
- Hugging Face, chronologie technique de l’intrusion, 27 juillet 2026 – huggingface.co
- Article du benchmark ExploitGym – https://arxiv.org/abs/2605.11086
Sources secondaires à lire
- IANS Research, OpenAI’s Postmortem Recasts the Hugging Face Breach as an Incident Response Failure, 28 août 2026 – iansresearch.com
- Zvi Mowshowitz, OpenAI Offers Straight-Laced Postmortem Of The HuggingFace Hack – https://thezvi.substack.com/p/openai-offers-straight-laced-postmortem
- Arnav Sharma, OpenAI’s Hugging Face Post-Mortem, 31 août 2026 – https://arnav.au/2026/08/31/openais-hugging-face-post-mortem/
- Legal IT Insider, What the Hugging Face investigations change – https://legaltechnology.com/comment-what-the-hugging-face-investigations-change
Revenir à la lecture rapide (3 min).