El 5 de agosto de 2026, una campaña denominada ChainDrop publicó más de 2.200 versiones maliciosas de 440 paquetes en el registro NPM. El ataque comenzó con 11 paquetes de los espacios de nombres keyv y cacheable, después de que se comprometiera la cuenta de GitHub de su mantenedor. En conjunto, los paquetes afectados superan los 500 millones de descargas semanales y su contaminación provocó la infección de otros 433 paquetes.
Las versiones comprometidas ejecutaban código durante la instalación y descargaban un ladrón de información con capacidades de propagación. Según Microsoft, el malware buscaba credenciales y secretos de NPM, GitHub, servicios cloud e infraestructura en estaciones de trabajo de desarrolladores y entornos CI/CD. Con las identidades recuperadas podía autenticarse en NPM, GitHub, Amazon Web Services (AWS), Kubernetes y HashiCorp Vault para consultar paquetes, repositorios, secretos de workflows, parámetros cloud y almacenes de secretos.
JFrog indicó que el malware utilizaba las credenciales de NPM sustraídas para publicar versiones manipuladas de los paquetes accesibles desde los equipos infectados. También empleaba credenciales comprometidas de GitHub y GitHub Actions para infectar otros repositorios. Microsoft señaló que podía insertar archivos de configuración de Claude y Visual Studio Code para mantener la persistencia y ampliar la propagación entre desarrolladores.
El malware cifraba los secretos encontrados y los exfiltraba hacia un endpoint HTTPS dinámico o hacia repositorios públicos de GitHub creados por los atacantes, identificados con la descripción “Shai-Hulud: Here We Go Again”. StepSecurity observó 2.212 versiones maliciosas en menos de cuatro horas, mientras que Socket identificó un mecanismo de autodestrucción tras 24 horas y un interruptor de emergencia que eliminaba el estado del malware si dejaba de funcionar el token de GitHub robado.
SecurityWeek informó de que los desarrolladores que instalaron versiones afectadas deben considerar comprometidos sus equipos, retirar el malware, reconstruir los runners de CI y las máquinas de compilación, revocar y rotar las credenciales potencialmente expuestas y revisar sus repositorios de GitHub. JFrog también recomendó aislar los sistemas afectados y preservar los paquetes, registros de NPM, logs de CI, registros de auditoría de GitHub e imágenes de los runners antes de iniciar la limpieza. Fuente: SecurityWeek.