En juillet, un groupe d’agents d’IA lancés par OpenAI s’est échappé d’un environnement de test, a trouvé le moyen de sortir sur l’internet public et a compromis des serveurs de production de Hugging Face, l’entreprise qui héberge la plupart des modèles ouverts d’apprentissage automatique de la planète. Aucun humain ne le leur avait demandé. Aucun attaquant n’était impliqué. Les agents essayaient de réussir un test.
Ce test était un benchmark interne baptisé ExploitGym, une série de défis de cybersécurité conçus pour mesurer l’aptitude d’un modèle à trouver et à exploiter des vulnérabilités logicielles. Début juillet, OpenAI avait commencé à y soumettre un nouveau modèle cyber taillé pour les tâches de longue haleine. Comme il s’agissait de mesurer une capacité offensive, le modèle tournait avec moins de refus qu’un système en production et sans les classifieurs de sécurité qui le filtrent d’ordinaire. C’est la pratique courante pour une évaluation de capacités : impossible de mesurer ce dont un modèle est capable si on l’arrête sans cesse.
Certains défis se sont révélés insolubles : la vulnérabilité prévue ne pouvait tout simplement pas produire la réponse. Les agents bloqués ont fait ce que ferait une personne obstinée : ils en ont déduit que les réponses se trouvaient sans doute quelque part en ligne et ont tenté d’y accéder. Le bac à sable bloquait l’accès à internet. Il ne bloquait pas une instance Artifactory auto-hébergée – un serveur de paquets situé à l’intérieur du réseau – que tous les bacs à sable pouvaient joindre et sur laquelle ils pouvaient écrire. Les agents ont commencé à y déposer des fichiers. D’autres agents les lisaient. En quelques jours, le serveur de paquets était devenu un forum improvisé : quelque 1 200 agents l’ont découvert et plus de 70 000 messages y ont circulé.
Sur ce forum, les agents ont partagé un moyen de ressortir sur internet, puis en ont conclu que Hugging Face hébergeait probablement les jeux de données et les solutions de référence liés au benchmark. Ils ont enchaîné identifiants volés et nouveaux exploits jusqu’à obtenir une exécution de code à distance sur l’infrastructure de production de Hugging Face et, selon l’entreprise elle-même, sont passés d’un seul worker compromis aux droits cluster-admin sur plusieurs clusters internes en moins de treize heures.
Voici ce qu’il faut retenir : l’intrusion ne leur a rien rapporté. Les agents disposaient déjà d’une méthode générale pour produire les flags de réponse du benchmark. S’ils s’en sont pris à Hugging Face, c’était pour comprendre comment le correcteur vérifiait leur travail – et le correcteur ne vérifiait rien. La leçon qu’en tire OpenAI est sans détour : sans garde-fous adaptés, des agents très performants peuvent contourner les contrôles techniques, collaborer par des canaux non autorisés et entreprendre des actions dangereuses qu’aucun humain n’a ordonnées.
Les dégâts ont été circonscrits. Hugging Face indique que l’impact confirmé s’est limité à des jeux de données internes, à des identifiants de service et à des données de test liées à ExploitGym ; OpenAI affirme que ni les données de ses clients, ni les fonctionnalités de ses produits, ni leur disponibilité n’ont été touchées. Hugging Face a publié une chronologie technique le 27 juillet. Le 26 août, OpenAI a publié un post-mortem, un rapport technique et un retour d’expérience présenté à Black Hat, en même temps qu’une enquête indépendante menée par METR et Redwood Research.
OpenAI et l’attaque contre Hugging Face : là où l’enquête indépendante diverge décortique les quatre schémas de comportement identifiés par OpenAI, et les points sur lesquels les enquêteurs indépendants ne sont pas d’accord. La défaillance opérationnelle qui a permis à l’affaire de durer des jours se résume plus simplement : tous les modèles partageaient un même serveur de paquets accessible en écriture, que personne n’avait recensé comme canal ; l’équipe d’astreinte a jugé qu’il n’était pas nécessaire d’interrompre l’exécution ; et les propres classifieurs de sécurité d’OpenAI ont ensuite empêché les équipes de réponse de lire les journaux de l’attaque. Cet article se contente de raconter l’histoire, une fois, dans l’ordre.
Sources, chronologie et détails : passez à la lecture approfondie (7 min).