PyPI intentó ayudar con el aprendizaje automático... pero solo a los atacantes.
En un contexto de ataques cada vez más sofisticados contra la cadena de suministro de software, expertos en ciberseguridad han detectado nuevo malware en repositorios oficiales como Python Package Index (PyPI) y npm. No se trata de incidentes aislados, sino de una oleada de ataques complejos dirigidos a desarrolladores y a infraestructuras corporativas que usan servicios en la nube y entornos de integración continua.
Uno de estos casos fue el descubrimiento del paquete malicioso chimera-sandbox-extensions, subido a PyPI. El paquete se hacía pasar por un módulo auxiliar para Chimera Sandbox —un servicio para el desarrollo experimental de soluciones basadas en aprendizaje automático—, pero en realidad estaba diseñado para robar información confidencial del entorno de los desarrolladores.
Este malware recolectaba los siguientes datos:
Recibos JAMF (paquetes instalados a través de Jamf Pro);
tokens de autenticación en entornos Pod Sandbox y datos de repositorios git;
variables de entorno de sistemas CI/CD;
configuraciones de Zscaler y AWS;
dirección IP pública, información del sistema, usuario y host.
La información recolectada se enviaba mediante una solicitud POST a un dominio remoto, generado con un algoritmo de generación de nombres de dominio (DGA). Allí también se decidía si la máquina comprometida valía la pena para ataques posteriores. Aunque no se logró obtener el componente final del malware, la arquitectura de infección revela un alto nivel de preparación y un enfoque específico en sistemas Mac corporativos, infraestructura CI/CD y plataformas en la nube.
Mientras tanto, se han observado ataques similares en el ecosistema JavaScript. Analistas de SafeDep y Veracode publicaron informes sobre paquetes npm maliciosos diseñados para entregar código malicioso de forma encubierta:
eslint-config-airbnb-compat (676 descargas)
ts-runtime-compat-check (1.588 descargas)
solders (983 descargas)
@mediawave/lib (386 descargas)
El paquete ts-runtime-compat-check dependía de eslint-config-airbnb-compat y se conectaba al dominio proxy.eslint-proxy[.]site para descargar y ejecutar código malicioso. En el caso de solders, la carga útil se ejecutaba automáticamente tras la instalación mediante un script post-install. Además, el código estaba disfrazado con nombres de variables en caracteres japoneses y una avanzada cadena de generación de código que dificultaba el análisis.
La instalación daba lugar a un ataque en varias fases: en sistemas Windows se ejecutaba un script PowerShell que descargaba un archivo .bat desde otro servidor, modificaba la configuración de Windows Defender y lanzaba una DLL de .NET. Esta biblioteca extraía otra DLL oculta en los píxeles de una imagen PNG alojada en ImgBB. El ejecutable resultante era Pulsar RAT, una variante del Quasar RAT, un troyano con capacidades para evadir el control de cuentas de usuario (UAC), crear tareas programadas y tomar control encubierto del sistema.
Un análisis adicional reveló que los atacantes están apuntando cada vez más a desarrolladores Web3 mediante paquetes maliciosos de código abierto. Entre las amenazas detectadas se incluyen:
express-dompurify y pumptoolforvolumeandcomment — roban credenciales del navegador y claves de monederos cripto;
bs58js — vacía los monederos y usa cadenas de transferencias para ocultar rastros;
lsjglsjdv, asyncaiosignal, raydium-sdk-liquidity-init — monitorizan el portapapeles y sustituyen direcciones de monederos por las suyas.
La creciente convergencia entre Web3 y el desarrollo tradicional hace que estas ecosistemas sean cada vez más vulnerables, especialmente en un entorno de rápida adaptación y evolución de los atacantes.
Otra amenaza surgió desde un lugar inesperado: las propias herramientas de IA para programación. Las empresas Trend Micro y Socket identificaron un nuevo vector de ataque basado en el fenómeno del slopsquatting —cuando una IA “alucina” nombres de paquetes que no existen pero suenan creíbles, y los atacantes los registran anticipadamente en repositorios. En un caso, un agente de IA generó el nombre starlette-reverse-proxy, inexistente. Si un atacante lo hubiera registrado previamente, la instalación del paquete falso se habría realizado de forma automática —con posibles consecuencias fatales.
Aunque herramientas más avanzadas como Claude Code CLI, OpenAI Codex CLI y Cursor AI (con validación vía Model Context Protocol) pueden reducir en parte estos riesgos, aún no es posible eliminarlos completamente.
En conjunto, estos incidentes revelan lo serias que se han vuelto las amenazas dentro de los ecosistemas open-source. Las cadenas de infección maliciosas se camuflan cada vez más como dependencias legítimas, con múltiples capas y técnicas avanzadas de ocultación —desde ofuscación Unicode hasta RATs escondidos en los píxeles de imágenes. Y en muchos casos, no solo actúan cibercriminales, sino también —aparentemente— entidades estatales interesadas en comprometer infraestructuras de alto nivel.