
MagnoSec Blog
Hugging Face Diffusers Bajo Ataque: Fallos Críticos Permiten a Repositorios de Modelos Ejecutar Código Arbitrario
Hugging Face Diffusers: la librería de generación de imágenes que ejecuta código sin que lo sepas
Hugging Face es el repositorio de modelos de machine learning más grande del mundo. Su librería Diffusers es el estándar de facto para generación de imágenes con IA —Stable Diffusion, Flux, DALL-E y cientos de modelos open-source se ejecutan a través de Diffusers—. Una vulnerabilidad crítica en esta librería permite que un modelo malicioso alojado en Hugging Face ejecute código arbitrario en el sistema que lo carga. El problema es profundo y sistémico: Diffusers utiliza el formato de serialización de Python (pickle) para cargar los pesos de los modelos, y pickle no es seguro por diseño —puede ejecutar código arbitrario durante la deserialización—. Cuando un desarrollador descarga un modelo de Hugging Face y lo carga con Diffusers, el código del modelo se ejecuta automáticamente. Si el modelo es malicioso —si alguien ha subido un modelo que en lugar de generar imágenes ejecuta comandos del sistema—, el desarrollador acaba de darle acceso a su servidor al atacante. No hay prompt injection. No hay vulnerabilidad de red. Es simplemente cargar un archivo de un repositorio público confiando en que no es malicioso. Y en un repositorio con cientos de miles de modelos subidos por cualquier persona, la confianza es un vector de ataque.
Modelos maliciosos como vector de ataque: cómo un archivo de pesos de red neuronal puede hackear tu servidor
El formato pickle de Python es intrínsecamente inseguro para datos no confiables. Pickle no solo serializa datos: serializa objetos Python completos, incluyendo su código. Cuando deserializas un archivo pickle, Python reconstruye los objetos exactamente como fueron serializados, ejecutando cualquier código que el objeto contenga. En el contexto de Diffusers, los pesos del modelo (los parámetros de la red neuronal) se almacenan en archivos pickle o safetensors. Hugging Face recomienda safetensors (un formato seguro que solo contiene tensores), pero Diffusers sigue soportando pickle por compatibilidad con modelos antiguos. Y cuando Diffusers encuentra un archivo pickle, lo deserializa automáticamente sin advertir al usuario ni pedir confirmación. Un atacante puede crear un modelo que parece legítimo —genera imágenes de gatitos cuando se prueba— pero que en realidad contiene código malicioso embebido en el archivo de pesos, cuidadosamente ofuscado para no ser detectado por escáneres automáticos. Cuando un desarrollador descarga el modelo y ejecuta 'pipeline = DiffusionPipeline.from_pretrained("modelo-malicioso")', el código malicioso se ejecuta con los privilegios del proceso Python. El desarrollador no ha hecho nada mal: ha seguido el tutorial oficial. Simplemente ha confiado en que un modelo público era inofensivo.
La cadena de explotación: del modelo descargado de Hugging Face al RCE en tu entorno de producción
La cadena de ataque contra Diffusers es sutil y peligrosa. Fase 1: el atacante crea un modelo de generación de imágenes que funciona correctamente —genera imágenes que parecen legítimas— para pasar cualquier revisión superficial y acumular estrellas y descargas en Hugging Face. Fase 2: en los archivos de pesos del modelo, el atacante embebe código malicioso ofuscado. El código está en el archivo pickle, no en el código Python visible del repositorio. Fase 3: el desarrollador, buscando un modelo para su aplicación, encuentra este que tiene buena puntuación, buenas imágenes de ejemplo y documentación decente. Lo descarga y lo carga en su aplicación. Fase 4: al cargar el modelo, Diffusers deserializa el archivo pickle y ejecuta el código malicioso. El código puede robar variables de entorno (que contienen claves de API, credenciales de base de datos, tokens), leer archivos del sistema, establecer una shell reversa hacia el servidor del atacante, o modificar otros modelos en el pipeline para que también se comporten de forma maliciosa. Fase 5: el atacante tiene ahora acceso al entorno de producción del desarrollador, que típicamente incluye acceso a GPUs cloud (costosas), almacenamiento de datasets, y APIs de la aplicación que usan el modelo. Un solo modelo malicioso ha comprometido toda la infraestructura de ML de la empresa.
El impacto en startups de IA, equipos de ML y empresas que integran modelos open-source
El impacto para el ecosistema de IA es sistémico. Casi todas las startups de IA, laboratorios de investigación y empresas que integran modelos open-source utilizan Hugging Face y Diffusers. Confían implícitamente en que los modelos públicos no son maliciosos porque 'es solo una red neuronal, no puede ejecutar código'. Pero sí puede. Pickle ejecuta código. Y cualquier modelo en formato pickle es potencialmente un caballo de Troya. La comunidad de ML lleva años discutiendo la migración completa a safetensors, pero la inercia de miles de modelos legacy en formato pickle mantiene la puerta abierta. El atacante no necesita encontrar una vulnerabilidad en Diffusers o en Hugging Face: está explotando una funcionalidad documentada del formato pickle, combinada con la confianza implícita de los desarrolladores en los modelos públicos. Es ingeniería social aplicada al machine learning: 'confía en este modelo, tiene 10.000 descargas y 500 estrellas'. Las estrellas y las descargas se pueden manipular. El código malicioso dentro de un archivo pickle no aparece en el diff del repositorio. Es el vector de ataque perfecto contra una comunidad que confía en la bondad de los modelos open-source.
Cómo MagnoSec audita pipelines de ML, dependencias de IA y entornos de ejecución de modelos
En MagnoSec estamos incorporando la auditoría de pipelines de ML y dependencias de IA a nuestros servicios de seguridad ofensiva. Analizamos los modelos utilizados por la organización: ¿en qué formato están? ¿Pickle o safetensors? ¿Se verifica la integridad de los modelos antes de cargarlos? ¿Los modelos se ejecutan en un entorno aislado (sandbox) sin acceso a la red ni a secretos? Evaluamos el pipeline de CI/CD de ML: ¿los modelos se descargan automáticamente de Hugging Face? ¿Hay un proceso de revisión antes de integrar un nuevo modelo en producción? ¿Se escanean los archivos de modelos en busca de código malicioso? Revisamos la higiene de secretos en el entorno de ML: ¿las claves de API y credenciales están en variables de entorno accesibles por el proceso que carga los modelos? Si un modelo malicioso se ejecuta, ¿qué puede robar? Y simulamos ataques controlados: descargamos modelos de Hugging Face, los cargamos en un entorno aislado y verificamos que no ejecutan código no autorizado. Un pipeline de ML que carga modelos de internet sin verificarlos es como un servidor web que ejecuta binarios descargados de un foro público. La comunidad de ML necesita adoptar las mismas prácticas de seguridad que el resto de la ingeniería de software. La magia de la IA no exime de la responsabilidad de verificar lo que ejecutas.
Defensa: verificación de modelos, entornos aislados de inferencia y escaneo de dependencias
La defensa contra modelos maliciosos en Diffusers y Hugging Face requiere medidas inmediatas y cambios de mentalidad. Medida 1: migrar todos los modelos a formato safetensors. Si un modelo solo está disponible en pickle, convertirlo con la herramienta de conversión de Hugging Face antes de usarlo. Si no se puede convertir, ejecutarlo solo en un sandbox aislado sin acceso a red ni secretos. Medida 2: nunca cargar modelos directamente en el entorno de producción. Implementar un proceso de staging donde los modelos se analizan en un sandbox antes de ser promovidos a producción. El sandbox debe estar completamente aislado de la red corporativa y sin acceso a secretos. Medida 3: utilizar la opción 'trust_remote_code=False' al cargar modelos de Diffusers. Esto evita que el modelo ejecute código Python arbitrario desde el repositorio. No protege contra pickle malicioso, pero reduce la superficie de ataque. Medida 4: escanear los archivos de modelos con herramientas de análisis de seguridad específicas para ML. Picklescan y otras herramientas pueden detectar código malicioso conocido en archivos pickle. Medida 5: implementar el principio de mínimo privilegio para los procesos de ML. El proceso que carga modelos no debería tener acceso a la base de datos de producción, a las claves de API ni a la red externa. Si un modelo malicioso se ejecuta, el daño debe estar contenido. La confianza en la comunidad open-source de ML es valiosa. La verificación de lo que ejecutas en tu servidor es obligatoria. No son incompatibles: son complementarias. Confía, pero verifica. Y en ML, verifica cada archivo de pesos como si fuera un binario descargado de internet. Porque lo es.
Temas tratados
Hugging Face · Diffusers · RCE · modelos ML · IA · seguridad IA · supply chain · dependencias
Servicios relacionados
MagnoSec
Red Team y Simulación de Ataques Reales
Ejercicios Red Team con simulación realista de adversario. Basado en MITRE ATT&CK. Evaluamos detección, respuesta y contención. Incluye sesión Purple Team.
MagnoSec
Pentesting Web y Hacking Ético
Pentesting web y hacking ético de aplicaciones y APIs según OWASP WSTG. Detectamos SQL Injection, XSS y fallos de autenticación. Informe con CVSS y remediación.
MagnoSec
Auditoría de Infraestructura
Auditoría de infraestructura tecnológica: redes internas y externas, servidores y firewalls. Hallazgos con CVSS y plan de remediación. PTES y OSSTMM.
Servicios de auditoría
Pentesting Móvil y Auditoría de Apps
Pentesting de apps Android e iOS: análisis estático y dinámico, almacenamiento, comunicaciones y autenticación. Basado en OWASP MSTG, con informe y re-test.
Auditoría de Active Directory
Auditoría de Active Directory: identificación de vectores de escalado, Kerberoasting, BloodHound, ACLs abusivas. Protege el núcleo de tu identidad corporativa.
Auditoría WiFi para Empresas
Auditoría de redes WiFi corporativas. War driving, rogue AP, WPA2/WPA3 Enterprise, 802.1X. Detectamos configuraciones débiles y accesos no autorizados.
Auditoría de Código Fuente
Auditoría de código de aplicaciones: revisión manual (code review) y SAST para detectar vulnerabilidades OWASP/CWE en cualquier lenguaje. Alcance y precio.
Auditoría de Seguridad para MVP y Startups
Auditoría de seguridad para MVP y startups: autenticación, control de acceso, APIs, Supabase/RLS y cloud. Revisión corta y priorizada antes de lanzar.
¿Quieres saber si tu empresa tiene estas vulnerabilidades?
Auditamos la seguridad de empresas de toda España con alcance cerrado por escrito, informe técnico y ejecutivo, y retest de las correcciones. Presupuesto en 24 horas y primera consultoría sin coste. Si no sabes por dónde empezar, haz el test de seguridad de 15 preguntas.
Artículos relacionados
julio 2026
Un Agente de IA Autónomo Hackea la Red de Hugging Face: Cuando la IA Ataca por Sí Sola
agosto 2026
Ataque a la Cadena de Suministro de Rust Introduce Malware en Crates con 245 Millones de Descargas
agosto 2026
El Hackeo de LiteLLM a Través de Trivy Expuso a Más de 2.100 Organizaciones: La Cadena de Suministro de la IA Bajo Ataque
Recursos gratuitos
Guía completa
Guía de Pentesting Web: Metodología, Herramientas y Precios
Herramienta interactiva
Checklist de Seguridad Informática para Empresas
Referencia
Glosario de Ciberseguridad: 60+ Términos
Guía 2026
Certificaciones de Ciberseguridad: Precios y Comparativa
Herramienta
Calculadora de Precio de Pentesting
Cumplimiento
Pentesting para ISO 27001 y ENS: Qué Exige la Norma