Microsoft Threat Intelligence anunció en un posteo en X el lunes 12 de mayo que investiga una compromisión del paquete mistralai en PyPI, después de que atacantes inyectaran código malicioso que se ejecutaba automáticamente al importar la librería, descargaba un payload secundario disfrazado de transformers.pyz y lanzaba malware en sistemas Linux. Investigadores creen que el incidente forma parte de la campaña más amplia conocida como Mini Shai-Hulud, que ataca ecosistemas de desarrolladores.
Según Microsoft, la versión 2.4.6 del paquete mistralai contenía código malicioso insertado en mistralai/client/__init__.py. El código descargaba silenciosamente un archivo desde una IP remota a /tmp/transformers.pyz y lo ejecutaba en segundo plano cada vez que el paquete era importado en máquinas Linux.
¿Cómo funcionaba el malware?

El nombre del archivo parece haber sido elegido deliberadamente para imitar al framework Transformers de Hugging Face, ampliamente usado en entornos de machine learning, permitiendo al malware mezclarse con cargas legítimas y evadir sospechas. Microsoft indicó que el payload de segunda etapa funcionaba principalmente como un robador de credenciales, pero también incluía lógica geográfica y una rama destructiva capaz de ejecutar rm -rf / bajo ciertas condiciones geográficas.
El payload tenía una verificación diseñada para evitar entornos en idioma ruso, comportamiento común en algunas campañas de malware aunque no es un indicador definitivo de atribución.
Una ola que también golpeó npm y TanStack

La divulgación llega en plena escalada de compromisiones de la cadena de suministro de software que afectan tanto a npm como a PyPI. Más temprano el mismo lunes, la firma de seguridad Aikido advirtió que versiones maliciosas vinculadas al popular ecosistema JavaScript TanStack fueron comprometidas en dos olas separadas iniciadas hacia las 19:20 UTC. Los paquetes afectados incluyeron @tanstack/react-router, @tanstack/history y @tanstack/router-core, componentes que en conjunto suman decenas de millones de descargas semanales.
Horas después, Aikido reportó que varios SDKs npm de Mistral también habían sido comprometidos como parte de la misma campaña Mini Shai-Hulud, incluyendo @mistralai/mistralai, @mistralai/mistralai-azure y @mistralai/mistralai-gcp. La firma instó a los desarrolladores a rotar de inmediato tokens de GitHub, credenciales npm, llaves API de nube y secretos de CI/CD si tenían instalado alguno de los paquetes afectados.
¿Por qué importa este ataque?
Microsoft no atribuyó públicamente la compromisión en PyPI a Mini Shai-Hulud. Aun así, los incidentes comparten varias características: código malicioso inyectado en paquetes confiables, descargas de payloads en etapas, robo de credenciales y ejecución automática durante la instalación o importación. Esa superposición despertó preocupación de que los atacantes estén apuntando cada vez más a la infraestructura de los desarrolladores en lugar de a los usuarios finales directamente.
Los entornos modernos de desarrollo suelen contener credenciales de alto valor: tokens personales de acceso a GitHub, llaves de despliegue en la nube, credenciales SSH, tokens de publicación en npm y acceso a sistemas de CI/CD. Una estación de trabajo de desarrollo comprometida o un runner de CI puede ofrecer a los atacantes una vía hacia ecosistemas de software mucho más grandes, permitiendo que actualizaciones maliciosas se propaguen por canales legítimos de distribución de paquetes.
El comportamiento observado en el paquete mistralai refleja ese riesgo de escalamiento. Según el análisis de Microsoft, el código inyectado usaba curl silenciosamente para descargar el payload secundario antes de lanzarlo como un proceso de fondo desacoplado, diseñado para seguir operando independientemente de la sesión Python original. El malware también suprimía errores de ejecución y limitaba su actividad a sistemas Linux, el sistema operativo dominante en servidores, entornos cloud y muchas cargas de trabajo de IA.
¿Qué tan grave es el problema de la cadena de suministro?
Los ataques de cadena de suministro se han convertido en una preocupación cada vez más seria en la industria del software por la escala con la que se reutilizan dependencias confiables. Un solo paquete comprometido puede propagarse rápidamente a miles de aplicaciones derivadas, entornos empresariales y sistemas en producción. Incidentes mayores recientes incluyen el ataque a SolarWinds, la compromisión de event-stream en npm, el ataque a 3CX y el intento de backdoor en XZ Utils.
La ola actual destaca por apuntar simultáneamente a herramientas de IA, SDKs de nube y frameworks de desarrollo frontend muy usados. Los investigadores creen que el objetivo principal de la campaña es el robo de credenciales, lo que podría permitir a los atacantes comprometer paquetes adicionales, cuentas de mantenedores e infraestructura de publicación en una cadena en cascada de infecciones del ecosistema.
¿Qué deben hacer los equipos chilenos hoy mismo?
Microsoft recomendó a las organizaciones aislar los hosts Linux afectados, bloquear las conexiones salientes hacia la IP maliciosa, buscar indicadores como /tmp/transformers.pyz, pgmonitor.py y pgsql-monitor.service, y rotar de inmediato cualquier credencial potencialmente expuesta. Las compromisiones siguen bajo investigación y podrían aparecer paquetes adicionales afectados a medida que mantenedores y firmas de seguridad continúen auditando la infraestructura de publicación.
Para equipos de desarrollo en LatAm que dependen de pipelines CI/CD con runners auto-hospedados —común en startups y empresas medianas chilenas que no quieren pagar GitHub Actions cloud por costo en USD— el riesgo es particularmente alto: un runner comprometido puede inyectar malware en builds productivos. Las acciones inmediatas recomendadas son revisar package-lock.json y poetry.lock por las versiones afectadas, ejecutar npm audit y pip-audit, y rotar tokens de despliegue.




