GitHub Breach Interno: TeamPCP Exfiltrates 3,800 Repos via Poisoned VS Code Extension
Investigación de cómo TeamPCP utilizó una extensión de mercado de código VS envenenada para pivotar en estaciones de trabajo de desarrolladores y exfiltrate 3,800 repositorios GitHub.
El 20 de mayo de 2026, GitHub confirmó que alrededor de 3.800 de sus repositorios internos fueron exfiltrados por el grupo de amenazas TeamPCP — rastreable a una versión envenenada de la extensión Nx Console Visual Studio Code que estaba en vivo en el mercado del código VS durante sólo 18 minutos.
Antecedentes: TeamPCP y la campaña TanStack
TeamPCP (también conocido como UNC6780) es un grupo de amenazas motivados por la inteligencia y la financiación especializada en ataques de cadena de suministro de software. Su técnica de firma es el gusano "Mini Shai-Hulud": una carga útil auto-replicante que roba las credenciales de CI/CD y publica automáticamente versiones infectadas de paquetes dependientes. La semana anterior, TeamPCP había comprometido 42 paquetes TanStack, 65 paquetes UiPath, paquetes PyPI de Mistral AI, el cliente JavaScript de OpenSearch, Guardrails AI y otros — publicando 401 artefactos de paquetes maliciosos dentro de 5 horas (CVE-2026-45321, CVSS 9.6).
Cadena de ataque: Cómo GitHub fue criado
- compromiso de TanStack npm: TeamPCP envenenado
@tanstack/react-queryy paquetes relacionados con cargas de pago de cosechas credenciales robando npm, AWS, GitHub y GCP tokens de entornos de desarrollo CI/CD. - Nx Console VS Code extension backdoored: Usando credenciales robadas de GitHub, TeamPCP empujó un compromiso malicioso con el funcionario
nrwl/nxrepositorio. La consola trojanizada Nx apareció en el mercado entre las 12:30-12:48 PM UTC el 18 de mayo de 2026 — 18 minutos. - GitHub employee installs extension: Un ingeniero GitHub instaló la extensión durante esa ventana. Parecía visualmente idéntica a la versión legítima, pero ejecutó un comando de shell oculto en la puesta en marcha, descargando una carga útil de almacenamiento credencial.
- Exfiltración creíble: El sigilo cosechado GitHub fichas de acceso personal y cookies de sesión, credenciales de AWS IAM, contenidos de bóveda de 1Password, configuraciones Antropo Claude Code API y npm publican fichas.
- clonación de depósitos masivos: Con el token GitHub robado, TeamPCP escribió un clon de aproximadamente 3,800 repositorios internos antes de la detección provocó una respuesta.
¿Qué fue robado?
TeamPCP publicó los depósitos robados para la venta al mínimo de $50,000 USD. El material exfiltrado incluye las definiciones de flujo de trabajo de GitHub Actions, los scripts de ajuste y los arnés de evaluación del modelo interno Copilot, las reglas de CodeQL y la herramienta de seguridad interna, las implementaciones Codespaces y Dependabot, y el código fuente del controlador Rails/PR. Evaluación de GitHub: no se confirmaron datos de clientes, secretos de producción o material clave criptográfico. Grafana Labs reveló una brecha secundaria a través del mismo vector.
Qué hacer
Extensiones del Código de Auditoría VS inmediatamente:
code --list-extensions --show-versionsRotar todas las credenciales del desarrollador Si Nx Console fue instalado entre el 16 y 19 de mayo: GitHub tokens de acceso personal y teclas SSH, npm publican fichas, teclas de acceso AWS IAM, y todos los secretos almacenados en 1Password o bóvedas similares.
Examen de los productos de tuberías CI/CD: Chequee los registros GitHub Actions para inesperados curl/wget llamadas o empuje no autorizado alrededor del 14 al 19 de mayo.
Aplicación de la extensión del código VS que permite la inclusión: Uso extensions.allowedExtensionIDs en los despliegues institucionales o un instrumento de gobernanza de la extensión de terceros.
Habilitación de TP de grano fino: Use tokens de acceso personal fino con alcances mínimos requeridos y ejecute esto a través de la política de organización.
→ Volver a la Semana del 21 de mayo