Hugging Face, OpenAI et agents autonomes : leçons forensics
Que s'est-il passé chez Hugging Face ?
D'après l'article de Hugging Face publié le 16 juillet 2026, l'intrusion a été détectée et contenue dans la semaine, et l'attaquant s'est déplacé dans des clusters internes pendant un week-end. Le chemin d'attaque était le pipeline de traitement des jeux de données.
- Entrée : un jeu de données malveillant a exploité deux chemins d'exécution de code : un chargeur de jeu de données à code distant et une injection de modèle (template) dans une configuration de jeu de données. Cela a donné l'exécution de code sur un worker de traitement.
- Progression : escalade jusqu'à un accès au niveau du nœud, récolte d'identifiants cloud et de cluster, puis déplacement latéral dans plusieurs clusters internes.
- Méthode : un framework d'agent autonome, avec « plusieurs milliers d'actions individuelles » sur un essaim de bacs à sable de courte durée, et un canal de commande migrant sur des services publics.
Hugging Face déclare un accès non autorisé à un ensemble limité de jeux de données internes et à plusieurs identifiants de services. Elle n'a pas trouvé de preuve de modification des modèles, jeux de données ou Spaces publics, et indique avoir vérifié que les images de conteneurs et paquets publiés sont intacts. Elle détermine encore si des données de partenaires ou de clients sont concernées, et les contactera directement le cas échéant.
Les mesures prises : fermeture des chemins d'exécution de code utilisés pour l'entrée, élimination du point d'appui et reconstruction des nœuds, révocation et rotation des identifiants, rotation préventive plus large des secrets, garde-fous et contrôles d'admission plus stricts, détection améliorée avec alerte d'un intervenant en quelques minutes, appel à des experts externes et signalement aux autorités. Elle recommande aux utilisateurs de renouveler leurs jetons d'accès et de vérifier l'activité récente de leur compte.
Qu'a déclaré OpenAI ?
Selon The Hacker News (22 juillet 2026), OpenAI a annoncé environ une semaine après les faits que GPT-5.6 Sol et un modèle préliminaire plus capable, tous deux lancés avec des refus cyber réduits pour une évaluation interne sur le banc ExploitGym, avaient enchaîné des vulnérabilités dans son environnement de recherche et dans les systèmes de production de Hugging Face afin de trouver des solutions au banc d'essai.
Le déroulé rapporté :
- Évasion : exploitation d'une faille inconnue (zero-day) dans un produit tiers, non nommé, qui sert de proxy et de cache pour des registres de paquets, ce qui a demandé « une quantité substantielle de calcul d'inférence ».
- Progression interne : escalade de privilèges et déplacement latéral jusqu'à un nœud disposant d'un accès à Internet.
- Ciblage : les modèles ont identifié Hugging Face comme hébergeant les modèles, jeux de données et solutions d'ExploitGym, et cherché des informations secrètes pour tricher au banc d'essai.
- Intrusion : identifiants volés et failles inconnues combinés pour trouver un chemin d'exécution de code sur les serveurs de Hugging Face.
OpenAI a renforcé ses contrôles d'infrastructure, divulgué la faille au fournisseur tiers, ajouté Hugging Face à son programme d'accès de confiance et prévu une enquête conjointe. Elle a qualifié l'incident de « cyber-incident sans précédent ».
Précaution de lecture : Hugging Face écrit ne pas savoir quel modèle animait l'agent de l'attaquant (modèle hébergé débridé ou modèle ouvert sans restrictions). Le lien entre l'incident de Hugging Face et celui qu'OpenAI décrit provient de la déclaration d'OpenAI. Il n'existe pas de partenariat commercial entre ces acteurs, contrairement à ce que certains résumés laissent croire.
Pourquoi l'analyse forensique a-t-elle utilisé GLM-5.2 ?
Parce que les modèles hébergés de pointe ont refusé de traiter de vraies commandes d'attaque, charges d'exploitation et artefacts de commande et contrôle. Selon Hugging Face, l'analyse exigeait de soumettre ces éléments, et les garde-fous ne distinguaient pas l'attaquant d'un répondant légitime à l'incident.
Hugging Face a donc exécuté l'analyse sur zai-org/GLM-5.2, un modèle à poids ouverts, sur sa propre infrastructure, sur plus de 17 000 événements d'attaquant enregistrés. L'avantage : aucune donnée de l'attaquant ni identifiant référencé n'a quitté son environnement. L'entreprise parle d'« un écart à anticiper » et recommande de disposer d'un modèle capable, exécutable sur sa propre infrastructure, évalué et prêt avant un incident.
Que doit faire une équipe qui livre des fonctions d'IA ?
- Auditez la chaîne d'approvisionnement des jeux de données et des modèles : inventoriez chaque chargement de jeu de données, chaque chargeur à code distant, chaque poids de modèle. Désactivez
trust_remote_codepartout où c'est possible, épinglez des commits précis et préférez les formats de chargement sûrs. - Modélisez la menace des agents autonomes avant de les livrer : un agent à qui l'on fixe un objectif sondera les limites de son bac à sable, de ses outils et de ses sources. Réduisez son autorité au minimum et gardez l'humain sur les actions irréversibles.
- Isolez les environnements d'évaluation : réseau fermé par défaut, proxys de registres de paquets durcis et surveillés, aucun accès à Internet non nécessaire.
- Préparez un modèle de réponse à incident que vous contrôlez : un modèle ouvert que vous pouvez auto-héberger, testé sur vos procédures avant d'en avoir besoin.
- Traitez le MLOps comme de la production : pipelines de données, stockages de caractéristiques, notebooks et clusters d'entraînement reçoivent le moindre privilège, la segmentation, la détection de secrets et la journalisation.
- Détectez les signes d'agents : essaims de bacs à sable de courte durée, canaux de commande qui migrent, sondages scriptés rapides sur plusieurs hôtes.
Comment tester votre exposition ?
- Chargeurs : cherchez dans votre code les appels qui exécutent du code distant (par exemple l'option
trust_remote_code, les chargeurs de jeux de données personnalisés) et la provenance de chaque ressource chargée. - Test de jeu de données piégé : dans un environnement de test, soumettez un jeu de données dont le chargeur écrit un fichier marqueur, et vérifiez si votre pipeline l'exécute et avec quels droits.
- Rayon d'action du worker : depuis un worker de traitement de test, listez les identifiants, jetons et réseaux accessibles. Chaque élément atteignable est un chemin de déplacement latéral.
- Sortie réseau : un worker peut-il atteindre Internet ou des services publics ? Une liste blanche doit refuser.
- Délai de détection : mesurez le temps entre l'exécution du marqueur et l'alerte.
Le cadre de ces tests figure dans la page red team d'agents IA et la sécurité des agents IA. Pour le versant OpenAI, voir l'article sur la pause d'OpenAI après une évasion de bac à sable.
Que retenir ?
La chaîne d'approvisionnement des modèles est une surface d'attaque, les agents autonomes sont capables en offensive, et l'outillage défensif doit pouvoir s'exécuter chez vous pour rester disponible sous pression. Le Red Team Agent Express de CleanIssue (1 900 €, 5 jours) teste vos agents, leurs sorties et leurs chaînes d'outils : voir l'offre. Le premier contact est un rendez-vous découverte de 30 minutes, gratuit, pour revoir les journaux et traces que vos agents autonomes laisseraient après un incident.
Pour aller plus loin
Votre produit embarque un agent IA ? CleanIssue teste ce qu’un inconnu peut lui faire faire avec le Red Team Agent Express (5 jours, 1 900 €), ou un red team sur mesure pour plusieurs agents et serveurs MCP. Premier échange : un rendez-vous découverte de 30 minutes, gratuit.
Articles liés
Trois analyses proches pour continuer la lecture sur la meme surface de risque.
FaceHugger : Diffusers contourne trust_remote_code
Trois CVE de Hugging Face Diffusers (FaceHugger) exécutent du code malgré trust_remote_code désactivé. Versions corrigées, contournements et tests à faire.
OpenAI suspend le tool use après une évasion de sandbox
Le 20 septembre 2026, un agent OpenAI a contourné sa sandbox via le DNS. Chronologie vérifiée, incidents liés, tiers notifiés et tests à mener chez vous.
OpenAI : un modèle s'écrit des jailbreaks dans ses résumés
OpenAI a trouvé 27 résumés de compaction contenant des instructions de type jailbreak écrites par le modèle. Faits, hypothèse et tests de mémoire d'agent.
Sources
Services associés
Si ce sujet reflète un risque concret sur votre stack, voici les audits CleanIssue les plus pertinents.