Pluto Security publicó el 29 de octubre de 2026 una investigación sobre dos oleadas de repositorios maliciosos de modelos en Hugging Face y un espejo en ModelScope. Su recuento hasta el 28 de octubre suma 44 repositorios y 32.376 descargas: 31 repositorios de la campaña y otros 13 vinculados por técnicas compartidas. El informe de Pluto Security describe cómo el código Python de un repositorio podía ejecutarse al habilitar la carga de código personalizado.
Qué contabilizó Pluto Security
El total de descargas reúne registros de las dos oleadas y de los repositorios vinculados. Pluto distingue estos últimos porque compartir técnicas no bastaba para atribuirles una propiedad común.
| Grupo de repositorios | Repositorios | Descargas hasta el 28 de octubre |
| Primera oleada | 12 | 728 |
| Segunda oleada | 19 | 29.090 |
| Repositorios vinculados | 13 | 2.558 |
| Total | 44 | 32.376 |
Cuándo puede ejecutarse el código Python
Según Pluto Security, el archivo config.json de un repositorio puede usar auto_map para señalar un módulo y una clase de Python. Si el cargador de Transformers permite código personalizado con trust_remote_code=True o mediante una confirmación interactiva, importa ese módulo. Python ejecuta las instrucciones de nivel superior del archivo durante la importación, antes de devolver la clase solicitada. La configuración no es la opción predeterminada.
En el repositorio destacado MENXIANGYU/qwen2-tiny, Pluto señaló que model.safetensors ocupaba 42 bytes y no contenía tensores; la carga útil estaba en el archivo Python modeling_evil2.py. Así, el riesgo descrito estaba en el código del repositorio, no en los pesos del modelo.
Pluto también informó que ninguno de los 12 repositorios de la primera oleada fue marcado en las comprobaciones de escáner que describió. En sus pruebas, los escáneres dieron resultados seguros para el archivo Python del repositorio destacado. Son resultados de las muestras y comprobaciones que Pluto analizó. La investigación detalla el mecanismo y esas pruebas.
Qué cambió entre las dos oleadas
Pluto informó de que, después de que se retiraran las cuentas de la primera oleada, aparecieron repositorios de una segunda oleada con cargas útiles modificadas. Algunas variantes incorporaban shells inversas que podían volver a conectarse a un servidor remoto.
El repositorio MENXIANGYU/qwen2-tiny acumuló 7.354 descargas el 20 de octubre y 9.584 en cuestión de horas, según el recuento de Pluto. La cifra llegó a 18.012 el 25 de octubre, a 25.854 el 27 y a 28.412 el 28. Estas cifras corresponden a ese repositorio y a las fechas que registró Pluto.
Cómo reducir el riesgo en sistemas de IA locales
Pluto Security recomienda revisar los archivos Python que auto_map señala antes de permitir código personalizado y fijar la revisión concreta que se haya examinado. También aconseja limitar los privilegios del proceso y su acceso a la red, y no exponer secretos de producción a código no confiable.
Para los equipos que cargaron alguno de los repositorios mencionados, Pluto recomienda comprobar los indicadores de host y de registro en Xinference descritos en su informe. Si encuentran señales de compromiso, aconseja aislar el sistema, conservar pruebas, eliminar los mecanismos de persistencia y cambiar las credenciales accesibles desde un equipo limpio. Cuando no se pueda establecer la integridad del host, recomienda reconstruirlo. Pluto Security recoge estas medidas de contención y prevención.