✨︎ Resumen (TL;DR):
- El grupo TeamPCP comprometió el escáner Trivy de Aqua Security para ejecutar un ataque masivo de cadena de suministro.
- Los atacantes forzaron modificaciones en 75 de 76 etiquetas de GitHub Actions e inyectaron código para robar credenciales.
- La ofensiva desplegó el gusano CanisterWorm y un malware tipo wiper diseñado específicamente para destruir servidores en Irán.
El grupo de hackers TeamPCP escaló un ataque de cadena de suministro contra el escáner de vulnerabilidades Trivy, propiedad de Aqua Security. Los cibercriminales comprometieron flujos de GitHub Actions, imágenes de Docker Hub y paquetes npm para alterar decenas de repositorios internos de la compañía y desplegar un wiper enfocado en destruir sistemas dentro de Irán.
La intrusión original ocurrió a finales de febrero de 2026, cuando un bot automatizado llamado hackerbot-claw explotó una mala configuración en GitHub Actions para robar un token con altos privilegios del repositorio de Trivy. Aqua Security reportó el incidente el 1 de marzo y rotó las credenciales, pero admitió que el proceso “no fue atómico y los atacantes pueden haber tenido conocimiento de los tokens actualizados”.
El 19 de marzo, TeamPCP regresó. Utilizando la cuenta de servicio aqua-bot, los hackers forzaron modificaciones en 75 de 76 etiquetas de versión en el repositorio aquasecurity/trivy-action, así como las siete etiquetas en aquasecurity/setup-trivy. Con esta maniobra lograron redirigir referencias de confianza hacia commits maliciosos equipados con un payload para robar credenciales.

Propagación y un wiper para servidores iraníes
Al mismo tiempo, los atacantes publicaron un binario contaminado de Trivy, designado como v0.69.4, a través de GitHub Releases y Docker Hub. El archivo estuvo activo durante unas tres horas antes de ser eliminado. Las versiones comprometidas apuntaban directamente contra llaves SSH, credenciales de nube, tokens de Kubernetes y carteras de criptomonedas. Dado que más de 10,000 flujos de trabajo de GitHub hacen referencia a trivy-action, el radio de impacto potencial fue masivo.
En menos de 24 horas, la ofensiva creció. La firma de seguridad Aikido detectó la propagación de una amenaza no documentada a través de paquetes npm. CanisterWorm es un gusano de propagación automática que utiliza un contenedor descentralizado de Internet Computer Protocol para recibir comandos. El malware extraía tokens de autenticación npm de las máquinas infectadas y los usaba para republicarse, afectando más de 66 paquetes únicos.
Un payload posterior introdujo un componente destructivo. Charlie Eriksen, investigador de Aikido, detectó que el malware revisa la zona horaria del sistema de la víctima para identificar equipos iraníes. “En Kubernetes: despliega DaemonSets privilegiados en cada nodo, incluido el plano de control”, escribió Eriksen. “Los nodos iraníes sufren un borrado y son reiniciados a la fuerza utilizando un contenedor llamado ‘kamikaze'”.
Para el 22 de marzo, los agresores recuperaron acceso no autorizado y desfiguraron los 44 repositorios internos de la organización aquasec-com en GitHub. Los renombraron con el prefijo “tpcp-docs-” y modificaron las descripciones para leer “TeamPCP Owns Aqua Security”. Este script tomó solo dos minutos en ejecutarse gracias a una cuenta de servicio comprometida llamada Argon-DevOps-Mgt.
Aqua Security contrató a la firma de respuesta a incidentes Sygnia y aclaró que su producto comercial Trivy no sufrió daños. “Por diseño, la versión bifurcada de la plataforma comercial de Aqua va a la zaga del código abierto de Trivy con un proceso de integración controlado”, declaró la empresa. Ante la crisis, Rami McCarthy, investigador de Wiz, recomendó a la industria fijar todas las ejecuciones de GitHub Actions a hashes de commit completos de 40 caracteres en lugar de usar etiquetas de versión mutables.
