TeamPCP piratea acciones de Checkmarx GitHub utilizando credenciales de CI robadas

Otros dos flujos de trabajo de GitHub Actions se han convertido en los últimos en verse comprometidos por malware de robo de credenciales por parte de un actor de amenazas conocido como TeamPCP, la operación cibercriminal nativa de la nube que también está detrás del ataque a la cadena de suministro de Trivy.

Los flujos de trabajo, ambos mantenidos por la empresa de seguridad de la cadena de suministro Checkmarx, se enumeran a continuación:

La empresa de seguridad en la nube Sysdig dijo que observó un ladrón de credenciales idéntico al utilizado en las operaciones de TeamPCP dirigidas al escáner de vulnerabilidad Trivy de Aqua Security y sus acciones GitHub asociadas, aproximadamente cuatro días después de la violación del 19 de marzo de 2026. El compromiso de la cadena de suministro de Try se rastrea bajo el identificador CVE. CVE-2026-33634 (Puntuación CVSS: 9,4).

«Esto sugiere que las credenciales robadas del compromiso Trivy se utilizaron para envenenar acciones adicionales en los repositorios afectados», Sysdig dicho.

El ladrón, conocido como «ladrón de nubes de TeamPCP», está diseñado para robar credenciales y secretos relacionados con claves SSH, Git, Amazon Web Services (AWS), Google Cloud, Microsoft Azure, Kubernetes, Docker, archivos .env, bases de datos y VPN, junto con configuraciones de CI/CD, datos de billeteras de criptomonedas y URL de webhook de Slack y Discord.

Ciberseguridad

Como en el caso de Trivy, se ha descubierto que los actores de amenazas fuerzan la inserción de etiquetas en confirmaciones maliciosas que contienen la carga útil del ladrón («setup.sh»). Los datos robados se exfiltran al dominio «checkmarx[.]zona» (dirección IP: 83.142.209[.]11:443) en forma de archivo cifrado («tpcp.tar.gz»).

La nueva versión crea un repositorio «docs-tpcp» utilizando el GITHUB_TOKEN de la víctima para preparar los datos robados como método de respaldo si falla la filtración al servidor. En el incidente de Trivy, los actores de amenazas utilizaron en su lugar el nombre del repositorio «tpcp-docs».

«El uso de dominios typosquat específicos del proveedor para cada acción envenenada es una técnica de engaño deliberada», dijo Sysdig. «Un analista que revise los registros de CI/CD vería que el tráfico se dirige a lo que parece ser el dominio del propio proveedor de la acción, lo que reduce la probabilidad de detección manual».

El hecho de que la función principal del ladrón sea recolectar credenciales de la memoria del corredor de CI permite a los operadores extraer tokens de acceso personal (PAT) de GitHub y otros secretos cuando se ejecuta una acción Trivy comprometida en un flujo de trabajo. Para empeorar las cosas, si esos tokens tienen acceso de escritura a repositorios que también usan acciones Checkmarx, el atacante puede utilizarlos como arma para enviar código malicioso.

Esto, a su vez, abre la puerta a un compromiso en cascada en la cadena de suministro, donde una acción envenenada captura secretos que se utilizan para facilitar el envenenamiento de otras acciones.

«La carga útil, el esquema de cifrado y la convención de nomenclatura tpcp.tar.gz idénticos confirman que se trata del mismo actor de amenazas que amplía su alcance más allá del compromiso inicial de Trivy», señaló Sysdig. «La revisión del código y el escaneo de dependencias fallaron aquí porque el código malicioso se inyectó en una acción confiable en la fuente».

Según Wiz, el ataque parece haberse llevado a cabo mediante el compromiso de la cuenta de servicio «cx-plugins-releases», y los atacantes también publicar versiones troyanizadas del «resultados-ast» (versión 2.53.0) y «asistencia-cx-dev» (versión 1.7.0) Abra las extensiones VSX. Las versiones de VS Code Marketplace no se ven afectadas.

Una vez activada la extensión, la carga maliciosa comprueba si la víctima tiene credenciales para al menos un proveedor de servicios en la nube, como GitHub, AWS, Google Cloud y Microsoft Azure. Si se detecta alguna credencial, procede a buscar una carga útil de la siguiente etapa del mismo dominio («checkmarx[.]zona»).

«La carga útil intenta la ejecución a través de npx, bunx, pnpx o Yarn dlx. Esto cubre los principales administradores de paquetes de JavaScript», afirman los investigadores de Wiz, Rami McCarthy, James Haughom y Benjamin Read. dicho. «El paquete recuperado contiene un completo ladrón de credenciales. Las credenciales recolectadas luego se cifran, utilizando las claves como en otras partes de esta campaña, y se exfiltran a 'checkmarx[.]zona/vsx' como tpcp.tar.gz.»

«En sistemas que no son CI, el malware instala la persistencia a través de un servicio de usuario systemd. El script de persistencia sondea https://checkmarx[.]zona/raw cada 50 minutos para cargas útiles adicionales, con un interruptor de apagado que cancela si la respuesta contiene «youtube». Actualmente, el enlace redirige a The Show Must Go On de Queen».

Ciberseguridad

Para mitigar la amenaza, se recomienda a los usuarios que realicen las siguientes acciones con efecto inmediato:

  • Rote todos los secretos, tokens y credenciales de la nube a los que tuvieron acceso los ejecutores de CI durante la ventana afectada.
  • Auditar la ejecución del flujo de trabajo de GitHub Actions para cualquier referencia a tpcp.tar.gz, scan.aquasecurity[.]org o checkmarx[.]zona en registros de corredor.
  • Busque en la organización de GitHub repositorios llamados «tpcp-docs» o «docs-tpcp», que indican una exfiltración exitosa a través del mecanismo de reserva.
  • Fije acciones de GitHub para confirmar SHA por completo en lugar de etiquetas de versión, ya que las etiquetas se pueden forzar.
  • Supervise las conexiones de red salientes desde los ejecutores de CI a dominios sospechosos.
  • Restrinja el servicio de metadatos de instancia (IMDS) de los contenedores del ejecutor de CI mediante IMDSv2.

En los días posteriores a la infracción inicial, los actores de TeamPCP enviaron imágenes maliciosas de Docker de Trivy que contenían el mismo ladrón y secuestraron la organización GitHub «aquasec-com» de la compañía para manipular docenas de repositorios internos.

También se les ha observado apuntando a clústeres de Kubernetes con un script de shell malicioso que borra todas las máquinas cuando detecta sistemas que coinciden con la zona horaria y la ubicación iraní, lo que destaca una nueva escalada del modus operandi del grupo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *