TeamPCP compromete GitHub Actions de Checkmarx con credenciales robadas
Publicado el
Introducción
El grupo de ciberdelincuentes conocido como TeamPCP ha llevado a cabo un ataque contra los GitHub Actions de Checkmarx mediante el uso de credenciales de integración continua (CI) robadas. Este incidente se suma a la creciente preocupación sobre la seguridad en las cadenas de suministro de software, especialmente en entornos de DevSecOps.
Detalles del ataque
Recientemente, se han comprometido dos flujos de trabajo de GitHub Actions mantenidos por Checkmarx, que son cruciales para la seguridad de las aplicaciones. Estos flujos de trabajo son checkmarx/ast-github-action y checkmarx/kics-github-action. Según Sysdig, una empresa de seguridad en la nube, se ha utilizado un malware similar al que TeamPCP empleó en el ataque a Aqua Security y su escáner de vulnerabilidades Trivy.
El ataque, ocurrido el 19 de marzo de 2026, ha sido catalogado bajo el identificador CVE-2026-33634 y presenta una puntuación de 9.4 en la CVSS, lo que indica su gravedad. Sysdig ha señalado que las credenciales robadas del compromiso de Trivy fueron utilizadas para dañar acciones adicionales en los repositorios afectados.
Técnicas de ataque
El malware, conocido como TeamPCP Cloud stealer, está diseñado para robar credenciales y secretos relacionados con varias plataformas, incluyendo SSH, Git, AWS, Google Cloud, Microsoft Azure, Kubernetes, Docker, archivos .env, bases de datos y configuraciones de CI/CD. También se dirige a datos de billeteras de criptomonedas y URLs de webhooks de Slack y Discord.
Los actores de la amenaza han utilizado una técnica de force-push para inyectar un código malicioso en los flujos de trabajo, que incluye un script llamado setup.sh. La información robada se exfiltra a un dominio específico, checkmarx[.]zone, en forma de un archivo comprimido encriptado llamado tpcp.tar.gz. Además, se crea un repositorio llamado docs-tpcp usando el GITHUB_TOKEN de la víctima, como método de respaldo para almacenar los datos robados.
Consecuencias
La principal función del stealer es recolectar credenciales de la memoria del corredor de CI, lo que permite a los atacantes extraer tokens de acceso personal de GitHub y otros secretos. Si estos tokens tienen permisos de escritura en repositorios que también utilizan acciones de Checkmarx, los atacantes pueden introducir código malicioso, lo que provoca una compromiso en cascada de la cadena de suministro.
La similitud en los esquemas de payload, la encriptación y la convención de nombres refuerzan la idea de que el mismo grupo de amenazas está ampliando su alcance más allá del ataque inicial a Trivy. Wiz ha indicado que el ataque parece haber sido facilitado a través de la violación de la cuenta del servicio cx-plugins-releases, donde los atacantes también han publicado versiones trojanizadas de las extensiones ast-results y cx-dev-assist.
Recomendaciones de mitigación
Para mitigar esta amenaza, se recomienda a los usuarios que realicen las siguientes acciones de inmediato:
1. Rotar todas las credenciales, tokens y secretos de nube que estuvieron accesibles a los corredores de CI durante la ventana de afectación. 2. Auditar las ejecuciones de flujos de trabajo de GitHub Actions en busca de referencias a tpcp.tar.gz, scan.aquasecurity[.]org o checkmarx[.]zone en los registros de los corredores. 3. Buscar en la organización de GitHub repositorios llamados tpcp-docs o docs-tpcp, que indican una exfiltración exitosa. 4. Fijar las acciones de GitHub a SHAs completos en lugar de etiquetas de versión, ya que estas pueden ser forzadas. 5. Monitorear las conexiones de red salientes de los corredores de CI a dominios sospechosos. 6. Restringir el Instance Metadata Service (IMDS) de los contenedores de los corredores de CI utilizando IMDSv2.
Este ataque resalta la importancia de la seguridad en las cadenas de suministro y la necesidad de implementar medidas proactivas para proteger los entornos de desarrollo y producción.