{"id":156660,"date":"2025-09-03T08:06:54","date_gmt":"2025-09-03T15:06:54","guid":{"rendered":"https:\/\/unit42.paloaltonetworks.com\/?p=156660"},"modified":"2025-09-11T09:58:48","modified_gmt":"2025-09-11T16:58:48","slug":"model-namespace-reuse","status":"publish","type":"post","link":"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/","title":{"rendered":"T\u00e9cnica de reutilizaci\u00f3n del espacio de nombres del modelo: mal uso de un aspecto fundamental de la cadena de suministro de la IA"},"content":{"rendered":"<h2><a id=\"post-156660-_heading=h.p4n07mhbz5v0\"><\/a>Resumen ejecutivo<\/h2>\n<p>Nuestra investigaci\u00f3n revel\u00f3 una vulnerabilidad fundamental en la cadena de suministro de IA que permite a los atacantes obtener Ejecuci\u00f3n Remota de C\u00f3digo (RCE, por sus siglas en ingl\u00e9s) y capacidades adicionales en plataformas principales como Azure AI Foundry de Microsoft, Vertex AI de Google y miles de proyectos de c\u00f3digo abierto. Nos referimos a este problema como Reutilizaci\u00f3n de Espacios de Nombres de Modelos (<em>Model Namespace Reuse<\/em>).<\/p>\n<p>Hugging Face es una plataforma que permite a los desarrolladores de IA crear, compartir e implementar modelos y conjuntos de datos (<em>datasets<\/em>). En dicha plataforma, los espacios de nombres (<em>namespaces<\/em>) son los identificadores de los modelos, los cuales son repositorios de Git almacenados en el hub de Hugging Face. Los modelos de Hugging Face contienen configuraciones, pesos, c\u00f3digo e informaci\u00f3n para que los desarrolladores puedan utilizarlos.<\/p>\n<p>La reutilizaci\u00f3n de espacios de nombres de modelos ocurre cuando los cat\u00e1logos de modelos de un proveedor de nube o el propio c\u00f3digo recuperan un modelo eliminado o transferido bas\u00e1ndose en su nombre. Al volver a registrar un espacio de nombres abandonado y recrear su ruta original, los actores maliciosos pueden atacar las canalizaciones (<em>pipelines<\/em>) que implementan modelos bas\u00e1ndose \u00fanicamente en su nombre. Esto potencialmente permite a los atacantes implementar modelos maliciosos y obtener capacidades de ejecuci\u00f3n de c\u00f3digo, entre otros impactos.<\/p>\n<p>Aunque hemos realizado una divulgaci\u00f3n responsable de este hallazgo a Google, Microsoft y Hugging Face, el problema de fondo sigue siendo una amenaza para cualquier organizaci\u00f3n que obtenga modelos bas\u00e1ndose \u00fanicamente en su nombre. Este descubrimiento demuestra que confiar en los modelos solo por su nombre es insuficiente y exige una reevaluaci\u00f3n cr\u00edtica de la seguridad en todo el ecosistema de IA.<\/p>\n<p>Las organizaciones pueden obtener ayuda para evaluar la postura de seguridad de la nube a trav\u00e9s de la <a href=\"https:\/\/www.paloaltonetworks.com\/resources\/datasheets\/unit-42-cloud-security-assessment\" target=\"_blank\" rel=\"noopener\">Evaluaci\u00f3n de la seguridad en la nube de Unit\u00a042<\/a>.<\/p>\n<p>La <a href=\"https:\/\/www.paloaltonetworks.com\/unit42\/assess\/ai-security-assessment\" target=\"_blank\" rel=\"noopener\">Evaluaci\u00f3n de la seguridad de la IA de Unit\u00a042<\/a> puede ayudar a las organizaciones a potenciar el uso y el desarrollo seguros de la IA.<\/p>\n<p>Si cree que puede haber resultado vulnerado o tiene un problema urgente, p\u00f3ngase en contacto con el equipo de respuesta ante incidentes de <a href=\"https:\/\/start.paloaltonetworks.com\/contact-unit42.html\" target=\"_blank\" rel=\"noopener\">Unit\u00a042<\/a>.<\/p>\n<table style=\"width: 97.9327%;\">\n<thead>\n<tr>\n<td style=\"width: 35%;\"><b>Temas relacionados con Unit\u00a042<\/b><\/td>\n<td style=\"width: 204.918%;\"><a href=\"https:\/\/unit42.paloaltonetworks.com\/es-la\/tag\/supply-chain-es-la\/\" target=\"_blank\" rel=\"noopener\"><b>Cadena de suministro<\/b><\/a>, <strong><a href=\"https:\/\/unit42.paloaltonetworks.com\/es-la\/tag\/genai-es-la\/\" target=\"_blank\" rel=\"noopener\">GenAI<\/a><\/strong><\/td>\n<\/tr>\n<\/thead>\n<\/table>\n<h2><a id=\"post-156660-_heading=h.5cnxaskf9wsu\"><\/a>Explicaci\u00f3n de la reutilizaci\u00f3n del espacio de nombres del modelo<\/h2>\n<p>Es esencial comprender c\u00f3mo Hugging Face organiza e identifica los modelos para entender la t\u00e9cnica de reutilizaci\u00f3n del espacio de nombres de los modelos. El recurso m\u00e1s com\u00fan en su plataforma es el modelo. Estos modelos son esencialmente repositorios Git que contienen configuraciones de modelos, ponderaciones y cualquier c\u00f3digo o informaci\u00f3n adicional que los desarrolladores y los investigadores puedan necesitar para utilizar los modelos con eficacia.<\/p>\n<h3><a id=\"post-156660-_heading=h.k13ccw55h7v4\"><\/a>C\u00f3mo los desarrolladores obtienen modelos<\/h3>\n<p>Con fines de identificaci\u00f3n y acceso, los desarrolladores pueden referenciar y extraer modelos utilizando una convenci\u00f3n de nomenclatura en dos partes: <span style=\"font-family: 'courier new', courier, monospace;\">Author\/ModelName<\/span>. En esta estructura, el componente <span style=\"font-family: 'courier new', courier, monospace;\">Author<\/span> (Autor) representa al usuario o la organizaci\u00f3n de Hugging Face que public\u00f3 el modelo, mientras que <span style=\"font-family: 'courier new', courier, monospace;\">ModelName<\/span> es el nombre del modelo.<\/p>\n<p>Por ejemplo, si <span style=\"font-family: 'courier new', courier, monospace;\">AIOrg<\/span> public\u00f3 el modelo <span style=\"font-family: 'courier new', courier, monospace;\">Translator_v1<\/span>, el nombre del modelo es <span style=\"font-family: 'courier new', courier, monospace;\">AIOrg\/Translator_v1<\/span>. Los nombres de los autores sirven como identificadores \u00fanicos. Si ya existe un autor, no se puede crear uno nuevo con el mismo nombre.<\/p>\n<p>Los desarrolladores utilizan el identificador <span style=\"font-family: 'courier new', courier, monospace;\">Author\/ModelName<\/span> directamente en su c\u00f3digo en varias bibliotecas de Hugging Face para obtener y utilizar modelos. Por ejemplo, los desarrolladores pueden utilizar el c\u00f3digo que se muestra en la Figura\u00a01 para obtener el modelo <span style=\"font-family: 'courier new', courier, monospace;\">Translator_v1<\/span> de la biblioteca <span style=\"font-family: 'courier new', courier, monospace;\">Transformers<\/span> de uso com\u00fan.<\/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=\"Fragmento de c\u00f3digo que muestra las instrucciones de importaci\u00f3n en Python para utilizar AutoTokenizer y AutoModelForCausalLM de la biblioteca Transformers de Hugging Face, importando espec\u00edficamente los modelos 'AI0rg\/Translator_v1'.\" width=\"520\" height=\"105\" \/><figcaption id=\"caption-attachment-155393\" class=\"wp-caption-text\">Figura\u00a01. C\u00f3digo para obtener el modelo <span style=\"font-family: 'courier new', courier, monospace;\">Translator_v1<\/span> de la biblioteca <span style=\"font-family: 'courier new', courier, monospace;\">Transformers<\/span>.<\/figcaption><\/figure>\n<p>Esta estructura jer\u00e1rquica permite lograr una atribuci\u00f3n y una organizaci\u00f3n claras. Sin embargo, en ausencia de controles estrictos del ciclo de vida sobre estos espacios de nombres, esta estructura tambi\u00e9n crea una superficie de ataque inesperada.<\/p>\n<p>La t\u00e9cnica de reutilizaci\u00f3n del espacio de nombres del modelo aprovecha la forma en que Hugging Face gestiona los espacios de nombres <span style=\"font-family: 'courier new', courier, monospace;\">Author\/ModelName<\/span> despu\u00e9s de que una organizaci\u00f3n o un autor eliminen su propia cuenta. Nuestra investigaci\u00f3n en este \u00e1mbito revel\u00f3 un aspecto cr\u00edtico: cualquiera puede volver a registrar un espacio de nombres eliminado.<\/p>\n<p>Cuando se elimina un usuario o una organizaci\u00f3n de Hugging Face, su espacio de nombres \u00fanico no deja de estar disponible de forma permanente. En su lugar, estos identificadores vuelven a una reserva de nombres disponibles, lo que le permite a otro usuario crear posteriormente una organizaci\u00f3n con el mismo nombre. Este proceso de reutilizaci\u00f3n se muestra en <a href=\"#post-156660-_heading=h.env0naq5k5t\" target=\"_blank\" rel=\"noopener\">Caso de uso\u00a01: Vertex\u00a0AI<\/a>.<\/p>\n<h3><a id=\"post-156660-_heading=h.n96448shi8uq\"><\/a>Supresi\u00f3n de la propiedad en Hugging Face<\/h3>\n<p>Considere la siguiente situaci\u00f3n hipot\u00e9tica de un modelo cuyo autor ha sido eliminado:<\/p>\n<p>La organizaci\u00f3n <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> cre\u00f3 el modelo leg\u00edtimo <span style=\"font-family: 'courier new', courier, monospace;\">toothfAIry<\/span>. El modelo puede analizar im\u00e1genes dentales y detectar con precisi\u00f3n caries y otras anomal\u00edas dentales. Su eficacia y facilidad de uso la convirtieron en una favorita de desarrolladores, investigadores dentales y profesionales de la salud. Con el tiempo, <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI\/toothfAIry<\/span> se integr\u00f3 en herramientas de diagn\u00f3stico, plataformas m\u00e9dicas e incluso repositorios de tecnolog\u00eda sanitaria de c\u00f3digo abierto.<\/p>\n<p>En alg\u00fan momento, sin embargo, los desarrolladores de <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> eliminaron la organizaci\u00f3n de Hugging Face. Un actor malicioso se percat\u00f3 de ello y, para aprovecharse de la situaci\u00f3n, recre\u00f3 la organizaci\u00f3n <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> y subi\u00f3 una versi\u00f3n comprometida del modelo <span style=\"font-family: 'courier new', courier, monospace;\">toothfAIry<\/span> con el mismo nombre.<\/p>\n<p>Como resultado, todas las bases de c\u00f3digo y los conductos que todav\u00eda hacen referencia al modelo original ahora est\u00e1n en grave riesgo.<\/p>\n<p>Se podr\u00eda suponer que, mientras un nombre de modelo de confianza siga funcionando en su c\u00f3digo, no habr\u00e1 riesgo de reutilizaci\u00f3n maliciosa de ese espacio de nombres. Esto es un error de concepto. Sin que los desarrolladores sean conscientes, las bases de c\u00f3digo y los flujos podr\u00edan extraer e implementar la versi\u00f3n maliciosa. Los modelos maliciosos podr\u00edan dar lugar a una serie de resultados no deseados, desde diagn\u00f3sticos incorrectos hasta el acceso no autorizado continuo por parte de un atacante en los sistemas afectados.<\/p>\n<p>En la Figura\u00a02, se describen los pasos que se siguen en esta situaci\u00f3n hipot\u00e9tica.<\/p>\n<figure id=\"attachment_156815\" aria-describedby=\"caption-attachment-156815\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156815 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/es_LA-Model-Namespace-Reuse-Frame-6-786x285.png\" alt=\"Secuencia de cinco diagramas que ilustran el flujo del vector de ataque. 1: Un usuario utiliza un modelo procedente de Hugging Face. 2: Se elimina el autor del modelo, dejando disponible su nombre \u00fanico. 3: Dado que se elimin\u00f3 el autor, el modelo en s\u00ed ya no est\u00e1 disponible. 4: Un atacante recrea el modelo con el mismo nombre y a\u00f1ade contenido da\u00f1ino. 5: Un usuario desprevenido descarga y utiliza el modelo malicioso.\" width=\"1000\" height=\"363\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/es_LA-Model-Namespace-Reuse-Frame-6-786x285.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/es_LA-Model-Namespace-Reuse-Frame-6-768x279.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/es_LA-Model-Namespace-Reuse-Frame-6.png 1290w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156815\" class=\"wp-caption-text\">Figura 2. Visi\u00f3n general del flujo del vector de ataque.<\/figcaption><\/figure>\n<p>Otro posible vector de ataque se deriva de la forma en que Hugging Face gestiona la transferencia de propiedad de los modelos.<\/p>\n<h3><a id=\"post-156660-_heading=h.uuzqst6a7trs\"><\/a>Transferencia de propiedad en Hugging Face<\/h3>\n<p>Hugging Face ofrece la posibilidad de cambiar el autor de un modelo transfiriendo la propiedad del propietario actual a otro. Esta transferencia resulta en un nuevo espacio de nombres para el modelo; por ejemplo, cambiar de <span style=\"font-family: 'courier new', courier, monospace;\">AIOrg\/Translator_v1<\/span> a <span style=\"font-family: 'courier new', courier, monospace;\">AIOrgNew\/Translator_v1<\/span>. Los usuarios pueden implementar el modelo utilizando este nuevo espacio de nombres. Sin embargo, el espacio de nombres original sigue siendo accesible para su implementaci\u00f3n.<\/p>\n<p>Cuando un usuario env\u00eda una solicitud al antiguo espacio de nombres, Hugging Face lo redirige autom\u00e1ticamente al nuevo espacio de nombres actual. Esta redirecci\u00f3n se aplica a todos los puntos de acceso, incluida la interfaz de usuario (UI), las API REST y los kits de desarrollo de software (SDK) comunes.<\/p>\n<p>Este comportamiento es l\u00f3gico e intencional. El objetivo de Hugging Face es garantizar que los flujos existentes sigan funcionando sin problemas, incluso despu\u00e9s de un cambio de espacio de nombres. Sin embargo, como se muestra en la situaci\u00f3n anterior, si el propietario del modelo original elimina su organizaci\u00f3n, el espacio de nombres vuelve a estar disponible para su registro.<\/p>\n<p>Si un actor malicioso registra el espacio de nombres, se rompe el mecanismo de redirecci\u00f3n, haciendo que el modelo comprometido tenga prioridad sobre el nuevo modelo leg\u00edtimo.<\/p>\n<p>Para explicar esta situaci\u00f3n hipot\u00e9tica, recurriremos de nuevo a la salud dental.<\/p>\n<p>Otra organizaci\u00f3n, <span style=\"font-family: 'courier new', courier, monospace;\">Dentalligence<\/span>, adquiri\u00f3 <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span>. Como parte de la adquisici\u00f3n, <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> transfiri\u00f3 todos sus modelos de IA a la organizaci\u00f3n <span style=\"font-family: 'courier new', courier, monospace;\">Dentalligence<\/span>. Tras la transferencia, los administradores de <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> borraron la organizaci\u00f3n original de Hugging Face, ya que hab\u00eda sido totalmente absorbida por <span style=\"font-family: 'courier new', courier, monospace;\">Dentalligence<\/span>.<\/p>\n<p>Todos los modelos pertenecientes a <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span>, como <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI\/toothfAIry<\/span>, pasaron a ser accesibles a trav\u00e9s de nuevas rutas, como <span style=\"font-family: 'courier new', courier, monospace;\">Dentalligence\/toothfAIry<\/span>. En aras de la continuidad, Hugging Face mantuvo las redirecciones de los antiguos espacios de nombres a los nuevos, lo que permit\u00eda a los usuarios acceder a los modelos sin actualizar su c\u00f3digo.<\/p>\n<p>Sin embargo, un actor malicioso se dio cuenta de que la organizaci\u00f3n <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> original estaba disponible. El atacante registr\u00f3 una nueva organizaci\u00f3n con ese nombre y subi\u00f3 modelos maliciosos utilizando los mismos nombres que los que <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI<\/span> alojaba antes de la adquisici\u00f3n.<\/p>\n<p>Como los nombres originales de los modelos siguieron siendo v\u00e1lidos e implementables durante toda la transici\u00f3n, los usuarios no se enteraron del cambio. No encontraron tiempo de inactividad y no tuvieron que cambiar los nombres de los modelos en su c\u00f3digo. Por ejemplo, al solicitar la extracci\u00f3n del modelo <span style=\"font-family: 'courier new', courier, monospace;\">DentalAI\/toothfAIry<\/span> se extrae autom\u00e1ticamente <span style=\"font-family: 'courier new', courier, monospace;\">Dentalligence\/toothfAIry<\/span>. Como resultado, cuando el actor malicioso insertaba su versi\u00f3n utilizando los nombres originales, los usuarios, sin saberlo, empezaban a implementar las versiones maliciosas en lugar de los modelos de confianza que hab\u00edan integrado originalmente.<\/p>\n<h3><a id=\"post-156660-_heading=h.b1yv94e9ttzu\"><\/a>Comparaci\u00f3n de las situaciones hipot\u00e9ticas<\/h3>\n<p>En miles de proyectos de c\u00f3digo abierto existen espacios de nombres de modelos reutilizables codificados. Entre ellos se incluyen repositorios populares y con muchas estrellas, y repositorios que pertenecen a organizaciones destacadas del sector. Adem\u00e1s, estos modelos suponen una amenaza para los usuarios de las principales plataformas de IA.<\/p>\n<p>En la tabla, se resumen las diferencias entre las dos situaciones.<\/p>\n<table style=\"width: 100%;\">\n<tbody>\n<tr>\n<td style=\"width: 22.1347%;\"><\/td>\n<td style=\"text-align: center; width: 30.7962%;\"><strong>Supresi\u00f3n de la propiedad<\/strong><\/td>\n<td style=\"text-align: center; width: 46.1942%;\"><strong>Transferencia de la propiedad<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 22.1347%;\"><strong>Causa<\/strong><\/td>\n<td style=\"width: 30.7962%;\">Se borr\u00f3 el autor del modelo de Hugging Face.<\/td>\n<td style=\"width: 46.1942%;\">Se transfiri\u00f3 el modelo a un nuevo propietario, y se elimin\u00f3 el autor anterior de Hugging Face.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 22.1347%;\"><strong>Experiencia del usuario<\/strong><\/td>\n<td style=\"width: 30.7962%;\">Los usuarios experimentar\u00e1n un tiempo de inactividad, ya que el modelo no existe.<\/td>\n<td style=\"width: 46.1942%;\">Los usuarios no se ver\u00e1n afectados, ya que sus solicitudes se redirigen al nuevo modelo.<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 22.1347%;\"><strong>C\u00f3digos de estado HTTP en el acceso al modelo<\/strong><\/td>\n<td style=\"width: 30.7962%;\">404<\/td>\n<td style=\"width: 46.1942%;\">307<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 22.1347%;\"><strong>Se\u00f1ales de identificaci\u00f3n<\/strong><\/td>\n<td style=\"width: 30.7962%;\">El autor del modelo ya no est\u00e1 disponible en Hugging Face.<\/td>\n<td style=\"width: 46.1942%;\">Al intentar acceder al modelo, Hugging Face redirige al usuario a un autor diferente. Adem\u00e1s, el autor anterior ya no est\u00e1 disponible.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-size: 10pt;\"><em>Tabla\u00a01. Diferencias clave entre los modelos reutilizables eliminados y los modelos reutilizables transferidos.<\/em><\/span><\/p>\n<h2><a id=\"post-156660-_heading=h.hda4qr2fvr7\"><\/a>La reutilizaci\u00f3n del espacio de nombres del modelo en la pr\u00e1ctica<\/h2>\n<h3><a id=\"post-156660-_heading=h.env0naq5k5t\"><\/a>Estudio de caso n.\u00ba\u00a01: Vertex AI<\/h3>\n<p>Google Vertex\u00a0AI es una plataforma gestionada de aprendizaje autom\u00e1tico (ML) en Google Cloud Platform (GCP). Los desarrolladores utilizan Vertex\u00a0AI para crear y escalar modelos que se integran con otros servicios de Google Cloud.<\/p>\n<p>Una caracter\u00edstica clave de Vertex\u00a0AI es Model Garden, un repositorio centralizado de modelos preentrenados de Google, terceros y la comunidad de c\u00f3digo abierto. En particular, Model Garden de Vertex\u00a0AI admite la implementaci\u00f3n directa de modelos de Hugging Face. Esto significa que los usuarios pueden seleccionar un modelo de Hugging Face e implementarlo en Vertex\u00a0AI en unos pocos pasos, sin necesidad de empaquetado personalizado.<\/p>\n<p>En la Figura\u00a03, se muestra la implementaci\u00f3n del modelo <span style=\"font-family: 'courier new', courier, monospace;\">distilbert\/distilgpt2<\/span>.<\/p>\n<figure id=\"attachment_156683\" aria-describedby=\"caption-attachment-156683\" style=\"width: 695px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156683 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-232780-156660-3.png\" alt=\"Captura de pantalla de una interfaz inform\u00e1tica para implementar modelos de IA de Hugging Face, con opciones para desplegar en Vertex\u00a0AI o Google Kubernetes Engine. Los botones para implementar, cancelar y ver el c\u00f3digo equivalente est\u00e1n visibles.\" width=\"695\" height=\"515\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-232780-156660-3.png 695w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-232780-156660-3-594x440.png 594w\" sizes=\"(max-width: 695px) 100vw, 695px\" \/><figcaption id=\"caption-attachment-156683\" class=\"wp-caption-text\">Figura 3. Implementaci\u00f3n de un modelo de Hugging Face en Vertex AI.<\/figcaption><\/figure>\n<p>Es importante se\u00f1alar que no todos los modelos pueden implementarse inmediatamente a trav\u00e9s de Vertex\u00a0AI. Una marca de verificaci\u00f3n verde junto al nombre del modelo significa que Google verific\u00f3 que el modelo se puede implementar en Vertex\u00a0AI.<\/p>\n<p>Adem\u00e1s, la interfaz ofrece un c\u00f3modo enlace a la ficha del modelo en Hugging Face, lo que permite a los usuarios revisar r\u00e1pidamente la documentaci\u00f3n, las licencias y otros detalles clave. En la Figura\u00a04, se muestra un ejemplo de la tarjeta del modelo <span style=\"font-family: 'courier new', courier, monospace;\">distilbert\/distilgpt2<\/span><em>.<\/em><\/p>\n<figure id=\"attachment_156694\" aria-describedby=\"caption-attachment-156694\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156694 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-234990-156660-4.png\" alt=\"Captura de pantalla de la p\u00e1gina web de Hugging Face, en la que se muestra la tarjeta del modelo DistilGPT2, una versi\u00f3n destilada del modelo GPT-2 dise\u00f1ada para tareas eficientes de procesamiento del lenguaje.\" width=\"1000\" height=\"751\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-234990-156660-4.png 1178w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-234990-156660-4-586x440.png 586w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-234990-156660-4-932x700.png 932w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-234990-156660-4-768x577.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156694\" class=\"wp-caption-text\">Figura 4. Tarjeta del modelo <span style=\"font-family: 'courier new', courier, monospace;\">distilGPT2<\/span> en Hugging Face.<\/figcaption><\/figure>\n<p>Al examinar la lista de modelos que Vertex\u00a0AI ofrece para su implementaci\u00f3n directa desde Hugging Face y al comprobar si se eliminaron los autores originales, identificamos varios modelos reutilizables. Se trata de modelos que cumplen las dos condiciones siguientes:<\/p>\n<ul>\n<li>El propietario del modelo elimin\u00f3 la organizaci\u00f3n del autor de Hugging Face<\/li>\n<li>Vertex\u00a0AI sigue enumerando y verificando el modelo<\/li>\n<\/ul>\n<p>En las Figuras\u00a05 y 6, se ilustra un ejemplo de este tipo de modelo, que puede implementarse en Vertex\u00a0AI, aunque su autor no est\u00e9 en Hugging Face.<\/p>\n<figure id=\"attachment_156705\" aria-describedby=\"caption-attachment-156705\" style=\"width: 613px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156705 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-237560-156660-5.png\" alt=\"Captura de pantalla de una interfaz de implementaci\u00f3n de Hugging Face que muestra los campos para introducir la URL de un modelo de Hugging Face y seleccionar un entorno de implementaci\u00f3n, con la recomendaci\u00f3n de Vertex\u00a0AI.\" width=\"613\" height=\"373\" \/><figcaption id=\"caption-attachment-156705\" class=\"wp-caption-text\">Figura 5. El modelo reutilizable puede implementarse en Vertex AI.<\/figcaption><\/figure>\n<figure id=\"attachment_156716\" aria-describedby=\"caption-attachment-156716\" style=\"width: 865px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156716 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-239815-156660-6.png\" alt=\"P\u00e1gina de error\u00a0404 del sitio web de Hugging Face con una versi\u00f3n triste del emoji del abrazo. Una flecha se\u00f1ala la URL.\" width=\"865\" height=\"836\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-239815-156660-6.png 865w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-239815-156660-6-455x440.png 455w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-239815-156660-6-724x700.png 724w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-239815-156660-6-768x742.png 768w\" sizes=\"(max-width: 865px) 100vw, 865px\" \/><figcaption id=\"caption-attachment-156716\" class=\"wp-caption-text\">Figura 6. El autor no existe en Hugging Face.<\/figcaption><\/figure>\n<p>Registramos uno de los espacios de nombres de autor y creamos un modelo con el mismo nombre dentro, como se muestra en la Figura\u00a07.<\/p>\n<figure id=\"attachment_156727\" aria-describedby=\"caption-attachment-156727\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156727 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242354-156660-7.png\" alt=\"Captura de pantalla del sitio web de Hugging Face en la que se muestra una tarjeta del modelo para la clasificaci\u00f3n de textos. La pantalla muestra las pesta\u00f1as \u201cTarjeta del modelo\u201d, \u201cArchivos y versiones\u201d, \u201cComunidad\u201d y \u201cConfiguraci\u00f3n\u201d. El perfil de un usuario se indica como \u201cSiguiendo\u201d con 0 \u2018Me gusta\u2019. Parte de la informaci\u00f3n est\u00e1 suprimida. \" width=\"1000\" height=\"425\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242354-156660-7.png 1898w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242354-156660-7-786x334.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242354-156660-7-1648x700.png 1648w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242354-156660-7-768x326.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-242354-156660-7-1536x652.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156727\" class=\"wp-caption-text\">Figura 7. Creamos con \u00e9xito el autor y el modelo en Hugging Face.<\/figcaption><\/figure>\n<p>Una vez realizada la toma de control, cualquier implementaci\u00f3n del modelo original dar\u00e1 lugar a la implementaci\u00f3n de nuestro nuevo modelo.<\/p>\n<p>Para demostrar el impacto potencial de una t\u00e9cnica de este tipo, incrustamos una carga \u00fatil en el modelo que inicia un shell inverso desde la m\u00e1quina que ejecuta la implementaci\u00f3n hasta nuestros servidores. Una vez que Vertex\u00a0AI implement\u00f3 el modelo, obtuvimos acceso a la infraestructura subyacente que albergaba el modelo, en concreto, el entorno de endpoint. En la Figura\u00a08, se muestra el shell inverso desde el endpoint hasta nuestra m\u00e1quina controlada.<\/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=\"Una captura de pantalla del entorno del endpoint. Varias l\u00edneas de texto que incluyen mensajes de error relacionados con un script Bash, con ciertos detalles difuminados o bloqueados por motivos de privacidad. El texto visible incluye rutas de archivos y comandos del sistema.\" width=\"624\" height=\"79\" \/><figcaption id=\"caption-attachment-155415\" class=\"wp-caption-text\">Figura\u00a08. Acceso al endpoint de Vertex\u00a0AI.<\/figcaption><\/figure>\n<p>El entorno al que se accede es un contenedor dedicado con un alcance limitado dentro del entorno GCP. Una vez demostrado este vector, eliminamos la puerta trasera del repositorio del modelo.<\/p>\n<p>Desde que informamos de este problema a Google en febrero de 2025, Google comenz\u00f3 a realizar an\u00e1lisis diarios para identificar los modelos que han quedado hu\u00e9rfanos. El escaneado marca los modelos hu\u00e9rfanos como \u201cverificaci\u00f3n fallida\u201d, impidiendo que puedan implementarse en Vertex.<\/p>\n<h3><a id=\"post-156660-_heading=h.v5kk2sy9jm2q\"><\/a>Estudio de caso n.\u00ba\u00a02: Azure AI Foundry<\/h3>\n<p>Azure AI Foundry es la plataforma de Microsoft para el desarrollo de aplicaciones de ML y de IA generativa. Proporciona herramientas para las distintas fases del ciclo de vida de la IA, incluida la ingesta de datos, el entrenamiento de modelos, la implementaci\u00f3n y la supervisi\u00f3n.<\/p>\n<p>El n\u00facleo de Azure AI Studio es su cat\u00e1logo de modelos, un centro que incluye modelos b\u00e1sicos de Microsoft, colaboradores de c\u00f3digo abierto y proveedores comerciales. El cat\u00e1logo de Azure AI Foundry permite a los usuarios implementar y personalizar modelos en la plataforma. En la Figura\u00a09, se muestra que el cat\u00e1logo incluye muchos modelos procedentes de Hugging Face.<\/p>\n<figure id=\"attachment_156749\" aria-describedby=\"caption-attachment-156749\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156749 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-247455-156660-9.png\" alt=\"Captura de pantalla de la interfaz del cat\u00e1logo de modelos de Azure AI Foundry que muestra una variedad de modelos de IA, incluidos los modelos de Google Bert y los modelos GPT de OpenAI, organizados en una cuadr\u00edcula con opciones de filtrado y b\u00fasqueda.\" width=\"1000\" height=\"806\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-247455-156660-9.png 1106w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-247455-156660-9-546x440.png 546w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-247455-156660-9-869x700.png 869w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-247455-156660-9-768x619.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156749\" class=\"wp-caption-text\">Figura 9. Variedad de modelos de Hugging Face en AI Foundry.<\/figcaption><\/figure>\n<p>Revisamos la lista de modelos disponibles en Azure AI Foundry y nos centramos en los procedentes de Hugging Face. Comprobamos si la cuenta del autor original de cada modelo hab\u00eda sido eliminada. Una vez m\u00e1s, identificamos varios modelos reutilizables: modelos cuyos espacios de nombres de autor ya no pertenec\u00edan a nadie, pero segu\u00edan estando disponibles para la implementaci\u00f3n.<\/p>\n<p>Para demostrar el riesgo, registramos uno de estos nombres de autor sin reclamar en Hugging Face y cargamos un modelo incrustado con un shell inverso. Tras la implementaci\u00f3n, el shell inverso se ejecut\u00f3 correctamente, concedi\u00e9ndonos acceso al endpoint subyacente, como se muestra en la Figura\u00a010.<\/p>\n<figure id=\"attachment_156760\" aria-describedby=\"caption-attachment-156760\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156760 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-250020-156660-10.png\" alt=\"Captura de pantalla del endpoint subyacente. Texto que muestra una interfaz de l\u00ednea de comandos con comandos para ver el nombre del host, la identidad del usuario y las variables de entorno.\" width=\"800\" height=\"229\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-250020-156660-10.png 1710w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-250020-156660-10-786x225.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-250020-156660-10-768x220.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-250020-156660-10-1536x440.png 1536w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-156760\" class=\"wp-caption-text\">Figura 10. Acceso continuo al endpoint.<\/figcaption><\/figure>\n<p>Al explotar este vector de ataque, obtuvimos permisos que se correspond\u00edan con aquellos del endpoint de Azure. Esto nos proporcion\u00f3 un punto de acceso inicial al entorno Azure del usuario. Una vez demostrado este vector, eliminamos la puerta trasera del repositorio del modelo.<\/p>\n<h3><a id=\"post-156660-_heading=h.7ex0svrhhzsa\"><\/a>Estudio de caso n.\u00ba\u00a03: Repositorios de c\u00f3digo abierto<\/h3>\n<p>Tras observar el impacto de la reutilizaci\u00f3n de espacios de nombres de modelos en los principales servicios de IA en la nube, realizamos una b\u00fasqueda exhaustiva de repositorios de c\u00f3digo abierto. Nuestro objetivo era identificar proyectos que hicieran referencia a modelos de Hugging Face mediante identificadores de tipo <span style=\"font-family: 'courier new', courier, monospace;\">Author\/ModelName<\/span> que estuvieran disponibles para ser reclamados.<\/p>\n<p>Estos proyectos exponen a sus usuarios a importantes riesgos de seguridad. Los atacantes pueden aprovecharse de las dependencias del proyecto al identificar un <span style=\"font-family: 'courier new', courier, monospace;\">Author\/ModelName<\/span> disponible, registrarlo y cargarle archivos maliciosos. Es probable que luego estos archivos se implementen en entornos de usuario durante la implementaci\u00f3n o la ejecuci\u00f3n del proyecto.<\/p>\n<p>Empezamos buscando en GitHub repositorios de c\u00f3digo abierto con m\u00e9todos SDK que obtuvieran modelos de Hugging Face. Luego, acotamos la b\u00fasqueda al identificar nombres de modelos en estos repositorios. Para descubrir modelos reutilizables, comprobamos en cada modelo si su autor hab\u00eda sido eliminado y si era posible registrarlo.<\/p>\n<p>Esta investigaci\u00f3n revel\u00f3 miles de repositorios susceptibles, entre ellos varios proyectos muy conocidos y con muchas estrellas. Estos proyectos incluyen tanto modelos eliminados como modelos transferidos con el autor original eliminado, lo que hace que los usuarios no detecten la amenaza, ya que estos proyectos siguen funcionando con normalidad.<\/p>\n<p>En las Figuras\u00a011 y 12, se muestra la presencia de modelos y nombres reutilizables en proyectos populares de c\u00f3digo abierto.<\/p>\n<figure id=\"attachment_156771\" aria-describedby=\"caption-attachment-156771\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156771 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-252544-156660-11.png\" alt=\"Captura de pantalla de un c\u00f3digo que utiliza la biblioteca Transformers de Hugging Face con algunos detalles difuminados o bloqueados por motivos de privacidad. El c\u00f3digo importa AutoTokenizer y AutoModel, y los inicializa con par\u00e1metros espec\u00edficos de un modelo preentrenado.\" width=\"1000\" height=\"143\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-252544-156660-11.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-252544-156660-11-786x112.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-252544-156660-11-1920x275.png 1920w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-252544-156660-11-768x110.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-252544-156660-11-1536x220.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156771\" class=\"wp-caption-text\">Figura 11. Un modelo reutilizable en un proyecto de c\u00f3digo abierto.<\/figcaption><\/figure>\n<figure id=\"attachment_156782\" aria-describedby=\"caption-attachment-156782\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156782 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-255463-156660-12.png\" alt=\"Captura de pantalla de un c\u00f3digo que utiliza la biblioteca argparse para a\u00f1adir un argumento de l\u00ednea de comandos para \u2018model_name\u2019 con un valor predeterminado, con ciertos detalles difuminados o bloqueados por motivos de privacidad.\" width=\"1000\" height=\"226\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-255463-156660-12.png 1890w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-255463-156660-12-786x178.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-255463-156660-12-768x174.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-255463-156660-12-1536x348.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156782\" class=\"wp-caption-text\">Figura 12. Un nombre de modelo reutilizable usado como argumento por defecto en un proyecto de c\u00f3digo abierto.<\/figcaption><\/figure>\n<h3><a id=\"post-156660-_heading=h.i4zb4ac4k1h9\"><\/a>Estudio de caso n.\u00ba\u00a04: Cadena de fugas en registros de modelos<\/h3>\n<p>Hasta ahora, hemos examinado escenarios en los que usuarios y desarrolladores obtienen modelos directamente de Hugging Face. Ya sea utilizando una plataforma de IA gestionada o un SDK de c\u00f3digo abierto, muchos entornos lo utilizan como fuente principal.<\/p>\n<p>Sin embargo, otros registros de modelos (sistemas centralizados que gestionan el almacenamiento, las versiones y el ciclo de vida de los modelos de ML) tambi\u00e9n extraen modelos de Hugging Face y los ofrecen a los usuarios como parte de sus modelos disponibles.<\/p>\n<p>Esto crea un riesgo para la cadena de suministro. Si un registro de modelos ingiere modelos reutilizables de Hugging Face, esos modelos pueden propagarse hacia abajo. Como resultado, los usuarios que conf\u00edan en dichos registros podr\u00edan estar expuestos a modelos comprometidos sin interactuar directamente con Hugging Face.<\/p>\n<p>Tomemos Vertex\u00a0AI como ejemplo. Como ya se ha comentado, Vertex\u00a0AI ofrece una integraci\u00f3n perfecta para implementar y utilizar modelos de Hugging Face en el entorno GCP. Los usuarios pueden obtener f\u00e1cilmente un modelo utilizando el SDK de Vertex\u00a0AI, como se muestra en la Figura\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=\"Fragmento de c\u00f3digo que muestra las importaciones de Python de la plataforma Vertex\u00a0AI de Google Cloud, incluidos los m\u00f3dulos para la plataforma de IA y los modelos de generaci\u00f3n de texto.\" width=\"528\" height=\"132\" \/><figcaption id=\"caption-attachment-155426\" class=\"wp-caption-text\">Figura\u00a013. Extracci\u00f3n de un modelo del cat\u00e1logo de modelos de Vertex\u00a0AI.<\/figcaption><\/figure>\n<p>En esta situaci\u00f3n, el usuario obtiene el modelo <span style=\"font-family: 'courier new', courier, monospace;\">model_name<\/span> directamente de Vertex\u00a0AI. Sin embargo, si este modelo proviene de Hugging Face y est\u00e1 disponible en el cat\u00e1logo de modelos, el usuario podr\u00eda acceder inadvertidamente a un modelo infectado.<\/p>\n<p>Otra plataforma propiedad de Google que incorpora Hugging Face como fuente de modelos es Kaggle. Kaggle es un conocido centro de ciencia de datos y ML que proporciona conjuntos de datos, cuadernos y una colecci\u00f3n de modelos preentrenados. En la Figura\u00a014, se muestra que en su cat\u00e1logo de modelos, Kaggle ofrece miles de modelos originados en Hugging Face que se pueden implementar.<\/p>\n<figure id=\"attachment_156804\" aria-describedby=\"caption-attachment-156804\" style=\"width: 1000px\" class=\"wp-caption alignnone\"><img  class=\"wp-image-156804 lozad\"  data-src=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-260136-156660-14.png\" alt=\"Imagen que muestra una selecci\u00f3n de tarjetas del modelo de Hugging Face. Cada tarjeta muestra el n\u00famero de cuadernos vinculados y el estado de la \u00faltima actualizaci\u00f3n.\" width=\"1000\" height=\"345\" srcset=\"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-260136-156660-14.png 2048w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-260136-156660-14-786x271.png 786w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-260136-156660-14-1920x663.png 1920w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-260136-156660-14-768x265.png 768w, https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/09\/word-image-260136-156660-14-1536x530.png 1536w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><figcaption id=\"caption-attachment-156804\" class=\"wp-caption-text\">Figura 14. Modelos de Hugging Face en Kaggle.<\/figcaption><\/figure>\n<p>Al igual que con los registros de modelos analizados anteriormente, Kaggle tambi\u00e9n ofrece varios modelos que son vulnerables a la reutilizaci\u00f3n de espacios de nombres de modelos, lo que supone un riesgo inmediato para sus usuarios.<\/p>\n<h2><a id=\"post-156660-_heading=h.5pxtpxgb4knk\"><\/a>El reto de la integridad de los modelos en la IA<\/h2>\n<p>Hacer un seguimiento de los modelos de ML es un desaf\u00edo complejo y continuo. Los desarrolladores actualizan, afinan, bifurcan y vuelven a publicar sus modelos constantemente. A menudo, lo hacen a trav\u00e9s de m\u00faltiples plataformas y organizaciones. Hemos observado oportunidades de reutilizaci\u00f3n de espacios de nombres de modelos en varias partes de estos sistemas complejos de varios componentes. Esto es cierto no solo en las implementaciones de modelos, que plantean el riesgo m\u00e1s inmediato y significativo. Encontramos referencias a modelos reutilizables en tarjetas de modelos, documentaciones, par\u00e1metros por defecto y cuadernos de ejemplos.<\/p>\n<p>Que el mismo problema de reutilizaci\u00f3n de modelos exista en GCP, Azure y muchos proyectos de c\u00f3digo abierto pone de relieve uno de los aspectos m\u00e1s cr\u00edticos, y a menudo pasados por alto, de la seguridad de la IA y el ML: verificar que el modelo que se est\u00e1 utilizando sea realmente el que uno cree que es. Tanto si el proyecto extrae un modelo de un registro p\u00fablico, como si lo reutiliza desde un flujo interno o lo implementa a trav\u00e9s de un servicio gestionado, siempre existe el riesgo de que alguien haya sustituido, manipulado o explotado la redirecci\u00f3n del modelo.<\/p>\n<p>Los modelos pueden proceder de diversos registros, no solo de Hugging Face. Model Garden de Vertex\u00a0AI, el cat\u00e1logo de modelos de Azure AI Foundry y Kaggle ofrecen una amplia gama de modelos, muchos de ellos obtenidos directamente de Hugging Face.<\/p>\n<p>Esta integraci\u00f3n, aunque es conveniente, introduce riesgos. Los desarrolladores que conf\u00edan en los cat\u00e1logos de modelos de confianza de los principales servicios de IA en la nube podr\u00edan implementar, sin saberlo, modelos maliciosos alojados originalmente en Hugging Face sin haber interactuado directamente con Hugging Face.<\/p>\n<p>Cabe reconocer que todas estas plataformas se esfuerzan por proteger sus registros de modelos. Sin embargo, como hemos demostrado, ning\u00fan sistema es totalmente inmune al secuestro del espacio de nombres o a las vulnerabilidades de la cadena de suministro. Incluso con medidas de protecci\u00f3n s\u00f3lidas, un solo caso extremo que se pase por alto puede dar lugar a una explotaci\u00f3n destructiva.<\/p>\n<p>Garantizar la seguridad de las herramientas de IA no es responsabilidad exclusiva de los proveedores de plataformas. Los desarrolladores tambi\u00e9n deben tomar medidas activas para proteger los flujos y los entornos.<\/p>\n<h2><a id=\"post-156660-_heading=h.fmdxbj2cz5se\"><\/a>Pasos pr\u00e1cticos para tener un ciclo de vida de ML que sea seguro<\/h2>\n<p>Ya hemos explorado algunos de los desaf\u00edos inherentes a la seguridad de los flujos que alimentan los modelos de ML. Desde la ingesta de datos hasta la implementaci\u00f3n, es crucial garantizar la integridad en cada paso. La buena noticia es que no somos impotentes ante estas complejidades. Existen medidas concretas que podemos tomar para mejorar significativamente la seguridad y la fiabilidad de los sistemas de IA. A continuaci\u00f3n, se mencionan algunas pr\u00e1cticas clave.<\/p>\n<ul>\n<li><strong>Fijaci\u00f3n de la versi\u00f3n:<\/strong> el uso de m\u00e9todos como <span style=\"font-family: 'courier new', courier, monospace;\">from_pretrained(\"Author\/ModelName\")<\/span> para obtener modelos puede dar lugar a comportamientos inesperados, problemas de estabilidad o incluso la integraci\u00f3n de modelos maliciosos debido a la obtenci\u00f3n autom\u00e1tica de la \u00faltima versi\u00f3n. Una soluci\u00f3n para este problema es fijar el modelo a una confirmaci\u00f3n espec\u00edfica utilizando el par\u00e1metro de <span style=\"font-family: 'courier new', courier, monospace;\">revisi\u00f3n<\/span>. El comando <span style=\"font-family: 'courier new', courier, monospace;\">from_pretrained(\"Author\/ModelName\", revision=\"abcdef1234567890\"<\/span>) garantiza que el modelo se encuentre en un estado esperado y evita que el comportamiento del modelo cambie de forma inesperada. Esto ayuda al desarrollador a garantizar un comportamiento coherente del modelo para la depuraci\u00f3n y la ejecuci\u00f3n.<\/li>\n<li><strong>Clonaci\u00f3n de modelos y almacenamiento controlado: <\/strong>para entornos muy sensibles o de producci\u00f3n, recomendamos clonar el repositorio de modelos en una ubicaci\u00f3n de confianza, como un almacenamiento local, un registro interno o almacenamiento en la nube. Este enfoque permite desacoplar la carga del modelo de cualquier fuente externa, lo que elimina el riesgo de que haya cambios previos o problemas de conectividad. Por supuesto, la clonaci\u00f3n del modelo solo debe hacerse tras un proceso s\u00f3lido de escaneado y verificaci\u00f3n.<\/li>\n<li><strong>B\u00fasqueda de referencias reutilizables: <\/strong>escanee las referencias de modelos en los repositorios de c\u00f3digo y trate las referencias de modelos como cualquier otra dependencia sujeta a pol\u00edticas y revisi\u00f3n. El escaneo debe ser exhaustivo, ya que los modelos pueden existir en lugares inesperados, como los argumentos por defecto, <a href=\"https:\/\/www.geeksforgeeks.org\/python\/python-docstrings\/\" target=\"_blank\" rel=\"noopener\">docstrings<\/a> y comentarios. El escaneo proactivo de las bases de c\u00f3digo en busca de referencias de modelos reduce el riesgo de ataques a la cadena de suministro causados por la reutilizaci\u00f3n de espacios de nombres de modelos.<\/li>\n<\/ul>\n<h2><a id=\"post-156660-_heading=h.ju7xlmo349jy\"><\/a>Conclusi\u00f3n: las nuevas realidades de la seguridad de la cadena de suministro de la IA<\/h2>\n<p>Mostramos c\u00f3mo un atacante podr\u00eda reclamar y reutilizar identificadores de modelos en Hugging Face para ejecutar c\u00f3digo remoto dentro de plataformas de IA populares, como Vertex\u00a0AI de Google, Azure AI Foundry y varios proyectos de c\u00f3digo abierto. En ambos casos, el problema surge porque el nombre de un modelo por s\u00ed solo no basta para garantizar su integridad o fiabilidad.<\/p>\n<p>Analizamos este tema con los proveedores mencionados en este art\u00edculo. La reutilizaci\u00f3n del espacio de nombres del modelo es un problema complejo de resolver y el riesgo sigue existiendo. No se trata de un problema aislado, sino de un desaf\u00edo que es sist\u00e9mico a la forma en que la comunidad de la IA gestiona y valida la integridad de los modelos compartidos. Este desaf\u00edo va mucho m\u00e1s all\u00e1 de la simple gesti\u00f3n del espacio de nombres, y nos obliga a enfrentarnos a cuestiones sobre la seguridad fundamental de la infraestructura de la IA, que evoluciona r\u00e1pidamente.<\/p>\n<p>Los usuarios pueden mejorar la seguridad con respecto a las amenazas descritas anteriormente al implementar la fijaci\u00f3n de versiones, clonar repositorios de modelos en ubicaciones de almacenamiento de confianza y escanear en busca de referencias reutilizables.<\/p>\n<p>Las organizaciones pueden obtener ayuda para evaluar la postura de seguridad de la nube a trav\u00e9s de la <a href=\"https:\/\/www.paloaltonetworks.com\/resources\/datasheets\/unit-42-cloud-security-assessment\" target=\"_blank\" rel=\"noopener\">Evaluaci\u00f3n de la seguridad en la nube de Unit\u00a042<\/a>.<\/p>\n<p>La <a href=\"https:\/\/www.paloaltonetworks.com\/unit42\/assess\/ai-security-assessment\" target=\"_blank\" rel=\"noopener\">Evaluaci\u00f3n de la seguridad de la IA de Unit\u00a042<\/a> puede ayudar a las organizaciones a potenciar el uso y el desarrollo seguros de la IA.<\/p>\n<p>Si cree que puede haber resultado vulnerado o tiene un problema urgente, p\u00f3ngase en contacto con el <a href=\"https:\/\/start.paloaltonetworks.com\/contact-unit42.html\" target=\"_blank\" rel=\"noopener\">equipo de respuesta ante incidentes de Unit\u00a042<\/a> o llame al:<\/p>\n<ul>\n<li>Norteam\u00e9rica: llamada gratuita: +1\u00a0(866)\u00a0486-4842 (866.4.UNIT42)<\/li>\n<li>Reino Unido: +44.20.3743.3660<\/li>\n<li>Europa y Oriente Medio: +31.20.299.3130<\/li>\n<li>Asia: +65.6983.8730<\/li>\n<li>Jap\u00f3n: +81.50.1790.0200<\/li>\n<li>Australia: +61.2.4062.7950<\/li>\n<li>India: 00 800 050 45107<\/li>\n<\/ul>\n<p>Palo Alto Networks ha compartido estos resultados con nuestros compa\u00f1eros de Cyber Threat Alliance (CTA). Los miembros de CTA utilizan esta inteligencia para implementar r\u00e1pidamente medidas de protecci\u00f3n para sus clientes y desarticular sistem\u00e1ticamente a los ciberdelincuentes. Obtenga m\u00e1s informaci\u00f3n sobre <a href=\"https:\/\/www.cyberthreatalliance.org\" target=\"_blank\" rel=\"noopener\">Cyber Threat Alliance<\/a>.<\/p>\n<h2><a id=\"post-156660-_heading=h.ijm97ymswhg3\"><\/a>Recursos adicionales<\/h2>\n<ul>\n<li><a href=\"https:\/\/huggingface.co\/docs\/hub\/repositories-settings#renaming-or-transferring-a-repo\" target=\"_blank\" rel=\"noopener\">Documentaci\u00f3n sobre la transferencia de la propiedad de Hugging Face<\/a>, Hugging Face<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>La reutilizaci\u00f3n del espacio de nombres del modelo es un riesgo potencial para la seguridad en la cadena de suministro de la IA. Los atacantes pueden abusar de plataformas como Hugging Face para ejecutar c\u00f3digo de manera remota.<\/p>\n","protected":false},"author":366,"featured_media":155237,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[8838,8730],"tags":[9517,9201,9518,9372,9519],"product_categories":[8948,8890],"coauthors":[8916,8557],"class_list":["post-156660","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-threat-research-es-la","category-cloud-cybersecurity-research-es-la","tag-azure-es-la","tag-genai-es-la","tag-google-es-la","tag-microsoft-es-la","tag-supply-chain-es-la","product_categories-unit-42-ai-security-assessment-es-la","product_categories-unit-42-incident-response-es-la"],"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>T\u00e9cnica de reutilizaci\u00f3n del espacio de nombres del modelo: mal uso de un aspecto fundamental de la cadena de suministro de la IA<\/title>\n<meta name=\"description\" content=\"La reutilizaci\u00f3n del espacio de nombres del modelo es un riesgo potencial para la seguridad en la cadena de suministro de la IA. Los atacantes pueden abusar de plataformas como Hugging Face para ejecutar c\u00f3digo de manera remota.\" \/>\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\/es-la\/model-namespace-reuse\/\" \/>\n<meta property=\"og:locale\" content=\"es_LA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"T\u00e9cnica de reutilizaci\u00f3n del espacio de nombres del modelo: mal uso de un aspecto fundamental de la cadena de suministro de la IA\" \/>\n<meta property=\"og:description\" content=\"La reutilizaci\u00f3n del espacio de nombres del modelo es un riesgo potencial para la seguridad en la cadena de suministro de la IA. Los atacantes pueden abusar de plataformas como Hugging Face para ejecutar c\u00f3digo de manera remota.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/\" \/>\n<meta property=\"og:site_name\" content=\"Unit 42\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-03T15:06:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-11T16:58:48+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":"T\u00e9cnica de reutilizaci\u00f3n del espacio de nombres del modelo: mal uso de un aspecto fundamental de la cadena de suministro de la IA","description":"La reutilizaci\u00f3n del espacio de nombres del modelo es un riesgo potencial para la seguridad en la cadena de suministro de la IA. Los atacantes pueden abusar de plataformas como Hugging Face para ejecutar c\u00f3digo de manera remota.","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\/es-la\/model-namespace-reuse\/","og_locale":"es_LA","og_type":"article","og_title":"T\u00e9cnica de reutilizaci\u00f3n del espacio de nombres del modelo: mal uso de un aspecto fundamental de la cadena de suministro de la IA","og_description":"La reutilizaci\u00f3n del espacio de nombres del modelo es un riesgo potencial para la seguridad en la cadena de suministro de la IA. Los atacantes pueden abusar de plataformas como Hugging Face para ejecutar c\u00f3digo de manera remota.","og_url":"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/","og_site_name":"Unit 42","article_published_time":"2025-09-03T15:06:54+00:00","article_modified_time":"2025-09-11T16:58:48+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\/es-la\/model-namespace-reuse\/#article","isPartOf":{"@id":"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/"},"author":{"name":"Sheida Azimi","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/7ee97ec6f224446d57c0383eb5fd3639"},"headline":"T\u00e9cnica de reutilizaci\u00f3n del espacio de nombres del modelo: mal uso de un aspecto fundamental de la cadena de suministro de la IA","datePublished":"2025-09-03T15:06:54+00:00","dateModified":"2025-09-11T16:58:48+00:00","mainEntityOfPage":{"@id":"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/"},"wordCount":4590,"image":{"@id":"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/#primaryimage"},"thumbnailUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/05_Cloud_cybersecurity_research_Overview_1920x900.jpg","keywords":["Azure","GenAI","Google","Microsoft","supply chain"],"articleSection":["Investigaci\u00f3n de amenazas","Investigaci\u00f3n de ciberseguridad en la nube"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/","url":"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/","name":"T\u00e9cnica de reutilizaci\u00f3n del espacio de nombres del modelo: mal uso de un aspecto fundamental de la cadena de suministro de la IA","isPartOf":{"@id":"https:\/\/unit42.paloaltonetworks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/#primaryimage"},"image":{"@id":"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/#primaryimage"},"thumbnailUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/05_Cloud_cybersecurity_research_Overview_1920x900.jpg","datePublished":"2025-09-03T15:06:54+00:00","dateModified":"2025-09-11T16:58:48+00:00","author":{"@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/7ee97ec6f224446d57c0383eb5fd3639"},"description":"La reutilizaci\u00f3n del espacio de nombres del modelo es un riesgo potencial para la seguridad en la cadena de suministro de la IA. Los atacantes pueden abusar de plataformas como Hugging Face para ejecutar c\u00f3digo de manera remota.","breadcrumb":{"@id":"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/unit42.paloaltonetworks.com\/es-la\/model-namespace-reuse\/#primaryimage","url":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2025\/08\/05_Cloud_cybersecurity_research_Overview_1920x900.jpg","contentUrl":"https:\/\/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\/es-la\/model-namespace-reuse\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/unit42.paloaltonetworks.com\/"},{"@type":"ListItem","position":2,"name":"T\u00e9cnica de reutilizaci\u00f3n del espacio de nombres del modelo: mal uso de un aspecto fundamental de la cadena de suministro de la IA"}]},{"@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":"es"},{"@type":"Person","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/7ee97ec6f224446d57c0383eb5fd3639","name":"Sheida Azimi","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/unit42.paloaltonetworks.com\/#\/schema\/person\/image\/4ffb3c2d260a0150fb91b3715442f8b3","url":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2018\/11\/unit-news-meta.svg","contentUrl":"https:\/\/unit42.paloaltonetworks.com\/wp-content\/uploads\/2018\/11\/unit-news-meta.svg","caption":"Sheida Azimi"},"url":"https:\/\/unit42.paloaltonetworks.com\/es-la\/author\/sheida-azimi\/"}]}},"_links":{"self":[{"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/posts\/156660","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/users\/366"}],"replies":[{"embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/comments?post=156660"}],"version-history":[{"count":1,"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/posts\/156660\/revisions"}],"predecessor-version":[{"id":156829,"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/posts\/156660\/revisions\/156829"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/media\/155237"}],"wp:attachment":[{"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/media?parent=156660"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/categories?post=156660"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/tags?post=156660"},{"taxonomy":"product_categories","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/product_categories?post=156660"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/unit42.paloaltonetworks.com\/es-la\/wp-json\/wp\/v2\/coauthors?post=156660"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}