
Imágenes Docker troyanizadas y extensiones VS Code maliciosas roban credenciales de GitHub, AWS, Azure y GCP. El grupo reivindica el ataque que también inyecta workflows maliciosos para propagarse hacia nuevos objetivos.
Docker alertó el 22 de abril de 2026 a los investigadores de Socket sobre actividad sospechosa en el repositorio oficial checkmarx/kics de Docker Hub, descubriendo que actores de amenazas habían sobrescrito tags existentes e introducido uno nuevo sin correspondencia con releases legítimos.
El análisis reveló una operación de supply chain compromise que iba mucho más allá de imágenes contaminadas: extensiones de VS Code, plugins de OpenVSX y una infraestructura de exfiltración diseñada para convertir cada víctima en un nuevo vector de propagación. El grupo TeamPCP reivindicó el ataque mediante mensajes burlones en su cuenta de X.
Los tags afectados incluyeron v2.1.20, v2.1.20-debian, alpine, debian y latest, todos ellos redirigidos hacia un digest malicioso, además de un tag v2.1.21 que nunca existió en el repositorio legítimo upstream. El binario ELF de KICS —escrito en Golang— había sido modificado para incluir capacidades de telemetría no autorizada y exfiltración de datos completamente ausentes en la versión original. El malware generaba reportes de escaneo de infraestructura como código sin censurar, los cifraba y los transmitía silenciosamente al endpoint controlado por los atacantes en audit.checkmarx[.]cx/v1/telemetry.
Las organizaciones que utilizaron estas imágenes para escanear configuraciones de Terraform, CloudFormation o Kubernetes deben considerar que cualquier secreto, credencial de nube o API key expuesto durante esos escaneos está potencialmente comprometido.
Según el análisis técnico publicado por Socket, el alcance del ataque se expandió rápidamente hacia el ecosistema de extensiones de desarrollo. Versiones específicas de las extensiones cx-dev-assist (1.17.0 y 1.19.0) y ast-results (2.63.0 y 2.66.0) para VS Code y OpenVSX contenían código capaz de descargar y ejecutar un segundo payload denominado mcpAddon.js desde una URL hardcodeada apuntando a un commit huérfano con fecha alterada dentro del propio repositorio de Checkmarx.
Este archivo JavaScript de aproximadamente 10MB, altamente ofuscado, funcionaba como un credential stealer de propósito general, recolectaba tokens de autenticación de GitHub, credenciales de AWS, tokens de Azure y Google Cloud, archivos de configuración npm, claves SSH y variables de entorno, comprimiendo y cifrando todo antes de exfiltrarlo.
La sofisticación de la operación se evidencia en su mecanismo de propagación. Utilizando tokens de GitHub robados, el malware inyectaba workflows maliciosos de GitHub Actions (format-check.yml) en repositorios donde la víctima tuviera acceso de escritura. Estos workflows explotaban ${{ toJSON(secrets) }} para serializar y exfiltrar todo el contexto de secretos de cada repositorio como artefacto descargable.
Los tokens npm robados se usaban adicionalmente para identificar paquetes escribibles y republicarlos con código malicioso, habilitando propagación downstream hacia nuevos desarrolladores. Los investigadores también identificaron repositorios públicos creados bajo el patrón <word>-<word>-<3 digits> con descripción "Checkmarx Configuration Storage" como canales alternativos de exfiltración.
La atribución apunta a TeamPCP, el mismo grupo responsable de la campaña de marzo 2026 que comprometió GitHub Actions y plugins de OpenVSX de Checkmarx, Trivy y LiteLLM. La cuenta @pcpcats en X publicó mensajes de jactancia tras la exposición del incidente, incluyendo "Thank you OSS distribution for another very successful day at PCP inc." — consistente con su modus operandi previo. La conexión técnica entre el binario malicioso de KICS y mcpAddon.js queda establecida por el uso del mismo servidor C2 (94[.]154[.]172[.]43), indicando una infraestructura coordinada y probablemente planificada con anticipación.
Las organizaciones afectadas deben rotar inmediatamente todos los tokens y credenciales expuestos, auditar repositorios en busca de workflows no autorizados, y anclar las referencias de imágenes Docker a digestos SHA256 verificados en lugar de tags mutables. Este incidente refuerza una lección crítica para equipos de seguridad en LATAM: las herramientas de seguridad pueden convertirse en vectores de ataque cuando la cadena de suministro no está suficientemente blindada.
FUENTE ORIGINAL
Socket↗CURADO POR
Alejandro Vargas