Brecha en Repositorios Internos de GitHub por TeamPCP: Exfiltración de ~3,800 Repositorios vía Extensión Maliciosa de VS Code

Nota de Inteligencia de Amenazas: Acceso No Autorizado y Filtración de Repositorios Internos de GitHub

Fecha de Publicación: 23 de mayo de 2026


Introducción

El 19 de mayo de 2026, GitHub detectó y contuvo un incidente de seguridad que comprometió dispositivos de empleados mediante una extensión maliciosa del entorno de desarrollo Visual Studio Code (VS Code). El actor de amenaza conocido como TeamPCP (también rastreado como UNC6780 por Google Threat Intelligence Group) exfiltró aproximadamente 3,800 repositorios internos de la plataforma. GitHub confirmó públicamente el incidente el 20 de mayo de 2026 a través de una publicación oficial en su blog de seguridad. Según la evaluación inicial de la compañía, la actividad de exfiltración se limitó exclusivamente a repositorios corporativos internos de GitHub; no existe evidencia, al momento de la divulgación, de que los repositorios de clientes, organizaciones empresariales ni datos de usuario almacenados fuera de los sistemas internos hayan sido comprometidos. El código fuente de los servicios principales de la plataforma, sin embargo, podría estar entre el material sustraído, lo que representa un riesgo significativo para la cadena de suministro de software a escala global.


¿Qué es una Brecha en Repositorios Internos de Desarrollo?

Naturaleza del Incidente

Los repositorios internos o privados de una organización de desarrollo de software constituyen el núcleo de su propiedad intelectual y su infraestructura operativa. A diferencia de los repositorios públicos, estos contienen:

Implicaciones Estratégicas

El compromiso de repositorios internos de una plataforma como GitHub —utilizada por más de 180 millones de desarrolladores y el 90% de las empresas Fortune 100— trasciende el daño corporativo inmediato. Los atacantes en posesión de este material pueden:


¿Cómo Funciona?

Vector de Ataque: Extensión Maliciosa de VS Code (Supply Chain via Developer Tooling)

El ataque siguió un patrón de compromiso de la cadena de suministro orientado específicamente a la superficie de ataque de las estaciones de trabajo de desarrolladores.

Fase 1 — Distribución del Implante

TeamPCP introdujo una versión troyanizada de una extensión en el VS Code Marketplace. La extensión candidata más probable, según múltiples investigadores independientes, es nrwl.angular-console v18.95.0 (Nx Console), una extensión con más de 2.2 millones de instalaciones y estado de publicador verificado. El payload malicioso consistía en:

Fase 2 — Cosecha de Credenciales en el Endpoint

Las extensiones de VS Code se ejecutan con los mismos privilegios del editor, lo que les otorga acceso irrestricto a:

El stealer recolectó silenciosamente material de autenticación de GitHub, npm, AWS y 1Password desde el momento en que el desarrollador abrió un espacio de trabajo.

Fase 3 — Exfiltración de Repositorios

Con los tokens de acceso del empleado comprometido, los actores de amenaza procedieron a:

  1. Autenticarse en la API de GitHub utilizando las credenciales sustraídas
  2. Enumerar repositorios accesibles bajo el contexto del usuario comprometido
  3. Clonar masivamente los repositorios internos (~3,800 repositorios identificados)
  4. Transferir el material a infraestructura bajo su control

Fase 4 — Monetización

TeamPCP publicó la oferta de venta en el foro Breached (BreachForums) indicando:

“As always, this is not a ransom. We do not care about extorting GitHub, 1 buyer and we shred the data on our end. If no buyer is found, we leak it for free.”

El grupo también exploró alianzas con actores de ransomware, incluyendo LAPSUS$ y el grupo Vect, bajo un modelo operativo en el que TeamPCP provee el acceso inicial y sus socios gestionan la extorsión y el cifrado.

Flujo de Ataque Resumido

Marketplace de VS Code
        │
        ▼
Extensión troyanizada instalada en workstation del empleado
        │
        ▼
Stealer ejecutado → Cosecha de tokens/credenciales de GitHub
        │
        ▼
Autenticación en API de GitHub con token comprometido
        │
        ▼
Enumeración y clonación de ~3,800 repositorios internos
        │
        ▼
Exfiltración a infraestructura del atacante
        │
        ▼
Oferta de venta en foro clandestino ($50,000+)

Sistemas y Activos Afectados

Activos Comprometidos (Confirmados o Probables)

Activos Fuera del Alcance (Según Reporte Oficial)

⚠️ Nota: La investigación estaba en curso al momento de la divulgación. GitHub indicó que notificaría a los clientes si se descubrieran impactos adicionales.


Mitigación y Detección

Acciones de Remediación Inmediata (Tomadas por GitHub)

Recomendaciones de Detección para Organizaciones

Las siguientes medidas permiten detectar actividades similares en entornos de desarrollo corporativos:

Monitoreo de Audit Logs de GitHub

Escaneo de Secretos (Secret Scanning)

Gestión de Extensiones de Desarrollo

Principio de Mínimos Privilegios en Tokens de Desarrollo

Detección de Comportamiento Anómalo en Workstations


Recapitulando…

El incidente de GitHub de mayo de 2026 puede resumirse en una cadena de eventos precisa: el grupo TeamPCP (UNC6780), especializado en ataques de cadena de suministro de software, comprometió el dispositivo de trabajo de un empleado de GitHub mediante una extensión troyanizada del marketplace de VS Code. El payload —un stealer JavaScript de apenas ~2,777 bytes— recolectó silenciosamente tokens de autenticación de GitHub, npm, AWS y 1Password desde el entorno de desarrollo del empleado. Con esas credenciales, los atacantes se autenticaron en la API interna de GitHub y procedieron a clonar aproximadamente 3,800 repositorios corporativos privados, potencialmente incluyendo código fuente de servicios principales de la plataforma.

GitHub respondió de manera inmediata: aisló el dispositivo comprometido, eliminó la extensión del marketplace, y rotó credenciales críticas priorizando las de mayor impacto. La investigación confirmó que el alcance del incidente se limitó a los repositorios internos propios de la empresa, sin evidencia de compromiso de los repositorios, organizaciones ni datos de los más de 180 millones de usuarios de la plataforma.

Este caso refuerza cuatro lecciones que toda organización de desarrollo de software debe internalizar:

La protección de la cadena de suministro de software no es un problema técnico aislado; es una responsabilidad organizacional que abarca la gestión de identidades, el monitoreo continuo, la evaluación crítica del ecosistema de herramientas y la cultura de seguridad en los equipos de ingeniería.


Referencias

GitHub Security Blog. (2026, 20 de mayo). Investigating unauthorized access to GitHub-owned repositories. https://github.blog/security/investigating-unauthorized-access-to-githubs-internal-repositories/

Help Net Security. (2026, 20 de mayo). TeamPCP breached GitHub’s internal codebase via poisoned VS Code extension. https://www.helpnetsecurity.com/2026/05/20/github-breached-teampcp/

Infosecurity Magazine. (2026, 21 de mayo). GitHub confirms breach of internal repositories via malicious VS Code extension. https://www.infosecurity-magazine.com/news/github-confirms-breach-vs-code/

Phoenix Security. (2026, 20 de mayo). GitHub internal repository breach via poisoned VS Code extension (May 2026): TeamPCP exfiltrates 3,800 repos through the developer trust surface. https://phoenix.security/vs-code-extension-malware-github-breach-teampcp-2026/

The Hacker News. (2026, 20 de mayo). GitHub investigating TeamPCP-claimed breach of internal repositories. https://thehackernews.com/2026/05/github-investigating-teampcp-claimed.html

VentureBeat. (2026, 20 de mayo). GitHub confirms 3,800 internal repos stolen through poisoned VS Code extension as supply chain worm hits Microsoft’s Python SDK. https://venturebeat.com/security/github-confirms-3800-repos-stolen-poisoned-vs-code-extension-supply-chain-worm-microsoft-python-sdk