El 4 de agosto de 2026 alguien publicĂł una versiĂłn maliciosa de dos paquetes de npm muy usados: Keyv y Cacheable. En pocas horas, el problema se habĂa extendido a más de 450 paquetes distintos. Entre los dos suman cerca de 2.000 millones de descargas mensuales.
El incidente se conoce como ChainDrop. Si trabajas con Node.js, aunque no uses esos paquetes de forma directa, te interesa entender qué pasó. Te explico el ataque y qué revisar en tus propios proyectos.

Qué pasó exactamente
Un atacante accediĂł sin permiso a la cuenta de GitHub de la persona que mantiene Keyv y Cacheable. Keyv es un almacĂ©n simple de clave-valor para Node.js. Cacheable es el sistema de cachĂ© HTTP que usa por debajo. Juntos forman una pieza de infraestructura que muchĂsimos proyectos instalan sin ni siquiera saberlo, como dependencia de otra dependencia.
Con esa cuenta comprometida, el atacante publicĂł una primera versiĂłn maliciosa de Keyv sobre las 9:00 UTC. A partir de ahĂ, el problema se propagĂł solo. Socket, la firma de seguridad que lo detectĂł, verificĂł más de 2.200 versiones contaminadas repartidas en 452 paquetes distintos.
Por qué es tan grave
La cifra de descargas da una idea del alcance: unos 2.000 millones al mes solo entre Keyv y Cacheable. Entre las organizaciones afectadas aparecen nombres como Deliveroo, Picsart, Qlik y ServiceTitan, según los análisis publicados tras el incidente.
La carga maliciosa no se limitaba a robar datos sueltos. Buscaba credenciales de proveedores de nube, secretos de integraciĂłn continua, tokens de desarrollador, archivos de configuraciĂłn de herramientas de IA y carteras de criptomonedas. Con esas credenciales, el propio malware podĂa publicar nuevas versiones infectadas de otros paquetes.
CĂłmo se propagĂł el ataque
ChainDrop pertenece a una familia de ataques conocida como «Mini Shai-Hulud». Su caracterĂstica principal es que se autopropaga. No se limita a infectar una máquina y quedarse ahĂ.
El malware roba tokens de npm y de GitHub del entorno donde se ejecuta. DespuĂ©s usa esos mismos tokens para publicar versiones alteradas de otros paquetes legĂtimos. Cada nueva vĂctima se convierte, sin saberlo, en un nuevo punto de distribuciĂłn. Por eso el nĂşmero de paquetes afectados creciĂł tan rápido en solo unas horas.
ChainDrop no es un caso aislado. Es el Ăşltimo de una serie de ataques parecidos durante 2026. En abril, dos versiones de la librerĂa Axios se comprometieron con un troyano de acceso remoto completo. En mayo, un ataque afectĂł a 84 paquetes del espacio de nombres @tanstack. En junio, otro comprometiĂł 32 paquetes de @redhat-cloud-services. El patrĂłn se repite: una cuenta de mantenedor comprometida y un malware que se propaga solo.
Qué revisar en tus proyectos con Node
No hace falta que uses Keyv o Cacheable de forma directa para verte afectado. Muchas librerĂas populares dependen de ellos por debajo, asĂ que conviene comprobarlo:
- Ejecuta
npm ls keyv cacheableen tus proyectos para ver si aparecen, aunque sea como dependencia indirecta. - Lanza
npm audity revisa las advertencias de severidad alta o crĂtica. - Fija versiones exactas en tu
package-lock.jsonen vez de depender de rangos abiertos para tus dependencias crĂticas. - Activa la verificaciĂłn en dos pasos en tu cuenta de npm si publicas paquetes propios.
- Si tu proyecto instalĂł alguna de las versiones afectadas, rota cuanto antes tus tokens de npm, GitHub y de tus proveedores de nube.
Herramientas como Socket o Snyk analizan el comportamiento de tus dependencias, no solo su nĂşmero de versiĂłn. Complementan bien al npm audit nativo, que por sĂ solo se queda corto en ataques tan recientes como este.
Mi lectura de este ataque
Lo que más me llama la atenciĂłn de ChainDrop no es su tamaño, sino lo invisible que era antes del ataque. Casi nadie conocĂa Keyv por su nombre. Es justo el tipo de dependencia que se instala sola, sin que la elijas de forma consciente.
Ahà está el problema de fondo del ecosistema JavaScript actual. Un proyecto moderno puede depender de miles de paquetes de terceros que nadie ha revisado uno a uno. No hace falta dejar de usar npm por esto. Sà conviene tratar las actualizaciones automáticas de dependencias con algo más de cuidado del que solemos darles.
Si no programas pero gestionas una web
Si tu web es WordPress con un tema y unos plugins normales, este ataque no te afecta de forma directa. npm es cosa del entorno de desarrollo, no del hosting de WordPress.
La excepción es si tu web usa herramientas de compilación con Node por detrás. Por ejemplo, un tema personalizado con Tailwind o un plugin construido a medida. En ese caso, pregunta a quien te lo desarrolló si ha revisado sus dependencias tras este incidente.
Aviso: si quieres enterarte de este tipo de noticias en cuanto pasan, apĂşntate a la newsletter. Te aviso solo cuando de verdad importa.
Más recursos relacionados
- Todos los artĂculos de Desarrollo web: el resto de guĂas y noticias tĂ©cnicas del blog.
- Node.js y npm para principiantes: guĂa práctica: para entender bien quĂ© son las dependencias antes de auditarlas.
- Comandos de Git más utilizados: útil si necesitas revertir versiones de tu proyecto tras un incidente.
Preguntas frecuentes
¿Qué es ChainDrop exactamente?
Es el nombre que se le dio a un ataque a la cadena de suministro de npm iniciado el 4 de agosto de 2026. Comprometió los paquetes Keyv y Cacheable, y de ahà se extendió a cientos más.
¿Cómo sé si mi proyecto está afectado?
Ejecuta npm ls keyv cacheable en la raĂz de tu proyecto. Si aparecen en el resultado, revisa la versiĂłn instalada y compárala con los avisos de seguridad publicados por Socket o npm.
¿Quién está detrás del ataque?
Se ha vinculado a un grupo conocido como TeamPCP, aunque esa atribuciĂłn sigue sin confirmarse de forma oficial.
ÂżBasta con actualizar a la Ăşltima versiĂłn de los paquetes?
Es el primer paso, pero no el único. Si tu proyecto llegó a instalar una versión afectada, conviene rotar también los tokens y credenciales que pudieran haber quedado expuestos.
ÂżAfecta esto a mi web de WordPress?
Solo si tu tema o tus plugins se construyeron con herramientas de Node por detrás. Un WordPress estándar con temas y plugins normales no depende de npm en producción.
Guárdate esta página como referencia: si aparecen más paquetes afectados en los prĂłximos dĂas, la actualizo. Si te ha servido, compártela con quien lleve el desarrollo en tu equipo.


