- Desarrollo
- Seguridad
- DevOps
ChainDrop: el gusano que infectó 444 paquetes de npm en cuatro horas
En agosto un gusano se propagó por npm robando credenciales y escondiéndose en la configuración de Claude Code y VS Code. Qué pasó y cómo proteger a su equipo de desarrollo.
3 min de lectura

Casi cualquier sitio web o aplicación moderna depende de cientos de paquetes de código abierto que se descargan automáticamente desde npm, el registro de paquetes de JavaScript. Esa comodidad tiene un costo: si uno de esos paquetes se contamina, el código malicioso llega directo a las computadoras de los desarrolladores y a los servidores donde se construye el software.
El 4 de agosto de 2026 ocurrió uno de los casos más rápidos que se han documentado.
Qué pasó
Según el análisis de la empresa de seguridad StepSecurity, un gusano bautizado ChainDrop comprometió 444 paquetes y 2.212 versiones en unas cuatro horas, afectando a más de una docena de organizaciones.
Entre los paquetes alcanzados había algunos con un uso enorme, como keyv, flat-cache y file-entry-cache, cada uno con alrededor de 150 millones de descargas semanales. Muchos proyectos los usan sin saberlo, porque llegan como dependencia de otras herramientas.
Cómo funcionaba
- Se ejecutaba al instalar. El paquete infectado usaba un script de preinstalación que corre automáticamente con
npm install. - Descargaba un segundo paso. Bajaba el entorno Bun (una herramienta legítima) y ejecutaba un código ofuscado de cientos de kilobytes.
- Robaba credenciales. Buscaba tokens de npm y GitHub, secretos de AWS, Kubernetes y Vault, e incluso secretos en la memoria de los servidores de integración continua de GitHub Actions.
- Se propagaba solo. Con los tokens robados de los mantenedores, publicaba versiones infectadas de otros paquetes.
- Atacaba herramientas de IA para desarrolladores. Robaba credenciales de herramientas como Claude Code y OpenAI y dejaba ganchos de persistencia en archivos de configuración del proyecto (por ejemplo en la configuración de Claude Code y en las tareas de VS Code), para reinfectar el equipo cada vez que alguien abriera el repositorio.
Este último punto es una señal de época: los atacantes ya ven a los asistentes de programación con IA como una nueva forma de mantenerse dentro de una organización.
Qué hacer si su equipo desarrolla software
Si pudo estar afectado:
- Vuelva a versiones previas de los paquetes comprometidos y fíjelas con el campo
overridesde npm. - Rote todas las credenciales que existían en los equipos y servidores de integración continua afectados.
- Revise en sus repositorios los archivos
.claude/settings.jsony.vscode/tasks.json, y cualquier configuración que ejecute comandos al abrir el proyecto.
Para prevenir el próximo:
- Use archivos de bloqueo (
package-lock.json) ynpm cien lugar denpm installen servidores de construcción. - Evite ejecutar scripts de instalación cuando no hacen falta (
npm ci --ignore-scripts). - Espere unos días antes de adoptar versiones nuevas. Varias herramientas permiten exigir que un paquete tenga de 3 a 7 días publicado; la mayoría de los paquetes maliciosos se detectan antes.
- Tokens con el mínimo permiso y de corta duración, con verificación en dos pasos para publicar.
- Limite el tráfico de salida de los servidores de integración continua, para que un código malicioso no pueda enviar lo que roba.
- Revise los cambios en archivos de configuración de editores y asistentes de IA en cada pull request.
La lección para cualquier empresa
Aunque su empresa no programe, probablemente use un sitio web o una aplicación que alguien construyó con estas dependencias. Pregunte a su proveedor cómo gestiona las actualizaciones y los secretos. Un proceso ordenado de desarrollo y despliegue es parte de la seguridad.
Si su equipo necesita poner orden en repositorios, pipelines y secretos, vea nuestro servicio de DevOps y despliegues.
Fuentes
- StepSecurity: ChainDrop npm worm