{"id":156140,"date":"2025-09-03T11:56:31","date_gmt":"2025-09-03T18:56:31","guid":{"rendered":"https:\/\/unit42.paloaltonetworks.com\/?p=156140"},"modified":"2025-09-09T13:53:06","modified_gmt":"2025-09-09T20:53:06","slug":"model-namespace-reuse","status":"publish","type":"post","link":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/","title":{"rendered":"Quand la r\u00e9utilisation des espaces de noms met en p\u00e9ril l\u2019int\u00e9grit\u00e9 de la supply\u00a0chain de l\u2019IA"},"content":{"rendered":"<h2><a id=\"post-156140-_heading=h.lkvevgdplvsw\"><\/a>Avant-propos<\/h2>\n<p>Notre \u00e9tude a mis en \u00e9vidence une faille fondamentale dans la cha\u00eene d'approvisionnement de l'IA, permettant \u00e0 des attaquants d'obtenir une <strong>Ex\u00e9cution de Code \u00e0 Distance (RCE)<\/strong> ainsi que d'autres capacit\u00e9s sur des plateformes majeures telles que l'Azure AI Foundry de Microsoft, Vertex AI de Google et des milliers de projets open source. Nous avons baptis\u00e9 cette probl\u00e9matique <strong>\u00ab Model Namespace Reuse \u00bb<\/strong> (R\u00e9utilisation d'espaces de noms de mod\u00e8les).<\/p>\n<p>Hugging Face est une plateforme qui permet aux d\u00e9veloppeurs d'IA de cr\u00e9er, partager et d\u00e9ployer des mod\u00e8les et des jeux de donn\u00e9es. Sur cette plateforme, les espaces de noms (namespaces) servent d'identifiants pour les mod\u00e8les, qui sont des d\u00e9p\u00f4ts Git stock\u00e9s sur le hub Hugging Face. Les mod\u00e8les Hugging Face contiennent des configurations, des poids, du code et des informations permettant aux d\u00e9veloppeurs de les utiliser.<\/p>\n<p>Le \u00ab Model Namespace Reuse \u00bb se produit lorsque des catalogues de mod\u00e8les de fournisseurs de cloud, ou le code associ\u00e9, r\u00e9cup\u00e8rent un mod\u00e8le supprim\u00e9 ou transf\u00e9r\u00e9 en se basant sur son nom. En r\u00e9enregistrant un espace de noms abandonn\u00e9 et en recr\u00e9ant son chemin d'acc\u00e8s d'origine, des <strong>acteurs malveillants<\/strong> peuvent cibler les pipelines qui d\u00e9ploient des mod\u00e8les en se fiant uniquement \u00e0 leur nom. Cela peut potentiellement permettre \u00e0 des attaquants de d\u00e9ployer des mod\u00e8les malveillants et d'obtenir des capacit\u00e9s d'ex\u00e9cution de code, entre autres impacts.<\/p>\n<p>Bien que nous ayons divulgu\u00e9 cette vuln\u00e9rabilit\u00e9 de mani\u00e8re responsable \u00e0 Google, Microsoft et Hugging Face, le probl\u00e8me fondamental demeure une menace pour toute organisation qui r\u00e9cup\u00e8re des mod\u00e8les en se basant uniquement sur leur nom. Cette d\u00e9couverte prouve que la confiance accord\u00e9e aux mod\u00e8les sur la seule base de leur nom est insuffisante et n\u00e9cessite une <strong>r\u00e9\u00e9valuation critique de la s\u00e9curit\u00e9<\/strong> dans l'ensemble de l'\u00e9cosyst\u00e8me de l'IA.<\/p>\n<p>Les organisations peuvent b\u00e9n\u00e9ficier d\u2019un accompagnement dans l\u2019\u00e9valuation de leur posture de s\u00e9curit\u00e9 gr\u00e2ce \u00e0 <a href=\"https:\/\/www.paloaltonetworks.com\/resources\/datasheets\/unit-42-cloud-security-assessment\" target=\"_blank\" rel=\"noopener\">l\u2019\u00c9valuation de la s\u00e9curit\u00e9 du cloud de l\u2019Unit\u00a042<\/a>.<\/p>\n<p><a href=\"https:\/\/www.paloaltonetworks.com\/unit42\/assess\/ai-security-assessment\" target=\"_blank\" rel=\"noopener\">Notre approche<\/a> les aide \u00e9galement \u00e0 s\u00e9curiser l\u2019usage et le d\u00e9veloppement de l\u2019IA.<\/p>\n<p>Si vous pensez que votre entreprise a pu \u00eatre compromise ou si vous faites face \u00e0 une urgence, contactez <a href=\"https:\/\/www.paloaltonetworks.com\/unit42\/assess\/ai-security-assessment\" target=\"_blank\" rel=\"noopener\">l\u2019\u00e9quipe Unit\u00a042 de r\u00e9ponse \u00e0 incident<\/a>.<\/p>\n<table style=\"width: 96.2197%;\">\n<thead>\n<tr>\n<td style=\"width: 35%;\"><b>Unit\u00a042 \u2013\u00a0Th\u00e9matiques connexes<\/b><\/td>\n<td style=\"width: 188.748%;\"><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/tag\/supply-chain-fr\/\" target=\"_blank\" rel=\"noopener\"><b>Supply Chain<\/b><\/a>, <strong><a href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/tag\/genai-fr\/\" target=\"_blank\" rel=\"noopener\">GenAI<\/a><\/strong><\/td>\n<\/tr>\n<\/thead>\n<\/table>\n<h2><a id=\"post-156140-_heading=h.f89ab46suiyh\"><\/a>R\u00e9utilisation des espaces de noms de mod\u00e8les\u00a0: l\u2019explication<\/h2>\n<p>Comprendre comment Hugging\u00a0Face organise et identifie les mod\u00e8les est essentiel pour saisir la technique de r\u00e9utilisation des espaces de noms. La ressource la plus courante sur cette plateforme sont les mod\u00e8les, qui sont en r\u00e9alit\u00e9 des d\u00e9p\u00f4ts\u00a0Git qui contiennent la configuration, les poids ainsi que tout code ou \u00e9l\u00e9ment suppl\u00e9mentaire dont les d\u00e9veloppeurs et chercheurs peuvent avoir besoin pour les utiliser efficacement.<\/p>\n<h3><a id=\"post-156140-_heading=h.xbo3jg7fx4fe\"><\/a>Comment les d\u00e9veloppeurs r\u00e9cup\u00e8rent les mod\u00e8les<\/h3>\n<p>Pour identifier et acc\u00e9der aux mod\u00e8les, les d\u00e9veloppeurs utilisent une convention de nommage en deux parties\u00a0: <span style=\"font-family: 'courier new', courier, monospace;\">Author\/ModelName<\/span>. Dans cette structure, la partie <span style=\"font-family: 'courier new', courier, monospace;\">Author<\/span> correspond \u00e0 l\u2019utilisateur ou \u00e0 l\u2019organisation Hugging\u00a0Face ayant publi\u00e9 le mod\u00e8le, tandis que <span style=\"font-family: 'courier new', courier, monospace;\">ModelName<\/span> est le nom du mod\u00e8le.<\/p>\n<p>Par exemple, si l\u2019organisation\u00a0<span style=\"font-family: 'courier new', courier, monospace;\">AIOrg<\/span> publie le mod\u00e8le\u00a0<span style=\"font-family: 'courier new', courier, monospace;\">Translator_v1<\/span>, le nom complet du mod\u00e8le sera\u00a0<span style=\"font-family: 'courier new', courier, monospace;\">AIOrg\/Translator_v1<\/span>. Les noms d\u2019auteur servent d\u2019identifiants uniques\u00a0: si un auteur existe d\u00e9j\u00e0, il n\u2019est pas possible d\u2019en cr\u00e9er un autre portant le m\u00eame nom.<\/p>\n<p>Les d\u00e9veloppeurs emploient directement cet identifiant <span style=\"font-family: 'courier new', courier, monospace;\">Author\/ModelName<\/span> dans leur code, au sein des diff\u00e9rentes biblioth\u00e8ques Hugging\u00a0Face, pour t\u00e9l\u00e9charger et utiliser les mod\u00e8les. Ainsi, le code pr\u00e9sent\u00e9 \u00e0 la figure\u00a01 permet de r\u00e9cup\u00e9rer le mod\u00e8le <span style=\"font-family: 'courier new', courier, monospace;\">Translator_v1<\/span> depuis la biblioth\u00e8que\u00a0<span style=\"font-family: 'courier new', courier, monospace;\">Transformers<\/span>, largement utilis\u00e9e.<\/p>\n<figure id=\"attachment_155393\" aria-describedby=\"caption-attachment-155393\" style=\"width: 520px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-155393 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/F1.png\" alt=\"Extrait de code\u00a0Python illustrant l\u2019importation d\u2019AutoTokenizer et d\u2019AutoModelForCausalLM depuis la biblioth\u00e8que\u00a0Transformers de Hugging\u00a0Face, avec l\u2019appel du mod\u00e8le \u00ab\u00a0AI0rg\/Translator_v1\u00a0\u00bb.\" width=\"520\" height=\"105\" \/><figcaption id=\"caption-attachment-155393\" class=\"wp-caption-text\">Figure\u00a01. Code pour r\u00e9cup\u00e9rer le mod\u00e8le\u00a0<span style=\"font-family: 'courier new', courier, monospace;\">Translator_v<\/span>1 depuis la biblioth\u00e8que\u00a0<span style=\"font-family: 'courier new', courier, monospace;\">Transformers<\/span>.<\/figcaption><\/figure>\n<p>Cette structure hi\u00e9rarchique permet une attribution claire et une organisation coh\u00e9rente. Cependant, en l\u2019absence de garde-fous stricts concernant le cycle de vie de ces espaces de noms, une surface d\u2019attaque inattendue voit le jour.<\/p>\n<p>La technique de r\u00e9utilisation des espaces de noms de mod\u00e8les exploite la mani\u00e8re dont Hugging\u00a0Face g\u00e8re les identifiants <span style=\"font-family: 'courier new', courier, monospace;\">Author\/ModelName<\/span> apr\u00e8s la suppression d\u2019un compte, qu\u2019il s\u2019agisse d\u2019un utilisateur ou d\u2019une organisation. Nos recherches dans ce domaine ont mis en \u00e9vidence un point critique\u00a0: n\u2019importe qui peut r\u00e9enregistrer un espace de noms supprim\u00e9.<\/p>\n<p>Lorsqu\u2019un utilisateur ou une organisation est supprim\u00e9 de Hugging\u00a0Face, son espace de noms unique ne devient pas d\u00e9finitivement indisponible. Ces identifiants retournent dans un pool d\u2019options disponibles, permettant \u00e0 un autre utilisateur de cr\u00e9er ult\u00e9rieurement une organisation sous le m\u00eame nom. Ce m\u00e9canisme de r\u00e9utilisation est illustr\u00e9 dans l\u2019<a href=\"https:\/\/www.paloaltonetworks.com\/unit42\/assess\/ai-security-assessment\" target=\"_blank\" rel=\"noopener\">\u00c9tude de cas\u00a01 \u2013\u00a0Vertex\u00a0AI.<\/a><\/p>\n<h3><a id=\"post-156140-_heading=h.k12cm0vsl2vu\"><\/a>Suppression d\u2019un propri\u00e9taire dans Hugging\u00a0Face<\/h3>\n<p>Consid\u00e9rons le sc\u00e9nario fictif suivant d\u2019un mod\u00e8le dont l\u2019auteur a \u00e9t\u00e9 supprim\u00e9\u00a0:<\/p>\n<p>L\u2019organisation\u00a0<span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> avait cr\u00e9\u00e9 le mod\u00e8le l\u00e9gitime\u00a0<span style=\"font-family: 'courier new', courier, monospace;\">toothfAIry<\/span>. Ce mod\u00e8le permettait d\u2019analyser des images dentaires et de d\u00e9tecter avec pr\u00e9cision les caries ainsi que d\u2019autres anomalies dentaires. Gr\u00e2ce \u00e0 son efficacit\u00e9 et \u00e0 sa simplicit\u00e9 d\u2019utilisation, il est rapidement devenu un outil appr\u00e9ci\u00e9 des d\u00e9veloppeurs, des chercheurs en odontologie et des professionnels de sant\u00e9. Au fil du temps, <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI\/toothfAIry<\/span> a \u00e9t\u00e9 int\u00e9gr\u00e9 \u00e0 des outils de diagnostic, des plateformes m\u00e9dicales et m\u00eame \u00e0 des d\u00e9p\u00f4ts open\u00a0source sp\u00e9cialis\u00e9s en technologies de sant\u00e9.<\/p>\n<p>Mais les d\u00e9veloppeurs de <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> l\u2019ont finalement supprim\u00e9e de Hugging\u00a0Face. Un acteur malveillant a remarqu\u00e9 cette opportunit\u00e9 et en a profit\u00e9 pour recr\u00e9er l\u2019organisation, puis y charger une version compromise du mod\u00e8le <span style=\"font-family: 'courier new', courier, monospace;\">toothfAIry<\/span> sous le m\u00eame nom.<\/p>\n<p>En cons\u00e9quence, tous les d\u00e9p\u00f4ts de code et pipelines continuant de r\u00e9f\u00e9rencer le mod\u00e8le original se retrouvent d\u00e9sormais gravement expos\u00e9s.<\/p>\n<p>On pourrait croire que si un nom de mod\u00e8le de confiance continue de fonctionner dans le code, c\u2019est qu\u2019il n\u2019existe aucun risque de r\u00e9utilisation malveillante de cet espace de noms. Il s\u2019agit en fait d\u2019une id\u00e9e re\u00e7ue. Des d\u00e9p\u00f4ts de code et des pipelines peuvent t\u00e9l\u00e9charger et d\u00e9ployer une version compromise \u00e0 l\u2019insu des d\u00e9veloppeurs. Ces mod\u00e8les malveillants peuvent entra\u00eener une s\u00e9rie de cons\u00e9quences impr\u00e9vues\u00a0: diagnostics erron\u00e9s, ou encore acc\u00e8s non autoris\u00e9 et persistant aux syst\u00e8mes concern\u00e9s par les attaquants.<\/p>\n<p>La figure\u00a02 illustre les \u00e9tapes de ce sc\u00e9nario fictif.<\/p>\n<figure id=\"attachment_156297\" aria-describedby=\"caption-attachment-156297\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156297 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/FR-Model-Namespace-Reuse-Frame-6-786x285.png\" alt=\"S\u00e9quence de cinq sch\u00e9mas illustrant le d\u00e9roulement de l\u2019attaque. 1\u00a0: Un utilisateur utilise un mod\u00e8le provenant de Hugging\u00a0Face. 2\u00a0: L\u2019auteur du mod\u00e8le est supprim\u00e9, son nom unique est donc disponible. 3\u00a0: Le mod\u00e8le d\u2019origine n\u2019est lui plus accessible. 4\u00a0: Un attaquant recr\u00e9e le mod\u00e8le sous le m\u00eame nom et y ajoute un contenu malveillant. 5\u00a0: Un utilisateur, sans s\u2019en douter, t\u00e9l\u00e9charge et utilise le mod\u00e8le compromis.\" width=\"1000\" height=\"363\" srcset=\"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/FR-Model-Namespace-Reuse-Frame-6-786x285.png 786w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/FR-Model-Namespace-Reuse-Frame-6-768x279.png 768w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/FR-Model-Namespace-Reuse-Frame-6.png 1290w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156297\" class=\"wp-caption-text\">Figure 2. Vue d\u2019ensemble du flux d\u2019attaque.<\/figcaption><\/figure>\n<p>Un autre vecteur d\u2019attaque potentiel r\u00e9side dans la mani\u00e8re dont Hugging\u00a0Face g\u00e8re le transfert de propri\u00e9t\u00e9 des mod\u00e8les.<\/p>\n<h3><a id=\"post-156140-_heading=h.x91yodo8p3w3\"><\/a>Transfert de propri\u00e9t\u00e9 dans Hugging\u00a0Face<\/h3>\n<p>Hugging Face permet en effet de modifier l\u2019auteur d\u2019un mod\u00e8le en transf\u00e9rant sa propri\u00e9t\u00e9 d\u2019un d\u00e9tenteur \u00e0 un autre. Ce transfert g\u00e9n\u00e8re un nouvel espace de noms pour le mod\u00e8le \u2013\u00a0<span style=\"font-family: 'courier new', courier, monospace;\">AIOrg\/Translator_v1<\/span> devient <span style=\"font-family: 'courier new', courier, monospace;\">AIOrgNew\/Translator_v1<\/span>, par exemple. Les utilisateurs peuvent alors d\u00e9ployer le mod\u00e8le via ce nouvel identifiant. Toutefois, l\u2019espace de noms d\u2019origine reste lui aussi accessible pour le d\u00e9ploiement.<\/p>\n<p>Lorsqu\u2019un utilisateur soumet une requ\u00eate \u00e0 l\u2019ancien espace de noms, Hugging\u00a0Face le redirige automatiquement vers le nouvel espace. Cette redirection s\u2019applique \u00e0 tous les points d\u2019acc\u00e8s\u00a0: interface utilisateur\u00a0(UI), Rest\u00a0API et kits de d\u00e9veloppement logiciel (SDK).<\/p>\n<p>Cette approche est logique et voulue\u00a0: Hugging\u00a0Face cherche \u00e0 garantir la continuit\u00e9 des pipelines, m\u00eame apr\u00e8s un changement d\u2019espace de noms. Mais, comme le montre le sc\u00e9nario pr\u00e9c\u00e9dent, si l\u2019organisation d\u00e9tentrice du mod\u00e8le original est supprim\u00e9e, l\u2019espace de noms redevient disponible pour un nouvel enregistrement.<\/p>\n<p>Dans ce cas, si un acteur malveillant s\u2019approprie cet espace de noms, le m\u00e9canisme de redirection est rompu\u00a0: la version compromise du mod\u00e8le prend alors le pas sur la version l\u00e9gitime.<\/p>\n<p>Pour illustrer ce sc\u00e9nario fictif, reprenons l\u2019exemple du domaine dentaire.<\/p>\n<p>L\u2019organisation <span style=\"font-family: 'courier new', courier, monospace;\">Dentalligence<\/span> a rachet\u00e9 <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span>. Dans le cadre de cette acquisition, <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> a transf\u00e9r\u00e9 l\u2019ensemble de ses mod\u00e8les d\u2019IA vers l\u2019organisation <span style=\"font-family: 'courier new', courier, monospace;\">Dentalligence<\/span>. Une fois le transfert effectu\u00e9, les administrateurs de <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> ont supprim\u00e9 l\u2019organisation d\u2019origine de Hugging\u00a0Face, puisqu\u2019elle \u00e9tait d\u00e9sormais enti\u00e8rement int\u00e9gr\u00e9e \u00e0 <span style=\"font-family: 'courier new', courier, monospace;\">Dentalligence<\/span>.<\/p>\n<p>Tous les mod\u00e8les auparavant publi\u00e9s sous <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> (comme <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI\/toothfAIry<\/span>) sont alors devenus accessibles via leurs nouveaux chemins, tels que <span style=\"font-family: 'courier new', courier, monospace;\">Dentalligence\/toothfAIry<\/span>. Pour assurer la continuit\u00e9, Hugging\u00a0Face a maintenu des redirections depuis les anciens espaces de noms vers les nouveaux, permettant aux utilisateurs de continuer \u00e0 acc\u00e9der aux mod\u00e8les sans modifier leur code.<\/p>\n<p>Mais un acteur malveillant a constat\u00e9 que l\u2019organisation <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> \u00e9tait de nouveau disponible. Il l\u2019a recr\u00e9\u00e9e et y a t\u00e9l\u00e9charg\u00e9 des mod\u00e8les compromis, en reprenant exactement les m\u00eames noms que ceux auparavant utilis\u00e9s par <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span>.<\/p>\n<p>Comme les noms de mod\u00e8les originaux restaient valides et d\u00e9ployables durant toute la transition, les utilisateurs n\u2019ont rien remarqu\u00e9. Ils n\u2019ont subi aucune interruption de service et n\u2019ont pas eu \u00e0 modifier leurs appels de mod\u00e8les dans le code. Ainsi, une requ\u00eate visant \u00e0 t\u00e9l\u00e9charger <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI\/toothfAIry<\/span> redirigeait automatiquement vers <span style=\"font-family: 'courier new', courier, monospace;\">Dentalligence\/toothfAIry<\/span>. Lorsque l\u2019acteur malveillant a ins\u00e9r\u00e9 sa version sous les anciens noms, les utilisateurs ont donc commenc\u00e9 \u00e0 d\u00e9ployer les mod\u00e8les compromis \u00e0 la place des versions de confiance qu\u2019ils avaient int\u00e9gr\u00e9es initialement.<\/p>\n<h3><a id=\"post-156140-_heading=h.gwk74f22z84t\"><\/a>Comparaison des sc\u00e9narios<\/h3>\n<p>Des espaces de noms de mod\u00e8les r\u00e9utilisables cod\u00e9s en dur existent dans des milliers de projets open\u00a0source. Ils se retrouvent aussi bien dans des d\u00e9p\u00f4ts populaires, largement \u00e9toil\u00e9s, que dans d\u2019autres appartenant \u00e0 des organisations de premier plan. De tels mod\u00e8les repr\u00e9sentent en outre une menace pour les utilisateurs des principales plateformes d\u2019IA.<\/p>\n<p>Le tableau 1 r\u00e9sume les diff\u00e9rences entre les deux sc\u00e9narios.<\/p>\n<table style=\"width: 100.648%;\">\n<tbody>\n<tr>\n<td style=\"width: 20.0926%;\"><\/td>\n<td style=\"text-align: center; width: 31.7593%;\"><strong>Suppression du propri\u00e9taire<\/strong><\/td>\n<td style=\"text-align: center; width: 47.8703%;\"><strong>Transfert de propri\u00e9t\u00e9<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 20.0926%;\"><strong>Cause<\/strong><\/td>\n<td style=\"width: 31.7593%;\">L\u2019auteur du mod\u00e8le a \u00e9t\u00e9 supprim\u00e9 de Hugging\u00a0Face.<\/td>\n<td style=\"width: 47.8703%;\">Le mod\u00e8le a \u00e9t\u00e9 transf\u00e9r\u00e9 \u00e0 un nouveau propri\u00e9taire et l\u2019ancien auteur a \u00e9t\u00e9 supprim\u00e9 de Hugging\u00a0Face.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 20.0926%;\"><strong>Exp\u00e9rience utilisateur<\/strong><\/td>\n<td style=\"width: 31.7593%;\">Les utilisateurs subiront des temps d\u2019arr\u00eat, le mod\u00e8le n\u2019existant plus.<\/td>\n<td style=\"width: 47.8703%;\">Les utilisateurs ne seront pas affect\u00e9s, leurs requ\u00eates \u00e9tant redirig\u00e9es vers le nouveau mod\u00e8le.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 20.0926%;\"><strong>Codes\u00a0HTTP lors de l\u2019acc\u00e8s au mod\u00e8le<\/strong><\/td>\n<td style=\"width: 31.7593%;\">404<\/td>\n<td style=\"width: 47.8703%;\">307<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 20.0926%;\"><strong>Signes distinctifs<\/strong><\/td>\n<td style=\"width: 31.7593%;\">L\u2019auteur du mod\u00e8le n\u2019est plus disponible sur Hugging\u00a0Face.<\/td>\n<td style=\"width: 47.8703%;\">Lorsqu\u2019on tente d\u2019acc\u00e9der au mod\u00e8le, Hugging\u00a0Face redirige vers un autre auteur. En outre, l\u2019ancien auteur n\u2019est plus disponible.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-size: 10pt;\">Tableau\u00a01. Diff\u00e9rences cl\u00e9s entre les mod\u00e8les supprim\u00e9s r\u00e9utilisables et les mod\u00e8les transf\u00e9r\u00e9s r\u00e9utilisables.<\/span><\/p>\n<h2><a id=\"post-156140-_heading=h.5bqzdbjdsmt5\"><\/a>R\u00e9utilisation des espaces de noms de mod\u00e8les en pratique<\/h2>\n<h3><a id=\"post-156140-_heading=h.656qr31v5g7d\"><\/a>\u00c9tude de cas n\u00b0\u00a01\u00a0: Vertex\u00a0AI<\/h3>\n<p>Google\u00a0Vertex\u00a0AI est une plateforme de machine\u00a0learning\u00a0(ML) manag\u00e9e au sein de Google\u00a0Cloud\u00a0Platform\u00a0(GCP). Les d\u00e9veloppeurs utilisent Vertex\u00a0AI pour cr\u00e9er et mettre \u00e0 l\u2019\u00e9chelle des mod\u00e8les qui s\u2019int\u00e8grent avec d\u2019autres services Google\u00a0Cloud.<\/p>\n<p>Le Model\u00a0Garden est une fonctionnalit\u00e9 cl\u00e9 de Vertex\u00a0AI\u00a0: il s\u2019agit d\u2019un d\u00e9p\u00f4t centralis\u00e9 de mod\u00e8les pr\u00e9 entra\u00een\u00e9s provenant de Google, de tiers et de la communaut\u00e9 open\u00a0source. Fait notable, il prend en charge le d\u00e9ploiement direct de mod\u00e8les issus de Hugging\u00a0Face. Concr\u00e8tement, les utilisateurs peuvent s\u00e9lectionner un mod\u00e8le sur Hugging\u00a0Face et le d\u00e9ployer sur Vertex\u00a0AI en seulement quelques \u00e9tapes, sans avoir \u00e0 r\u00e9aliser de packaging sp\u00e9cifique.<\/p>\n<p>La figure\u00a03 illustre le d\u00e9ploiement du mod\u00e8le <span style=\"font-family: 'courier new', courier, monospace;\">distilbert\/distilgpt2<\/span>.<\/p>\n<figure id=\"attachment_156163\" aria-describedby=\"caption-attachment-156163\" style=\"width: 695px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156163 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-20089-156140-3.png\" alt=\"Capture d\u2019\u00e9cran d\u2019une interface de d\u00e9ploiement de mod\u00e8les IA depuis Hugging\u00a0Face, avec des options pour d\u00e9ployer sur Vertex\u00a0AI ou Google\u00a0Kubernetes Engine. Des boutons permettent de lancer le d\u00e9ploiement, d\u2019annuler ou de consulter le code \u00e9quivalent.\" width=\"695\" height=\"515\" srcset=\"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-20089-156140-3.png 695w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-20089-156140-3-594x440.png 594w\" sizes=\"(max-width: 695px) 100vw, 695px\" \/><figcaption id=\"caption-attachment-156163\" class=\"wp-caption-text\">Figure 3. D\u00e9ploiement d\u2019un mod\u00e8le Hugging Face sur Vertex AI.<\/figcaption><\/figure>\n<p>Il convient de noter que tous les mod\u00e8les ne sont pas imm\u00e9diatement d\u00e9ployables via Vertex\u00a0AI. Une coche verte plac\u00e9e \u00e0 c\u00f4t\u00e9 du nom du mod\u00e8le indique que Google l\u2019a v\u00e9rifi\u00e9 et qu\u2019il peut \u00eatre d\u00e9ploy\u00e9.<\/p>\n<p>De plus, l\u2019interface propose un lien direct vers la fiche du mod\u00e8le sur Hugging\u00a0Face, permettant aux utilisateurs de consulter rapidement la documentation, la licence et d\u2019autres informations essentielles. La figure\u00a04 pr\u00e9sente un exemple de fiche de mod\u00e8le pour <span style=\"font-family: 'courier new', courier, monospace;\">distilbert\/distilgpt2.<\/span><\/p>\n<figure id=\"attachment_156174\" aria-describedby=\"caption-attachment-156174\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156174 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-22067-156140-4.png\" alt=\"Capture d\u2019\u00e9cran du site Hugging\u00a0Face affichant la fiche du mod\u00e8le\u00a0DistilGPT2, une version all\u00e9g\u00e9e de GPT-2 con\u00e7ue pour des t\u00e2ches de traitement du langage plus efficaces.\" width=\"1000\" height=\"751\" srcset=\"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-22067-156140-4.png 1178w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-22067-156140-4-586x440.png 586w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-22067-156140-4-932x700.png 932w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-22067-156140-4-768x577.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156174\" class=\"wp-caption-text\">Figure 4. Fiche du mod\u00e8le <span style=\"font-family: 'courier new', courier, monospace;\">DistilGPT2<\/span> sur Hugging Face.<\/figcaption><\/figure>\n<p>En examinant la liste des mod\u00e8les propos\u00e9s par Vertex\u00a0AI pour un d\u00e9ploiement direct depuis Hugging\u00a0Face, et en v\u00e9rifiant si leurs auteurs originaux avaient \u00e9t\u00e9 supprim\u00e9s, nous avons identifi\u00e9 plusieurs mod\u00e8les r\u00e9utilisables. Ces mod\u00e8les r\u00e9pondent \u00e0 deux conditions\u00a0:<\/p>\n<ul>\n<li>L\u2019organisation originale a \u00e9t\u00e9 supprim\u00e9e de Hugging\u00a0Face.<\/li>\n<li>Le mod\u00e8le reste list\u00e9 et valid\u00e9 par Vertex\u00a0AI.<\/li>\n<\/ul>\n<p>Les figures\u00a05 et 6 illustrent un exemple de ce type de mod\u00e8le, qui peut \u00eatre d\u00e9ploy\u00e9 sur Vertex AI, bien que son auteur n\u2019existe pas sur Hugging\u00a0Face.<\/p>\n<figure id=\"attachment_156185\" aria-describedby=\"caption-attachment-156185\" style=\"width: 613px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156185 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-25130-156140-5.png\" alt=\"Capture d\u2019\u00e9cran d\u2019une interface de d\u00e9ploiement Hugging\u00a0Face, montrant les champs pour saisir l\u2019URL d\u2019un mod\u00e8le Hugging\u00a0Face et s\u00e9lectionner un environnement de d\u00e9ploiement, avec Vertex\u00a0AI recommand\u00e9.\" width=\"613\" height=\"373\" \/><figcaption id=\"caption-attachment-156185\" class=\"wp-caption-text\">Figure 5. Le mod\u00e8le r\u00e9utilisable est d\u00e9ployable sur Vertex AI.<\/figcaption><\/figure>\n<figure id=\"attachment_156196\" aria-describedby=\"caption-attachment-156196\" style=\"width: 865px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156196 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-27029-156140-6.png\" alt=\"Page d\u2019erreur\u00a0404 sur le site Hugging\u00a0Face avec un emoji Hugging triste. Une fl\u00e8che pointe vers l\u2019URL.\" width=\"865\" height=\"836\" srcset=\"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-27029-156140-6.png 865w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-27029-156140-6-455x440.png 455w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-27029-156140-6-724x700.png 724w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-27029-156140-6-768x742.png 768w\" sizes=\"(max-width: 865px) 100vw, 865px\" \/><figcaption id=\"caption-attachment-156196\" class=\"wp-caption-text\">Figure 6. L\u2019auteur n\u2019existe plus sur Hugging Face.<\/figcaption><\/figure>\n<p>Nous avons ensuite proc\u00e9d\u00e9 \u00e0 l\u2019enregistrement de l\u2019un des espaces de noms d\u2019auteur et cr\u00e9\u00e9 un mod\u00e8le portant le m\u00eame nom, comme l\u2019illustre la figure\u00a07.<\/p>\n<figure id=\"attachment_156207\" aria-describedby=\"caption-attachment-156207\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156207 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-30051-156140-7.png\" alt=\"Capture d\u2019\u00e9cran du site Hugging\u00a0Face pr\u00e9sentant la fiche d\u2019un mod\u00e8le de classification de texte. L\u2019\u00e9cran affiche les onglets Model\u00a0Card, Files and Versions, Community et Settings. Le profil utilisateur est indiqu\u00e9 comme \u00ab\u00a0Following\u00a0\u00bb avec 0\u00a0mention \u00ab\u00a0J\u2019aime\u00a0\u00bb. Certaines informations sont masqu\u00e9es. \" width=\"1000\" height=\"425\" srcset=\"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-30051-156140-7.png 1898w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-30051-156140-7-786x334.png 786w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-30051-156140-7-1648x700.png 1648w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-30051-156140-7-768x326.png 768w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-30051-156140-7-1536x652.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156207\" class=\"wp-caption-text\">Figure 7. Cr\u00e9ation r\u00e9ussie de l\u2019auteur et du mod\u00e8le sur Hugging Face.<\/figcaption><\/figure>\n<p>Apr\u00e8s cette prise de contr\u00f4le, tout d\u00e9ploiement du mod\u00e8le original aboutissait d\u00e9sormais au d\u00e9ploiement de notre nouveau mod\u00e8le.<\/p>\n<p>Pour d\u00e9montrer l\u2019impact potentiel de cette technique, nous avons int\u00e9gr\u00e9 dans le mod\u00e8le un payload d\u00e9clenchant un reverse\u00a0shell depuis la machine effectuant le d\u00e9ploiement vers nos serveurs. Une fois le mod\u00e8le d\u00e9ploy\u00e9 par Vertex\u00a0AI, nous avons obtenu un acc\u00e8s \u00e0 l\u2019infrastructure sous-jacente h\u00e9bergeant le mod\u00e8le \u2013\u00a0plus pr\u00e9cis\u00e9ment, au terminal. La figure\u00a08 montre le reverse\u00a0shell depuis le terminal vers notre machine contr\u00f4l\u00e9e.<\/p>\n<figure id=\"attachment_155415\" aria-describedby=\"caption-attachment-155415\" style=\"width: 624px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-155415 size-full lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/F8.png\" alt=\"Capture d\u2019\u00e9cran de l\u2019environnement du terminal. Plusieurs lignes de texte affichent des messages d\u2019erreur li\u00e9s \u00e0 un script\u00a0bash, avec certains d\u00e9tails flout\u00e9s pour confidentialit\u00e9. Le texte visible comprend des chemins de fichiers et des commandes syst\u00e8me.\" width=\"624\" height=\"79\" \/><figcaption id=\"caption-attachment-155415\" class=\"wp-caption-text\">Figure 8. Acc\u00e8s au terminal Vertex AI.<\/figcaption><\/figure>\n<p>L\u2019environnement accessible \u00e9tait un conteneur d\u00e9di\u00e9, dot\u00e9 d\u2019un p\u00e9rim\u00e8tre limit\u00e9 au sein de GCP. Apr\u00e8s avoir d\u00e9montr\u00e9 ce vecteur d\u2019attaque, nous avons retir\u00e9 le backdoor du d\u00e9p\u00f4t du mod\u00e8le.<\/p>\n<p>Depuis que nous avons signal\u00e9 ce probl\u00e8me \u00e0 Google en f\u00e9vrier 2025, des analyses sont effectu\u00e9es chaque jour pour identifier les mod\u00e8les orphelins. Ces analyses apposent aux mod\u00e8les concern\u00e9s le statut \u00ab\u00a0verification unsuccessful \u00bb, les emp\u00eachant ainsi d\u2019\u00eatre d\u00e9ploy\u00e9s sur Vertex.<\/p>\n<h3><a id=\"post-156140-_heading=h.n0u5t2710y3x\"><\/a>\u00c9tude de cas n\u00b0\u00a02\u00a0: Azure\u00a0AI\u00a0Foundry<\/h3>\n<p>Azure\u00a0AI\u00a0Foundry est la plateforme de Microsoft d\u00e9di\u00e9e au d\u00e9veloppement d\u2019applications de machine\u00a0learning et de GenAI. Elle fournit des outils couvrant les diff\u00e9rentes \u00e9tapes du cycle de vie de l\u2019IA, de l\u2019ingestion des donn\u00e9es \u00e0 l\u2019entra\u00eenement des mod\u00e8les, en passant par le d\u00e9ploiement et la supervision.<\/p>\n<p>Azure\u00a0AI Studio est notamment b\u00e2tie sur le Model\u00a0Catalog, un hub regroupant des mod\u00e8les fondamentaux propos\u00e9s par Microsoft, des contributeurs open\u00a0source et divers \u00e9diteurs. Le catalogue d\u2019Azure\u00a0AI\u00a0Foundry permet aux utilisateurs de d\u00e9ployer et de personnaliser des mod\u00e8les directement sur la plateforme. La figure\u00a09 montre que de nombreux mod\u00e8les de ce catalogue proviennent de Hugging\u00a0Face.<\/p>\n<figure id=\"attachment_156229\" aria-describedby=\"caption-attachment-156229\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156229 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-36295-156140-9.png\" alt=\"Capture d\u2019\u00e9cran du catalogue de mod\u00e8les d\u2019Azure\u00a0AI\u00a0Foundry, affichant une vari\u00e9t\u00e9 de mod\u00e8les IA dont Google\u00a0Bert et OpenAI\u00a0GPT, organis\u00e9s en grille avec des options de filtrage et de recherche.\" width=\"1000\" height=\"806\" srcset=\"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-36295-156140-9.png 1106w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-36295-156140-9-546x440.png 546w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-36295-156140-9-869x700.png 869w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-36295-156140-9-768x619.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156229\" class=\"wp-caption-text\">Figure 9. Divers mod\u00e8les Hugging Face dans AI Foundry.<\/figcaption><\/figure>\n<p>Nous avons pass\u00e9 en revue la liste des mod\u00e8les disponibles dans Azure\u00a0AI\u00a0Foundry en nous concentrant sur ceux issus de Hugging\u00a0Face. Pour chacun d\u2019eux, nous avons v\u00e9rifi\u00e9 si le compte de l\u2019auteur original avait \u00e9t\u00e9 supprim\u00e9. L\u00e0 encore, nous avons identifi\u00e9 plusieurs mod\u00e8les r\u00e9utilisables \u2013\u00a0des mod\u00e8les dont l\u2019espace de noms n\u2019\u00e9tait plus revendiqu\u00e9, mais qui restaient disponibles pour le d\u00e9ploiement.<\/p>\n<p>Pour d\u00e9montrer le risque, nous avons r\u00e9enregistr\u00e9 l\u2019un de ces noms d\u2019auteur non revendiqu\u00e9s sur Hugging\u00a0Face et y avons t\u00e9l\u00e9charg\u00e9 un mod\u00e8le contenant un reverse\u00a0shell. Lors du d\u00e9ploiement, le reverse\u00a0shell s\u2019est ex\u00e9cut\u00e9 avec succ\u00e8s, nous donnant acc\u00e8s au terminal sous-jacent (cf. figure\u00a010).<\/p>\n<figure id=\"attachment_156240\" aria-describedby=\"caption-attachment-156240\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156240 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-38749-156140-10.png\" alt=\"Capture d\u2019\u00e9cran du terminal sous-jacent. Le texte montre une interface en ligne de commande avec des commandes permettant de consulter le nom d\u2019h\u00f4te, l\u2019identit\u00e9 de l\u2019utilisateur et les variables d\u2019environnement.\" width=\"800\" height=\"229\" srcset=\"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-38749-156140-10.png 1710w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-38749-156140-10-786x225.png 786w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-38749-156140-10-768x220.png 768w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-38749-156140-10-1536x440.png 1536w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-156240\" class=\"wp-caption-text\">Figure 10. Acc\u00e8s continu au terminal.<\/figcaption><\/figure>\n<p>En exploitant ce vecteur d\u2019attaque, nous avons obtenu des autorisations \u00e9quivalentes \u00e0 celles du terminal\u00a0Azure. Cela nous a fourni un premier point d\u2019acc\u00e8s \u00e0 l\u2019environnement\u00a0Azure de l\u2019utilisateur. Apr\u00e8s avoir d\u00e9montr\u00e9 ce vecteur d\u2019attaque, nous avons retir\u00e9 le backdoor du d\u00e9p\u00f4t du mod\u00e8le.<\/p>\n<h3><a id=\"post-156140-_heading=h.v71k816796ss\"><\/a>\u00c9tude de cas n\u00b0\u00a03\u00a0: r\u00e9f\u00e9rentiels open\u00a0source<\/h3>\n<p>Apr\u00e8s avoir constat\u00e9 l\u2019impact de la r\u00e9utilisation des espaces de noms de mod\u00e8les sur les principaux services\u00a0cloud d\u2019IA, nous avons r\u00e9alis\u00e9 une recherche approfondie dans les r\u00e9f\u00e9rentiels open\u00a0source. Nous souhaitions identifier les projets faisant r\u00e9f\u00e9rence \u00e0 des mod\u00e8les Hugging\u00a0Face par des identifiants <span style=\"font-family: 'courier new', courier, monospace;\">Author\/ModelName<\/span> disponibles pour r\u00e9enregistrement.<\/p>\n<p>De tels projets exposent leurs utilisateurs \u00e0 des risques de s\u00e9curit\u00e9 majeurs. Les attaquants peuvent exploiter ces d\u00e9pendances en rep\u00e9rant un identifiant <span style=\"font-family: 'courier new', courier, monospace;\">Author\/ModelName<\/span> encore disponible, en le r\u00e9enregistrant puis en y t\u00e9l\u00e9versant des fichiers malveillants. Ces derniers ont alors de fortes chances d\u2019\u00eatre d\u00e9ploy\u00e9s dans les environnements des utilisateurs lors de l\u2019ex\u00e9cution ou du d\u00e9ploiement du projet.<\/p>\n<p>Nous avons commenc\u00e9 par rechercher sur GitHub des r\u00e9f\u00e9rentiels open\u00a0source contenant des m\u00e9thodes\u00a0SDK destin\u00e9es \u00e0 r\u00e9cup\u00e9rer des mod\u00e8les sur Hugging\u00a0Face. Nous avons ensuite affin\u00e9 la recherche en identifiant les noms de mod\u00e8les r\u00e9f\u00e9renc\u00e9s dans ces r\u00e9f\u00e9rentiels. Pour d\u00e9tecter les mod\u00e8les r\u00e9utilisables, nous avons v\u00e9rifi\u00e9 si leur auteur avait \u00e9t\u00e9 supprim\u00e9 et pouvait \u00eatre r\u00e9enregistr\u00e9.<\/p>\n<p>Cette enqu\u00eate a r\u00e9v\u00e9l\u00e9 des milliers de r\u00e9f\u00e9rentiels vuln\u00e9rables, parmi lesquels plusieurs projets bien connus et largement \u00e9toil\u00e9s. Ces projets incluent \u00e0 la fois des mod\u00e8les supprim\u00e9s et des mod\u00e8les transf\u00e9r\u00e9s dont l\u2019auteur original a disparu, laissant les utilisateurs dans l\u2019ignorance de la menace \u2013\u00a0dans la mesure o\u00f9 les projets continuent de fonctionner normalement.<\/p>\n<p>Les figures\u00a011 et 12 illustrent la pr\u00e9sence de mod\u00e8les et de noms r\u00e9utilisables dans des projets open\u00a0source populaires.<\/p>\n<figure id=\"attachment_156251\" aria-describedby=\"caption-attachment-156251\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156251 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-40827-156140-11.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un code utilisant la biblioth\u00e8que\u00a0Transformers de Hugging\u00a0Face, avec certains d\u00e9tails flout\u00e9s pour des raisons de confidentialit\u00e9. Le code importe AutoTokenizer et AutoModel et les initialise avec des param\u00e8tres sp\u00e9cifiques \u00e0 partir d\u2019un mod\u00e8le pr\u00e9entra\u00een\u00e9.\" width=\"1000\" height=\"143\" srcset=\"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-40827-156140-11.png 2048w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-40827-156140-11-786x112.png 786w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-40827-156140-11-1920x275.png 1920w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-40827-156140-11-768x110.png 768w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-40827-156140-11-1536x220.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156251\" class=\"wp-caption-text\">Figure 11. Mod\u00e8le r\u00e9utilisable dans un projet open source.<\/figcaption><\/figure>\n<figure id=\"attachment_156262\" aria-describedby=\"caption-attachment-156262\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156262 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-44231-156140-12.png\" alt=\"Capture d\u2019\u00e9cran d\u2019un code utilisant la biblioth\u00e8que\u00a0argparse pour ajouter un argument de ligne de commande \u00ab\u00a0model_name\u00a0\u00bb avec une valeur par d\u00e9faut. Certains d\u00e9tails sont flout\u00e9s pour des raisons de confidentialit\u00e9.\" width=\"1000\" height=\"226\" srcset=\"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-44231-156140-12.png 1890w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-44231-156140-12-786x178.png 786w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-44231-156140-12-768x174.png 768w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-44231-156140-12-1536x348.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156262\" class=\"wp-caption-text\">Figure 12. Nom de mod\u00e8le r\u00e9utilisable utilis\u00e9 comme argument par d\u00e9faut dans un projet open source.<\/figcaption><\/figure>\n<h3><a id=\"post-156140-_heading=h.ga76cs1rul1s\"><\/a>\u00c9tude de cas n\u00b0\u00a04\u00a0: la cha\u00eene de fuite des registres de mod\u00e8les<\/h3>\n<p>Jusqu\u2019\u00e0 pr\u00e9sent, nous avons examin\u00e9 des sc\u00e9narios dans lesquels utilisateurs et d\u00e9veloppeurs r\u00e9cup\u00e8rent directement des mod\u00e8les depuis Hugging\u00a0Face. Qu\u2019il s\u2019agisse d\u2019une plateforme d\u2019IA manag\u00e9e ou d\u2019un SDK open\u00a0source, beaucoup d\u2019environnements s\u2019appuient sur Hugging\u00a0Face comme source principale.<\/p>\n<p>Cependant, d\u2019autres registres de mod\u00e8les \u2013\u00a0des syst\u00e8mes centralis\u00e9s qui g\u00e8rent le stockage, le versionnage et le cycle de vie des mod\u00e8les de ML\u00a0\u2013 importent eux aussi des mod\u00e8les depuis Hugging\u00a0Face et les proposent aux utilisateurs via leur catalogue.<\/p>\n<p>Cela cr\u00e9e un risque sur la supply\u00a0chain. Si un registre int\u00e8gre des mod\u00e8les r\u00e9utilisables issus de Hugging\u00a0Face, ces derniers peuvent se propager en aval. Les utilisateurs qui s\u2019appuient sur ces registres risquent donc d\u2019\u00eatre expos\u00e9s \u00e0 des mod\u00e8les compromis, sans jamais interagir directement avec Hugging\u00a0Face.<\/p>\n<p>Prenons l\u2019exemple de Vertex\u00a0AI. Comme nous l\u2019avons vu plus haut, Vertex\u00a0AI propose une int\u00e9gration transparente pour d\u00e9ployer et utiliser des mod\u00e8les Hugging\u00a0Face dans l\u2019environnement\u00a0GCP. Les utilisateurs peuvent facilement r\u00e9cup\u00e9rer un mod\u00e8le via le SDK Vertex\u00a0AI, comme l\u2019illustre la figure\u00a013.<\/p>\n<figure id=\"attachment_155426\" aria-describedby=\"caption-attachment-155426\" style=\"width: 528px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-155426 size-full lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/F13.png\" alt=\"Extrait de code\u00a0Python montrant les imports depuis la plateforme Vertex\u00a0AI de Google\u00a0Cloud, incluant les modules pour AI\u00a0Platform et les mod\u00e8les de g\u00e9n\u00e9ration de texte.\" width=\"528\" height=\"132\" \/><figcaption id=\"caption-attachment-155426\" class=\"wp-caption-text\">Figure\u00a013. Extraction d\u2019un mod\u00e8le depuis le catalogue de Vertex\u00a0AI.<\/figcaption><\/figure>\n<p>Dans ce sc\u00e9nario, l\u2019utilisateur obtient le mod\u00e8le <span style=\"font-family: 'courier new', courier, monospace;\">model_name<\/span> directement depuis Vertex\u00a0AI. Mais si ce mod\u00e8le provient de Hugging\u00a0Face et figure dans le Model\u00a0Catalog, l\u2019utilisateur peut, \u00e0 son insu, acc\u00e9der \u00e0 un mod\u00e8le infect\u00e9.<\/p>\n<p>Kaggle est une autre plateforme d\u00e9tenue par Google qui int\u00e8gre Hugging\u00a0Face comme source de mod\u00e8les. Il s\u2019agit d\u2019un hub reconnu pour la data\u00a0science et le machine\u00a0learning, qui propose des jeux de donn\u00e9es, des notebooks et une large collection de mod\u00e8les pr\u00e9 entra\u00een\u00e9s. La figure\u00a014 montre que, dans son Model\u00a0Catalog, Kaggle propose des milliers de mod\u00e8les issus de Hugging\u00a0Face pour le d\u00e9ploiement.<\/p>\n<figure id=\"attachment_156284\" aria-describedby=\"caption-attachment-156284\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156284 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-49022-156140-14.png\" alt=\"Image pr\u00e9sentant une s\u00e9lection de fiches de mod\u00e8les Hugging\u00a0Face. Chaque fiche indique le nombre de notebooks associ\u00e9s et la date de derni\u00e8re mise \u00e0 jour.\" width=\"1000\" height=\"345\" srcset=\"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-49022-156140-14.png 2048w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-49022-156140-14-786x271.png 786w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-49022-156140-14-1920x663.png 1920w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-49022-156140-14-768x265.png 768w, https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-49022-156140-14-1536x530.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156284\" class=\"wp-caption-text\">Figure 14. Mod\u00e8les Hugging Face sur Kaggle.<\/figcaption><\/figure>\n<p>Comme pour les registres \u00e9voqu\u00e9s pr\u00e9c\u00e9demment, Kaggle propose \u00e9galement plusieurs mod\u00e8les vuln\u00e9rables \u00e0 la r\u00e9utilisation d\u2019espaces de noms, ce qui repr\u00e9sente un risque imm\u00e9diat pour ses utilisateurs.<\/p>\n<h2><a id=\"post-156140-_heading=h.givlmfmyfyzt\"><\/a>Le d\u00e9fi de l\u2019int\u00e9grit\u00e9 des mod\u00e8les en mati\u00e8re d\u2019IA<\/h2>\n<p>Assurer le suivi des mod\u00e8les de ML est un d\u00e9fi complexe et permanent. Les d\u00e9veloppeurs mettent \u00e0 jour, affinent, dupliquent et republient constamment leurs mod\u00e8les, souvent sur plusieurs plateformes et au sein de diff\u00e9rentes organisations. Nous avons observ\u00e9 des opportunit\u00e9s de r\u00e9utilisation d\u2019espaces de noms de mod\u00e8les sur divers \u00e9l\u00e9ments de ces syst\u00e8mes complexes et multi-composants. Cela concerne non seulement les d\u00e9ploiements de mod\u00e8les, qui repr\u00e9sentent le risque le plus imm\u00e9diat et le plus significatif, mais \u00e9galement les fiches de mod\u00e8les, la documentation, les param\u00e8tres par d\u00e9faut et les notebooks d\u2019exemples.<\/p>\n<p>Le fait de constater le m\u00eame probl\u00e8me de r\u00e9utilisation de mod\u00e8les dans GCP, Azure et de nombreux projets open\u00a0source met en lumi\u00e8re l\u2019un des aspects les plus critiques \u2013\u00a0et trop souvent n\u00e9glig\u00e9s\u00a0\u2013 de la s\u00e9curit\u00e9 de l\u2019IA et du ML\u00a0: s\u2019assurer que le mod\u00e8le utilis\u00e9 est bien celui que l\u2019on croit utiliser. Qu\u2019un projet r\u00e9cup\u00e8re un mod\u00e8le depuis un registre public, le r\u00e9emploie \u00e0 partir d\u2019un pipeline interne ou le d\u00e9ploie via un service manag\u00e9, le risque demeure qu\u2019il ait \u00e9t\u00e9 remplac\u00e9, alt\u00e9r\u00e9 ou exploit\u00e9 via un d\u00e9tournement de redirection.<\/p>\n<p>Les mod\u00e8les peuvent provenir de registres vari\u00e9s, et pas uniquement de Hugging\u00a0Face. Le Model\u00a0Garden de Vertex\u00a0AI, le Model\u00a0Catalog d\u2019Azure\u00a0AI\u00a0Foundry et Kaggle proposent tous une large gamme de mod\u00e8les, dont beaucoup proviennent directement de Hugging\u00a0Face.<\/p>\n<p>Cette int\u00e9gration, bien que pratique, introduit des risques. Les d\u00e9veloppeurs qui s\u2019appuient sur les catalogues de mod\u00e8les r\u00e9put\u00e9s des grands services d\u2019IA h\u00e9berg\u00e9s dans le cloud peuvent, \u00e0 leur insu, d\u00e9ployer des mod\u00e8les malveillants initialement h\u00e9berg\u00e9s sur Hugging\u00a0Face, sans jamais interagir directement avec cette plateforme.<\/p>\n<p>\u00c0 leur cr\u00e9dit, toutes ces plateformes d\u00e9ploient des efforts consid\u00e9rables pour s\u00e9curiser leurs registres de mod\u00e8les. Toutefois, comme nous l\u2019avons d\u00e9montr\u00e9, aucun syst\u00e8me n\u2019est totalement \u00e0 l\u2019abri d\u2019un d\u00e9tournement d\u2019espace de noms ou de vuln\u00e9rabilit\u00e9s li\u00e9es \u00e0 la supply\u00a0chain. M\u00eame avec des garde-fous solides, un simple cas limite non anticip\u00e9 peut conduire \u00e0 une exploitation destructrice.<\/p>\n<p>Garantir la s\u00e9curit\u00e9 des outils d\u2019IA n\u2019est pas uniquement la responsabilit\u00e9 des fournisseurs de plateformes. Les d\u00e9veloppeurs doivent eux aussi prendre des mesures actives pour s\u00e9curiser leurs pipelines et leurs environnements.<\/p>\n<h2><a id=\"post-156140-_heading=h.yfo8k3xk7p5x\"><\/a>Mesures pratiques pour s\u00e9curiser le cycle de vie du ML<\/h2>\n<p>Nous avons explor\u00e9 certains des d\u00e9fis intrins\u00e8ques li\u00e9s \u00e0 la s\u00e9curisation des pipelines qui alimentent les mod\u00e8les de ML. De l\u2019ingestion des donn\u00e9es au d\u00e9ploiement, garantir l\u2019int\u00e9grit\u00e9 \u00e0 chaque \u00e9tape est essentiel. La bonne nouvelle, c\u2019est que nous ne sommes pas d\u00e9munis face \u00e0 ces complexit\u00e9s. Des mesures concr\u00e8tes peuvent \u00eatre mises en place pour am\u00e9liorer de mani\u00e8re significative la s\u00e9curit\u00e9 et la fiabilit\u00e9 des syst\u00e8mes d\u2019IA. Voici quelques pratiques cl\u00e9s.<\/p>\n<ul>\n<li><strong>Version pinning (\u00e9pinglage de version)\u00a0:<\/strong> l\u2019utilisation de m\u00e9thodes telles que <span style=\"font-family: 'courier new', courier, monospace;\">from_pretrained(\"Author\/ModelName\")<\/span> pour r\u00e9cup\u00e9rer des mod\u00e8les peut entra\u00eener des comportements inattendus, des probl\u00e8mes de stabilit\u00e9, voire l\u2019int\u00e9gration de mod\u00e8les malveillants, en raison du t\u00e9l\u00e9chargement automatique de la derni\u00e8re version disponible. Une solution consiste \u00e0 \u00ab\u00a0\u00e9pingler\u00a0\u00bb le mod\u00e8le sur un commit sp\u00e9cifique gr\u00e2ce au param\u00e8tre<span style=\"font-family: 'courier new', courier, monospace;\"> <em>revision<\/em><\/span>. La commande <span style=\"font-family: 'courier new', courier, monospace;\">from_pretrained(\"Author\/ModelName\", revision=\"abcdef1234567890\")<\/span> garantit que le mod\u00e8le est dans l\u2019\u00e9tat attendu et emp\u00eache tout changement de comportement impr\u00e9vu. Cela permet au d\u00e9veloppeur d\u2019assurer la coh\u00e9rence du mod\u00e8le, pour le d\u00e9bogage comme pour l\u2019ex\u00e9cution.<\/li>\n<li><strong>Clonage et stockage contr\u00f4l\u00e9 des mod\u00e8les\u00a0: <\/strong>pour les environnements hautement sensibles ou en production, nous recommandons de cloner le r\u00e9f\u00e9rentiel du mod\u00e8le dans un espace de confiance, comme un stockage local, un registre interne ou un espace cloud s\u00e9curis\u00e9. Cette approche permet de d\u00e9coupler le chargement du mod\u00e8le de toute source externe, \u00e9liminant ainsi le risque de modifications en amont ou de probl\u00e8mes de connectivit\u00e9. Ce clonage doit bien entendu intervenir uniquement apr\u00e8s un processus rigoureux d\u2019analyse et de v\u00e9rification.<\/li>\n<li><strong>Recherche de r\u00e9f\u00e9rences r\u00e9utilisables\u00a0: <\/strong>les r\u00e9f\u00e9rences \u00e0 des mod\u00e8les dans les r\u00e9f\u00e9rentiels de code doivent \u00eatre scann\u00e9es et trait\u00e9es comme n\u2019importe quelle autre d\u00e9pendance soumise \u00e0 des politiques et \u00e0 des revues de s\u00e9curit\u00e9. L\u2019analyse doit \u00eatre exhaustive, car les mod\u00e8les peuvent appara\u00eetre dans des emplacements inattendus, tels que des arguments par d\u00e9faut, des <a href=\"https:\/\/www.geeksforgeeks.org\/python\/python-docstrings\/\" target=\"_blank\" rel=\"noopener\">docstrings<\/a> ou des commentaires. Anticiper et analyser proactivement les bases de code \u00e0 la recherche de r\u00e9f\u00e9rences de mod\u00e8les r\u00e9duit le risque d\u2019attaques sur la supply\u00a0chain li\u00e9es \u00e0 la r\u00e9utilisation d\u2019espaces de noms.<\/li>\n<\/ul>\n<h2><a id=\"post-156140-_heading=h.v29gdnf8s3gu\"><\/a>Conclusion\u00a0: les nouvelles r\u00e9alit\u00e9s de la supply\u00a0chain de l\u2019IA<\/h2>\n<p>Nous avons montr\u00e9 comment un attaquant pouvait r\u00e9enregistrer et r\u00e9utiliser des identifiants de mod\u00e8les sur Hugging\u00a0Face afin d\u2019ex\u00e9cuter du code \u00e0 distance au sein de plateformes d\u2019IA populaires comme Google\u00a0Vertex\u00a0AI, Azure\u00a0AI Foundry et divers projets open\u00a0source. Dans les deux cas, le probl\u00e8me tient au fait qu\u2019un simple nom de mod\u00e8le ne suffit pas \u00e0 garantir son int\u00e9grit\u00e9 ou sa fiabilit\u00e9.<\/p>\n<p>Nous avons abord\u00e9 cette probl\u00e9matique avec les fournisseurs mentionn\u00e9s dans cet article. La r\u00e9utilisation d\u2019espaces de noms de mod\u00e8les est un probl\u00e8me complexe \u2013\u00a0et ce risque existe toujours. Il ne s\u2019agit pas d\u2019un probl\u00e8me ponctuel, mais d\u2019un d\u00e9fi syst\u00e9mique qui touche \u00e0 la fa\u00e7on dont la communaut\u00e9 de l\u2019IA g\u00e8re et valide l\u2019int\u00e9grit\u00e9 des mod\u00e8les partag\u00e9s. Ce d\u00e9fi d\u00e9passe largement la seule gestion des espaces de noms et nous oblige \u00e0 poser des questions sur la s\u00e9curit\u00e9 fondamentale d\u2019une infrastructure d\u2019IA en pleine \u00e9volution.<\/p>\n<p>Les utilisateurs peuvent renforcer leur s\u00e9curit\u00e9 face aux menaces d\u00e9crites ci-dessus en mettant en \u0153uvre le version pinning, en clonant les r\u00e9f\u00e9rentiels de mod\u00e8les dans des espaces de stockage de confiance et en analysant les r\u00e9f\u00e9rences r\u00e9utilisables.<\/p>\n<p>Les organisations peuvent b\u00e9n\u00e9ficier d\u2019un accompagnement dans l\u2019\u00e9valuation de leur posture de s\u00e9curit\u00e9 gr\u00e2ce \u00e0 <a href=\"https:\/\/www.paloaltonetworks.com\/resources\/datasheets\/unit-42-cloud-security-assessment\" target=\"_blank\" rel=\"noopener\">l\u2019\u00c9valuation de la s\u00e9curit\u00e9 du cloud de l\u2019Unit\u00a042<\/a>.<\/p>\n<p><a href=\"https:\/\/www.paloaltonetworks.com\/unit42\/assess\/ai-security-assessment\" target=\"_blank\" rel=\"noopener\">Notre approche<\/a> les aide \u00e9galement \u00e0 s\u00e9curiser l\u2019usage et le d\u00e9veloppement de l\u2019IA.<\/p>\n<p>Si vous pensez que votre entreprise a pu \u00eatre compromise ou si vous faites face \u00e0 une urgence, contactez l\u2019<a href=\"https:\/\/start.paloaltonetworks.com\/contact-unit42.html\" target=\"_blank\" rel=\"noopener\">\u00e9quipe Unit\u00a042 de r\u00e9ponse \u00e0 incident<\/a> ou composez l\u2019un des num\u00e9ros suivants\u00a0:<\/p>\n<ul>\n<li>Am\u00e9rique du Nord\u00a0: Gratuit\u00a0: +1 (866) 486-4842 (866.4.UNIT42)<\/li>\n<li>Royaume-Uni\u00a0: +44\u00a020\u00a03743\u00a03660<\/li>\n<li>Europe et Moyen-Orient\u00a0: +31.20.299.3130<\/li>\n<li>Asie\u00a0: +65.6983.8730<\/li>\n<li>Japon\u00a0: +81\u00a050\u00a01790\u00a00200<\/li>\n<li>Australie\u00a0: +61.2.4062.7950<\/li>\n<li>Inde\u00a0: 000 800 050 45107<\/li>\n<\/ul>\n<p>Palo\u00a0Alto\u00a0Networks a partag\u00e9 ces conclusions avec les autres membres de la Cyber\u00a0Threat\u00a0Alliance (CTA). Les membres de la CTA s\u2019appuient sur ces renseignements pour d\u00e9ployer rapidement des mesures de protection aupr\u00e8s de leurs clients et perturber de mani\u00e8re coordonn\u00e9e les activit\u00e9s des cybercriminels. Cliquez ici pour en savoir plus sur la <a href=\"https:\/\/www.cyberthreatalliance.org\" target=\"_blank\" rel=\"noopener\">Cyber\u00a0Threat Alliance<\/a>.<\/p>\n<h2><a id=\"post-156140-_heading=h.l1g5wrebe3b7\"><\/a>Pour aller plus loin<\/h2>\n<ul>\n<li><a href=\"https:\/\/huggingface.co\/docs\/hub\/repositories-settings#renaming-or-transferring-a-repo\" target=\"_blank\" rel=\"noopener\">Documentation sur le transfert de propri\u00e9t\u00e9<\/a> \u2013\u00a0Hugging\u00a0Face<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>La r\u00e9utilisation d\u2019espaces de noms de mod\u00e8les repr\u00e9sente un risque pour la s\u00e9curit\u00e9 de la supply chain de l\u2019IA. Des cyber attaquants peuvent d\u00e9tourner des plateformes comme Hugging Face pour ex\u00e9cuter du code \u00e0 distance.<\/p>\n","protected":false},"author":366,"featured_media":155230,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[8724,8832],"tags":[9513,9256,9514,9379,9515],"product_categories":[9165,9151],"coauthors":[8916,8557],"class_list":["post-156140","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-cybersecurity-research-fr","category-threat-research-fr","tag-azure-fr","tag-genai-fr","tag-google-fr","tag-microsoft-fr","tag-supply-chain-fr","product_categories-ai-security-assessment-fr","product_categories-unit-42-incident-response-fr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Quand la r\u00e9utilisation des espaces de noms met en p\u00e9ril l\u2019int\u00e9grit\u00e9 de la supply\u00a0chain de l\u2019IA<\/title>\n<meta name=\"description\" content=\"La r\u00e9utilisation d\u2019espaces de noms de mod\u00e8les repr\u00e9sente un risque pour la s\u00e9curit\u00e9 de la supply chain de l\u2019IA. Des cyber attaquants peuvent d\u00e9tourner des plateformes comme Hugging Face pour ex\u00e9cuter du code \u00e0 distance.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Quand la r\u00e9utilisation des espaces de noms met en p\u00e9ril l\u2019int\u00e9grit\u00e9 de la supply\u00a0chain de l\u2019IA\" \/>\n<meta property=\"og:description\" content=\"La r\u00e9utilisation d\u2019espaces de noms de mod\u00e8les repr\u00e9sente un risque pour la s\u00e9curit\u00e9 de la supply chain de l\u2019IA. Des cyber attaquants peuvent d\u00e9tourner des plateformes comme Hugging Face pour ex\u00e9cuter du code \u00e0 distance.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/\" \/>\n<meta property=\"og:site_name\" content=\"Unit 42\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-03T18:56:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-09T20:53:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/05_Cloud_cybersecurity_research_Overview_1920x900.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Itay Saraf, Ofir Balassiano\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Quand la r\u00e9utilisation des espaces de noms met en p\u00e9ril l\u2019int\u00e9grit\u00e9 de la supply\u00a0chain de l\u2019IA","description":"La r\u00e9utilisation d\u2019espaces de noms de mod\u00e8les repr\u00e9sente un risque pour la s\u00e9curit\u00e9 de la supply chain de l\u2019IA. Des cyber attaquants peuvent d\u00e9tourner des plateformes comme Hugging Face pour ex\u00e9cuter du code \u00e0 distance.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/","og_locale":"fr_FR","og_type":"article","og_title":"Quand la r\u00e9utilisation des espaces de noms met en p\u00e9ril l\u2019int\u00e9grit\u00e9 de la supply\u00a0chain de l\u2019IA","og_description":"La r\u00e9utilisation d\u2019espaces de noms de mod\u00e8les repr\u00e9sente un risque pour la s\u00e9curit\u00e9 de la supply chain de l\u2019IA. Des cyber attaquants peuvent d\u00e9tourner des plateformes comme Hugging Face pour ex\u00e9cuter du code \u00e0 distance.","og_url":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/","og_site_name":"Unit 42","article_published_time":"2025-09-03T18:56:31+00:00","article_modified_time":"2025-09-09T20:53:06+00:00","og_image":[{"width":1920,"height":900,"url":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/05_Cloud_cybersecurity_research_Overview_1920x900.jpg","type":"image\/jpeg"}],"author":"Itay Saraf, Ofir Balassiano","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/#article","isPartOf":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/"},"author":{"name":"Sheida Azimi","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/7ee97ec6f224446d57c0383eb5fd3639"},"headline":"Quand la r\u00e9utilisation des espaces de noms met en p\u00e9ril l\u2019int\u00e9grit\u00e9 de la supply\u00a0chain de l\u2019IA","datePublished":"2025-09-03T18:56:31+00:00","dateModified":"2025-09-09T20:53:06+00:00","mainEntityOfPage":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/"},"wordCount":4986,"image":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/#primaryimage"},"thumbnailUrl":"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/05_Cloud_cybersecurity_research_Overview_1920x900.jpg","keywords":["Azure","GenAI","Google","Microsoft","supply chain"],"articleSection":["\u00c9tudes sur la cybers\u00e9curit\u00e9 du cloud","Recherche sur les menaces"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/","url":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/","name":"Quand la r\u00e9utilisation des espaces de noms met en p\u00e9ril l\u2019int\u00e9grit\u00e9 de la supply\u00a0chain de l\u2019IA","isPartOf":{"@id":"https:\/\/unit42.paloaltonetworks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/#primaryimage"},"image":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/#primaryimage"},"thumbnailUrl":"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/05_Cloud_cybersecurity_research_Overview_1920x900.jpg","datePublished":"2025-09-03T18:56:31+00:00","dateModified":"2025-09-09T20:53:06+00:00","author":{"@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/7ee97ec6f224446d57c0383eb5fd3639"},"description":"La r\u00e9utilisation d\u2019espaces de noms de mod\u00e8les repr\u00e9sente un risque pour la s\u00e9curit\u00e9 de la supply chain de l\u2019IA. Des cyber attaquants peuvent d\u00e9tourner des plateformes comme Hugging Face pour ex\u00e9cuter du code \u00e0 distance.","breadcrumb":{"@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/#primaryimage","url":"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/05_Cloud_cybersecurity_research_Overview_1920x900.jpg","contentUrl":"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/05_Cloud_cybersecurity_research_Overview_1920x900.jpg","width":1920,"height":900,"caption":"Pictorial representation of model namespace reuse. A vibrant digital illustration featuring a glowing cloud icon with a padlock, symbolizing cloud security technology, set against a backdrop of glowing circuit lines in blue and orange."},{"@type":"BreadcrumbList","@id":"https:\/\/unit42.paloaltonetworks.com\/fr\/model-namespace-reuse\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/unit42.paloaltonetworks.com\/"},{"@type":"ListItem","position":2,"name":"Quand la r\u00e9utilisation des espaces de noms met en p\u00e9ril l\u2019int\u00e9grit\u00e9 de la supply\u00a0chain de l\u2019IA"}]},{"@type":"WebSite","@id":"https:\/\/unit42.paloaltonetworks.com\/#website","url":"https:\/\/unit42.paloaltonetworks.com\/","name":"Unit 42","description":"Palo Alto Networks","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/unit42.paloaltonetworks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/7ee97ec6f224446d57c0383eb5fd3639","name":"Sheida Azimi","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/image\/9213e49ea48b7676660bac40d05c9e3e","url":"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2018\/11\/unit-news-meta.svg","contentUrl":"https:\/\/origin-unit42.paloaltonetworks.com\/wp-content\/uploads\/2018\/11\/unit-news-meta.svg","caption":"Sheida Azimi"},"url":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/author\/sheida-azimi\/"}]}},"_links":{"self":[{"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts\/156140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/users\/366"}],"replies":[{"embeddable":true,"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/comments?post=156140"}],"version-history":[{"count":2,"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts\/156140\/revisions"}],"predecessor-version":[{"id":156323,"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/posts\/156140\/revisions\/156323"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/media\/155230"}],"wp:attachment":[{"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/media?parent=156140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/categories?post=156140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/tags?post=156140"},{"taxonomy":"product_categories","embeddable":true,"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/product_categories?post=156140"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/origin-unit42.paloaltonetworks.com\/fr\/wp-json\/wp\/v2\/coauthors?post=156140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}