La campaña fue descubierta por la empresa de seguridad de aplicaciones Socket y se extendió a 37 versiones maliciosas de 19 paquetes que parecen pertenecer a un único mantenedor. Los investigadores afirman que los artefactos maliciosos incluían un archivo '*-setup.pth' y un payload JavaScript ofuscado llamado '_index.js'.
Los usuarios solo tenían que iniciar Python para desencadenar la ejecución del archivo PTH, que luego intenta descargar el runtime Bun JavaScript desde GitHub para ejecutar el script empaquetado. Socket explica que una rueda comprometida puede convertir una instalación pasiva de dependencia en un desencadenante de ejecución retardada: la próxima vez que se ejecute Python, pip, una prueba, un kernel de notebook, un trabajo de CI o un comando de gestión de paquetes que inicie Python, puede procesar el .pth malicioso.
Los investigadores creen que el ataque es parte de la campaña más amplia 'Shai-Hulud', debido a que el malware presenta varias similitudes en las técnicas utilizadas. Por ello, Socket lo rastrea junto con ataques anteriores, y la lista de artefactos maliciosos atribuidos a actividades de Shai-Hulud ahora muestra 453 elementos.
El análisis del payload JavaScript reveló que se dirigía a una amplia gama de secretos de desarrolladores, incluyendo tokens de GitHub y secretos de GitHub Actions, tokens de publicación de npm, PyPI, RubyGems y JFrog, credenciales de AWS, GCP, Azure, Kubernetes y Vault, claves SSH, credenciales de Docker, archivos .env, .npmrc, .pypirc, historiales de shell, archivos de configuración de Claude/MCP, y otros secretos de estaciones de trabajo de desarrolladores y CI/CD.
Al igual que en otros ataques de Shai-Hulud, el objetivo parece ser comprometer los flujos de trabajo de desarrollo de software para propagar aún más el malware. El método principal de exfiltración de datos es similar a operaciones anteriores de Shai-Hulud, utilizando repositorios de GitHub creados automáticamente para alojar secretos escritos a través de GitHub Actions. También existe un segundo método de exfiltración basado en HTTPS directo, que apunta a un endpoint legítimo pero inválido de la API de Anthropic (api[.]anthropic[.]com/v1/api), que Socket cree que se usó como camuflaje.
El malware también presenta mecanismos de evasión, como verificar configuraciones regionales o entornos rusos, y herramientas de seguridad como StepSecurity Harden-Runner. La persistencia se establece a través de servicios systemd en Linux y LaunchAgents en macOS, mientras que también se utilizan archivos de configuración de flujo de trabajo de GitHub y Claude/MCP.
El informe de Socket enumera todos los paquetes y versiones afectados y recomienda que las organizaciones que los instalaron roten todos los secretos y restauren sus entornos a partir de copias de seguridad seguras. Los defensores deben buscar paquetes de Python que contengan hooks de inicio .pth ejecutables, descargas inesperadas del runtime Bun JavaScript desde GitHub y cadenas de procesos donde Python ejecuta Bun para ejecutar _index.js.


















Deja una respuesta