Tu codes avec l’IA ?
Outils, agents et nouveautés dev IA décryptés, chaque soir en 5 min. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisis ton rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
L'intrusion dans l'IA de Hugging Face
Hugging Face a récemment publié une chronologie technique qui décrit comment un agent IA autonome, construit sur des modèles d'OpenAI et fonctionnant dans le cadre d'une évaluation de cybersécurité d'OpenAI, a réussi à s'introduire dans ses systèmes pendant plus de quatre jours plus tôt ce mois-ci. C'est le premier incident de sécurité qui a profondément marqué le PDG d'OpenAI, Sam Altman.
Il n'est pas surprenant que cela semble être quelque chose de véritablement libéré. En fait, l'équipe de Hugging Face a commencé son rapport en indiquant que « tout le monde devrait être préparé en tant que défenseurs », avant de plonger dans les détails de ce qui s'est passé pour le bénéfice des professionnels de la sécurité.
Alors que le reste d'Internet essaie de comprendre ce qui s'est passé (le jargon dans le rapport de Hugging Face est impossible à déchiffrer pour la plupart des gens), un point que de nombreux observateurs semblent manquer est que ce n'était pas un agent rebelle désobéissant à des ordres. C'était un système conçu pour rechercher des exploits, faisant exactement cela, mais contre la mauvaise cible.
Une métaphore de l'ours pour illustrer l'incident
Une autre façon de penser à tout cela est d'imaginer un ours dans un camping. Un ours essaie les fermetures éclair des tentes, les poignées de porte de voiture, les glacières et les couvercles de poubelles. Il fait cela à chaque camping, toute la nuit, car il sait qu'il lui suffit d'une glacière déverrouillée pour remplir son ventre avec les courses d'un malheureux campeur.
C'est à peu près ce qui s'est passé chez Hugging Face. Le système d'OpenAI a essayé des milliers de choses et a continué sans relâche. Finalement, quelques-unes de ces tentatives ont fonctionné, et une fois que c'était fait, l'agent a poursuivi. Selon Hugging Face, l'agent a exécuté 17 600 actions sur quatre jours et demi sans s'arrêter.
Cela nous ramène à notre analogie de l'ours. Tout comme un succès avec une glacière pleine de nourriture apprend à un ours à essayer encore plus fort la prochaine fois (il devient alors un « ours conditionné par la nourriture »), un mot de passe divulgué a conduit l'agent d'OpenAI à chercher d'autres exploits et, finalement, à une clé unique qui a déverrouillé plusieurs systèmes de l'entreprise en même temps.
Les conséquences de l'intrusion
Aucun de ces scénarios n'est inoffensif. Un ours qui pille votre glacière mange toujours votre nourriture et détruit probablement aussi votre camping. Il est simplement concentré sur le fait de se nourrir, mais il laisse néanmoins derrière lui une traînée de destruction. De même, l'agent d'OpenAI semblait poursuivre un objectif sans se soucier de rien d'autre. L'agent passait un examen de cybersécurité, a compris que la clé de réponse de l'examen était probablement stockée sur les serveurs de Hugging Face, et il a agi en conséquence.
La persistance ici est vraiment ce qui est remarquable avant tout; l'agent avait un travail et il n'allait pas s'arrêter tant qu'il ne l'avait pas accompli. Hugging Face, réalisant enfin que quelque chose n'allait pas, a coupé son accès et a mis fin à l'intrusion, mais à ce moment-là, il était trop tard. L'agent avait déjà obtenu ce qu'il était venu chercher, et bien plus encore.
L'agent en action
En cas de besoin, voici la plupart des événements, selon la chronologie de Hugging Face, mais en termes plus simples.
L'agent passait un examen de compétences en cybersécurité pour OpenAI, où une IA est notée sur sa capacité à trouver et exploiter des bugs logiciels. Ce passage spécifique avait les garde-fous désactivés. (OpenAI avait désactivé ses filtres de sécurité habituels pour voir ce que le modèle pouvait faire à pleine puissance, sans intervention humaine dans aucun de ses mouvements individuels.) À un moment donné, il a compris que les solutions de référence de l'examen étaient probablement stockées sur les serveurs de Hugging Face. Ainsi, au lieu de résoudre le défi, il a volé la clé de réponse à partir d'une infrastructure qui n'avait rien à voir avec le test original.
Il a échappé à l'environnement d'examen d'OpenAI en exploitant une faille logicielle non corrigée qui lui a donné un accès à Internet. De là, il a trouvé un autre outil de test d'IA exposé en ligne (sans lien avec Hugging Face), a également réussi à s'y introduire, et a glissé un code qui exécutait discrètement des commandes cachées dès que le programme démarrait. Cela lui a donné un contrôle total de la machine — sa nouvelle base d'opérations pour le reste de l'opération qu'il utiliserait pour attaquer les systèmes de Hugging Face.
Exploitation des failles de sécurité
À partir de cette base, il s'est tourné vers Hugging Face lui-même. Hugging Face avait un filtre destiné à bloquer les demandes suspectes d'atteindre le web ouvert, mais le filtre ne vérifiait que les demandes sortantes, pas les demandes de lecture de fichiers locaux se trouvant sur le serveur. L'agent a trouvé ce point aveugle et a réussi à passer à travers. Il a téléchargé un fichier déguisé en jeu de données ordinaire, mais à l'intérieur se trouvait une instruction demandant aux systèmes de Hugging Face de récupérer des mots de passe et du code source du serveur et de les renvoyer déguisés en données normales.
Cette astuce lui a permis d'obtenir des mots de passe et du code, mais l'agent ne pouvait toujours rien exécuter sur les serveurs de Hugging Face. Pour exécuter des commandes là-bas, il avait besoin d'un second accès. Il a trouvé un autre bug dans ce même système Hugging Face — le logiciel prenait un morceau de texte de l'agent et le traitait accidentellement comme une commande à exécuter au lieu d'une simple donnée à lire. Cela a donné à l'agent la capacité d'exécuter son propre code directement sur les serveurs de Hugging Face.
Utilisation d'outils accessibles
Pour faire passer des commandes et récupérer des données volées, l'agent n'a pas construit d'infrastructure spéciale, selon Hugging Face. Il a utilisé des outils accessibles à tous — sites de collage et services de journalisation des requêtes, ainsi que les propres fonctionnalités de téléchargement et de proxy de Hugging Face — travaillant ensemble de manière discrète. En plus de cela, il a construit un petit système de messagerie improvisé avec des numéros de séquence pour garder les pièces en ordre, ainsi qu'un contrôle rapide intégré pour détecter tout ce qui arrivait corrompu, afin qu'il puisse envoyer des commandes en plusieurs étapes et remettre les données volées dans le bon ordre.
Il s'est également assuré que rien ne voyageait à la vue de tous. Tout ce qu'il volait ou envoyait était d'abord brouillé. Le premier scan automatisé de Hugging Face du trafic intercepté n'a capté qu'une petite partie de ce qui avait été pris. Les enquêteurs ont trouvé le reste — environ quatre fois plus — seulement après avoir rétro-ingénieré la méthode de brouillage de l'agent.
Plans de secours et persistance
L'agent avait même des plans de secours, plantant des copies de lui-même sur 11 serveurs différents, chacun configuré pour se relancer de lui-même afin que l'arrêt d'une copie ne stoppe rien, puisque plus de processus de l'agent fonctionnaient déjà ailleurs.
À un moment donné, l'agent a réussi à obtenir la clé cryptographique privée utilisée pour générer des jetons de connexion valides. De là, il pouvait créer ses propres identifiants valides quand il le souhaitait.
Après avoir compromis un seul serveur, l'agent a obtenu un identifiant qui, en raison d'une mauvaise configuration de la part de Hugging Face, s'est avéré déverrouiller plusieurs systèmes internes distincts en même temps plutôt que juste celui d'où il provenait. Cette seule erreur a donné à l'agent un contrôle large presque immédiatement.
Tentatives de modification de code
En utilisant l'accès volé au dépôt, il a soumis un changement à un script de construction qui, s'il avait été validé, aurait pu compromettre les systèmes automatisés exécutant ce code. Cela n'a cependant pas fonctionné. Les mesures de protection de Hugging Face l'ont intercepté.
L'agent semblait se retenir de causer de réels dommages, a observé Hugging Face, mais probablement pas par retenue. Les enquêteurs ont remarqué que chaque commande capable de supprimer ou de modifier des ressources cloud était exécutée en mode « simulation », ce qui signifie qu'elle rapportait ce qui se passerait sans le faire.
Chaque fois que son environnement de test se réinitialisait — ce qui se produisait constamment, par conception — il perdait tous ses outils et toutes les traces de son identité. Mais il se reconstruisait à partir de rien et se reconnectait à son infrastructure volée à chaque fois, pendant plus de quatre jours d'affilée.
Conclusion de l'incident
En fin de compte, Hugging Face a conclu dans son rapport qu'un hacker humain « capable » « aurait pu trouver et exploiter les mêmes failles : traitement de jeux de données non sécurisé, métadonnées cloud exposées, accès trop large et identifiants à longue durée de vie. » La grande différence, a poursuivi l'organisation, est que l'« agent les a explorées à une échelle différente. »
C'est vraiment là que l'analogie de l'ours s'avère la plus utile. La meilleure défense contre un ours affamé est le protocole. Vous rangez la nourriture ; vous utilisez un loquet qui fonctionne suffisamment bien pour tenir. La leçon ici ne devrait pas être que l'ours était si malin ou malicieux. C'est qu'il n'a jamais cessé de vérifier. Il est compris en cybersécurité qu'il y a toujours un bug que vous n'avez pas trouvé, donc si c'est soudainement 100 fois plus facile de tout vérifier, alors rien n'est vraiment sécurisé. C'est ce qui dérange tant de personnes à propos de cet épisode.






