GitHub vincula robo de 3,800 repos internos a una extensión maliciosa de VS Code
GitHub vincula 3,800 repos internos robados con una extensión maliciosa de VS Code
TL;DR:
GitHub detectó acceso no autorizado a repositorios internos tras la instalación de una versión maliciosa de Nx Console.
La cifra de aproximadamente 3,800 repositorios coincide con la investigación interna de GitHub, aunque la compañía sigue revisando el alcance.
El caso exhibe un riesgo mayor: extensiones, paquetes npm y credenciales de CI/CD pueden encadenar ataques contra empresas que dependen de software open source.
GitHub atribuyó el acceso no autorizado a sus repositorios internos a una versión maliciosa de Nx Console, una extensión de VS Code comprometida dentro de una campaña de supply chain ligada al ataque contra paquetes npm de TanStack. La compañía dijo que los reclamos del atacante sobre aproximadamente 3,800 repositorios son consistentes con su investigación hasta ahora. El golpe importa porque no apunta solo a GitHub: muestra cómo una extensión instalada por un desarrollador puede robar credenciales, moverse por pipelines de CI/CD y escalar hacia otros proyectos confiables.
Nx Console es una extensión de VS Code que ayuda a administrar monorepos y proyectos Nx desde el editor, sin depender por completo de comandos de terminal.
El incidente arrancó el 18 de mayo de 2026, cuando GitHub detectó y contuvo el compromiso de un dispositivo de empleado relacionado con una extensión de VS Code publicada por un tercero. GitHub aisló el equipo, eliminó la versión maliciosa y activó su respuesta interna.
“No tenemos evidencia de impacto en información de clientes almacenada fuera de los repositorios internos de GitHub”.
La precisión de esa frase importa. GitHub no dijo que el incidente fuera irrelevante para clientes. Dijo que, por ahora, no encontró evidencia de impacto fuera de sus repositorios internos. La propia compañía aclaró que algunos repos internos pueden contener información de clientes, como fragmentos de interacciones de soporte, y que notificará si descubre afectaciones concretas.
La ventana fue mínima, pero el daño potencial no
La versión comprometida fue Nx Console 18.95.0. De acuerdo con el aviso de seguridad del proyecto, estuvo disponible en el Visual Studio Marketplace durante unos 18 minutos, de 12:30 a 12:48 UTC del 18 de mayo. En OpenVSX, la exposición duró cerca de 36 minutos, de 12:33 a 13:09 UTC.
Ese dato podría sonar tranquilizador. No lo es.
El problema con las herramientas de desarrollo es que viven donde están las llaves: tokens, secretos, accesos a repositorios, credenciales de nube, claves privadas y sesiones activas. Una extensión maliciosa no necesita millones de instalaciones si cae en una máquina con permisos altos.
El aviso de Nx enumera varios objetivos del payload:
- tokens de npm;
- credenciales de AWS;
- tokens de GitHub;
- secretos de Kubernetes;
- sesiones de 1Password;
- credenciales de GCP/Docker;
- llaves privadas y cadenas de conexión en el sistema de archivos.
También advierte que los datos robados se exfiltraron mediante HTTPS, la API de GitHub y DNS. En Linux, el malware incluso intentó persistencia mediante inyección en sudoers.
El ataque contra TanStack abrió la puerta
Nx explicó que la publicación maliciosa no salió de la nada. El proyecto vinculó el origen con el ataque supply chain contra TanStack, que filtró credenciales de GitHub a través de la CLI gh.
“Uno de nuestros desarrolladores fue comprometido por un ataque reciente de cadena de suministro contra TanStack”.
Ese acceso permitió al atacante ejecutar workflows en el repositorio de Nx como contribuidor. Antes del incidente, una sola persona dentro de la organización podía liberar una nueva versión de Nx Console sin aprobación manual. Tras el ataque, el proyecto endureció su pipeline: ahora dos administradores deben aprobar manualmente una publicación.
La diferencia entre “descargas” y “activaciones” también deja una alerta. Microsoft y OpenVSX reportaron 28 y 41 descargas de la versión afectada, respectivamente. Pero Nx dijo que sus analíticas internas registraron cerca de 6,000 activaciones desde VS Code dos días después del ataque. Esa brecha sugiere que medir el impacto solo por descargas puede quedarse corto cuando hay autoactualizaciones, instalaciones previas o telemetría incompleta.
GitHub rota secretos y evita atribuir oficialmente el ataque
GitHub dijo que rotó secretos críticos entre el lunes y el martes, priorizando credenciales de mayor impacto. La compañía también mantiene análisis de logs, validación de rotación de secretos y monitoreo de actividad posterior.
BleepingComputer reportó que el grupo TeamPCP se atribuyó el robo y ofreció datos en foros criminales. GitHub, por su parte, no hizo una atribución formal en su publicación oficial. Esa distinción importa: una cosa es el reclamo de un grupo criminal y otra una atribución confirmada por la empresa afectada.
El caso también se conecta con un patrón más amplio. Grafana Labs reportó que su propio incidente se originó en el ataque npm contra TanStack vía la campaña Mini Shai-Hulud. La compañía dijo que su código fue descargado, pero no alterado, y que no encontró evidencia de compromiso en sistemas de producción o en Grafana Cloud.
Para equipos de desarrollo en México y Latinoamérica, la lectura práctica es directa: el riesgo no vive únicamente en los servidores corporativos. También está en la laptop del desarrollador, las extensiones del editor, los tokens olvidados y los workflows que publican software con permisos excesivos.
GitHub no cerró la investigación. Prometió publicar un reporte más amplio cuando termine su análisis. Hasta entonces, el caso deja una señal incómoda para la industria: una extensión comprometida durante minutos puede convertirse en una ruta real hacia repositorios privados, secretos de nube y pipelines de producción.