El año brutal de npm: el ataque a TanStack y el gusano ChainDrop
Un atacante encadenó un workflow pull_request_target hasta publicar 84 versiones maliciosas de TanStack, y un gusano dejó persistencia en la configuración del editor y de las herramientas de IA.
Qué hacer
Audita esta semana todos los workflows pull_request_target que tengas, y revisa los cambios en .claude/, .vscode/tasks.json y la configuración de MCP en los pull requests con el mismo cuidado que los workflows de CI.
- 11 de mayo: se publicaron 84 versiones maliciosas en 42 paquetes @tanstack/* en seis minutos. El atacante encadenó un workflow pull_request_target, envenenamiento de la caché de GitHub Actions y un token OIDC con permisos de publicación extraído de la memoria del runner de CI. Un investigador externo lo detectó unos 26 minutos después.
- 4 de agosto: el gusano "ChainDrop" comprometió más de 400 paquetes, entre ellos keyv, flat-cache y cache-manager. Robó credenciales de npm, GitHub, AWS, Kubernetes y Vault, y dejó persistencia en .claude/settings.json y .vscode/tasks.json.
Ese último detalle importa. Los atacantes ya tratan la configuración de tu editor y de tus herramientas de IA como un lugar donde ejecutar código.