TeamPCP roba 3.800 repositorios internos de GitHub en cadena de ataque originada en npm de TanStack

El grupo TeamPCP comprometió un dispositivo de un empleado de GitHub con una extensión adulterada de VS Code para exfiltrar alrededor de 3.800 repositorios internos. La empresa confirma que los datos de los clientes no se vieron afectados.
GitHub confirmó el 20 de mayo que un grupo criminal identificado como TeamPCP, también rastreado como UNC6780, exfiltró aproximadamente 3.800 de sus repositorios internos después de comprometer el dispositivo de un empleado con una versión adulterada de la extensión Nx Console para Visual Studio Code. La empresa declaró no haber encontrado evidencia de compromiso de repositorios de clientes, organizaciones o datos externos a la infraestructura interna, pero agregó que la investigación sigue en curso.
El ataque es el cuarto episodio documentado de una campaña del TeamPCP contra la cadena de suministro de software open source. Investigadores de Phoenix Security describen al grupo como especializado en utilidades de seguridad open source y middleware de IA, con compromisos anteriores que involucraron el escáner Trivy de Aqua, el KICS de CheckMarx y la biblioteca LiteLLM.
La cadena de compromiso
El punto de origen fue el ataque a la cadena de suministro npm de TanStack, detectado el 11 de mayo de 2026. TeamPCP explotó tres técnicas combinadas: el patrón "Pwn Request" a través de pull_request_target de GitHub Actions, envenenamiento de caché de Actions en flujos de trabajo fork-to-base y extracción de tokens OIDC del runner en tiempo de ejecución. Entre las 19:20 y las 19:26 UTC del día 11, el grupo publicó 84 versiones maliciosas distribuidas en 42 paquetes del namespace @tanstack, utilizando la identidad OIDC legítima del pipeline de publicación del proyecto. Los paquetes pasaron las verificaciones de proveniencia SLSA y llevaban certificados firmados válidos, haciéndolos indistinguibles de versiones legítimas para herramientas que verifican firmas criptográficas.
El compromiso se propagó a otros repositorios dependientes en cuestión de horas. Mistral AI, UiPath y más de 160 paquetes adicionales en npm y PyPI se vieron afectados en la secuencia. El 18 de mayo, un desarrollador del equipo Nx instaló en su dispositivo la versión 18.95.0 de la extensión Nx Console, disponible en el VS Code Marketplace por aproximadamente 11 a 18 minutos antes de ser retirada. La extensión comprometida recopiló el token de acceso a GitHub del desarrollador y lo transmitió al TeamPCP, abriendo acceso a la infraestructura interna de GitHub.
Qué fue comprometido y qué no
GitHub declaró que las reclamaciones del TeamPCP de acceso a alrededor de 3.800 repositorios son "consistentes con la dirección" de su propia investigación interna. El contenido de esos repositorios es código fuente interno de la empresa, no datos de clientes. Según la empresa, no hay evidencias de compromiso de información de clientes almacenadas fuera de la infraestructura interna de la plataforma.
El TeamPCP anunció el material robado y, según investigadores de seguridad, ofreció el código por 50.000 dólares, amenazando con liberarlo gratuitamente en caso de no haber compradores. Informes posteriores indican un contacto del grupo con LAPSUS$ para una venta conjunta a 95.000 dólares. GitHub informó que está rotando credenciales, aislando el endpoint comprometido y monitorizando la infraestructura en busca de actividad posterior.
Qué expone el incidente para equipos de desarrollo corporativo
El ataque redefine el perímetro de riesgo para cualquier organización que dependa de extensiones de IDE mantenidas por comunidades open source. La versión maliciosa de Nx Console estuvo activa en el VS Code Marketplace por un máximo de 18 minutos, pero ese intervalo fue suficiente para comprometer el dispositivo de un ingeniero con acceso privilegiado a los repositorios internos de una plataforma con más de 100 millones de desarrolladores registrados.
Para los equipos de seguridad en consultorías de TI, el incidente hace obligatorios dos controles que habitualmente quedan fuera del alcance estándar: la verificación de integridad de extensiones de IDE, categoría raramente incluida en políticas de gestión de endpoints corporativos, y el principio de menor privilegio en tokens de acceso a sistemas de versionado de código. Desarrolladores con acceso a pipelines de CI/CD y a sistemas de publicación de paquetes representan un vector de compromiso de impacto comparable a administradores de sistemas de producción, pero frecuentemente reciben un tratamiento distinto en las políticas de control de acceso.
La conclusión de la investigación de GitHub sobre el alcance completo del incidente determinará si el TeamPCP obtuvo acceso a claves de firma de código, secretos de pipeline o cualquier material que pueda facilitar ataques adicionales contra la cadena de suministro upstream de la plataforma, transformando lo que hoy se confirma como un incidente interno en un riesgo distribuido para toda la base de clientes de GitHub.