Trivy bajo el ojo del huracán: ataque a la cadena de suministro expone credenciales y sacude CI/CD

Publicada 6 min de lectura 111 lecturas

La cadena de suministro del software volvió a probar una de sus grietas más peligrosas: Trivy, el escáner de vulnerabilidades de Aqua Security conocido y utilizado masivamente por desarrolladores y equipos de seguridad, fue aprovechado por el grupo conocido como TeamPCP para distribuir malware que roba credenciales. Lo preocupante no es solo que se contaminara una herramienta popular, sino la rapidez con la que los atacantes aprovecharon accesos persistentes para seguir atacando otros vectores, como imágenes en Docker Hub y la propia organización de GitHub de Aqua.

Trivy cuenta con una comunidad amplia —su repositorio tiene decenas de miles de estrellas en GitHub— y se emplea para detectar vulnerabilidades, malas configuraciones y secretos expuestos en artefactos y entornos. Esa popularidad amplifica el riesgo: cualquier compromiso en el proceso de construcción o distribución puede propagarse a muchas organizaciones y pipelines. Socket, una firma dedicada a la seguridad de la cadena de suministro, informó que detectó imágenes de Trivy publicadas en Docker Hub con etiquetas nuevas que no tenían correspondencia con lanzamientos oficiales, lo que apuntó a artefactos comprometidos vinculados al infostealer que los atacantes habían comprometido mediante la organización de GitHub de Aqua. Puedes leer el análisis de Socket aquí: socket.dev.

Trivy bajo el ojo del huracán: ataque a la cadena de suministro expone credenciales y sacude CI/CD
Imagen generada con IA.

Los investigadores señalan que se empujaron imágenes etiquetadas como 0.69.5 y 0.69.6 sin que existieran versiones oficiales equivalentes en GitHub; la última versión legítima conocida en ese momento era la 0.69.3. Además, recuerdan una regla básica pero crítica: en Docker Hub las etiquetas no son inmutables por diseño, por lo que confiar únicamente en el nombre de una etiqueta para verificar la integridad de un contenedor es peligroso.

Aqua Security reconoció que el incidente en GitHub no fue un suceso aislado sino una continuación de un acceso previo que no quedó completamente contenido. Según su comunicación pública, durante la respuesta inicial se rotaron secretos y tokens, pero el proceso no fue «atómico», lo que podría haber permitido a los atacantes aprovechar tokens que se refrescaron durante la contención. Aqua publicó una explicación y actualizaciones en su blog oficial: Aqua Security, y también mantuvo discusiones abiertas en GitHub sobre la contención (archivo de la discusión).

La dinámica del ataque, según análisis comunitarios independientes, fue muy directa: con acceso a una cuenta de servicio que tenía permisos sobre múltiples organizaciones de Aqua, los atacantes modificaron repositorios de forma masiva y añadieron código para robar credenciales desde los runners de CI. Un informe de OpenSourceMalware detalla cómo los perpetradores automatizaron cambios en los repositorios (por ejemplo, añadiendo prefijos a los nombres y cambiando descripciones) y por qué creen que el punto de entrada fue una cuenta de servicio denominada Argon-DevOps-Mgt que usaba un Personal Access Token (PAT) de GitHub en lugar de un mecanismo más seguro como un GitHub App. El análisis completo está disponible aquí: OpenSourceMalware.

El detalle técnico relevante: los PAT funcionan como contraseñas de largo plazo y, si están presentes en el entorno de un runner de CI, pueden ser exfiltrados por malware que recoge tokens, claves SSH, credenciales en la nube y variables de entorno. Es justamente ese tipo de robo lo que atribuyen a TeamPCP: un «cloud stealer» orientado a recolectar secretos desde entornos CI. Por eso los especialistas insisten en sustituir, cuando sea posible, credenciales largas por mecanismos de autorización efímera, como el flujo OIDC o GitHub Apps, y en reducir la vida útil y privilegios de tokens.

Aqua respondió rápido publicando versiones limpias de Trivy y contratando a la firma de respuesta a incidentes Sygnia para la investigación forense. Sin embargo, el 22 de marzo la compañía reportó actividad adicional sospechosa que indicaba que los atacantes habían logrado restablecer accesos no autorizados y habían realizado cambios en repositorios; aun así, Aqua afirma no haber visto impacto en la edición comercial de su plataforma, que incorpora Trivy con un proceso de integración controlado y con desfase deliberado respecto al repo open-source. Su actualización más reciente puede leerse en su blog oficial: comunicado de Aqua.

Si hay una lección inmediata es que los ataques a la cadena de suministro combinan técnicas tradicionales (robo de tokens) con la explotación de prácticas inseguras en pipelines y repositorios. Un error de configuración, un token persistente o un runner expuesto pueden transformar un incidente local en una campaña de propagación masiva. Esto obliga a las organizaciones a repensar cómo gestionan secretos en CI, cómo validan la integridad de los artefactos publicados y cómo auditan accesos a nivel de organización.

Trivy bajo el ojo del huracán: ataque a la cadena de suministro expone credenciales y sacude CI/CD
Imagen generada con IA.

En la práctica, las recomendaciones que emergen de este episodio no son nuevas, pero sí urgentes: favorecer mecanismos de autenticación de corta duración y con alcance mínimo, usar GitHub Apps u opciones de identidad federada en lugar de PATs de larga duración, asegurar que las rotaciones de secretos sean completas y atómicas, minimizar privilegios de cuentas de servicio, monitorizar cambios masivos en repositorios y, cuando sea posible, firmar y verificar binarios e imágenes para evitar confiar únicamente en nombres de etiquetas. GitHub explica las diferencias entre los tipos de autenticación y buenas prácticas en su documentación sobre seguridad de autenticación: documentación de GitHub.

Más allá de ajustes técnicos puntuales, este incidente evidencia una necesidad cultural: los equipos de desarrollo y seguridad deben operar con supuestos de ataque, diseñando pipelines que «desconfíen por defecto» de sus propios artefactos y que incorporen validaciones independientes antes de promover una versión a producción. También exige transparencia por parte de los proyectos que forman parte de la infraestructura crítica del software; la comunicación oportuna y la publicación de indicadores de compromiso ayudan a que otras organizaciones detecten y rompan cadenas de infección.

Al final, el caso de Trivy y Aqua Security es un recordatorio contundente de que la confianza en la cadena de suministro es frágil. No se trata solo de reparar un fallo técnico: es una invitación a endurecer procesos, reducir la dependencia de secretos permanentes y asumir que cualquier componente ampliamente distribuido puede ser objetivo de ataque. Para quienes administran pipelines y repositorios, la recomendación es clara: revisar cuanto antes la gestión de tokens y runners, aplicar principios de privilegio mínimo y vigilar las fuentes oficiales de sus herramientas. Para la comunidad en general, queda la tarea de exigir y construir mecanismos que permitan verificar la integridad de lo que instalamos y ejecutamos en producción.

Cobertura

Relacionadas

Mas noticias del mismo tema.