GitHub: 3.800 repo interni esfiltrati via estensione VS Code Nx

GitHub conferma l'esfiltrazione di circa 3.800 repository interni dopo l'installazione di una versione trojanizzata dell'estensione VS Code Nx Console, distrib…

Contenuto

GitHub: 3.800 repo interni esfiltrati via estensione VS Code Nx
GitHub: 3.800 repo interni esfiltrati via estensione VS Code Nx

GitHub ha confermato il 20 maggio 2026 che circa 3.800 repository interni sono stati esfiltrati dopo che un dipendente ha installato una versione trojanizzata dell'estensione VS Code Nx Console, distribuita dal gruppo criminale TeamPCP tramite il Visual Studio Marketplace per soli 18 minuti il 18 maggio. L'incidente svela un punto cieco sistemico: le estensioni IDE operano con privilegi elevati sui dispositivi degli sviluppatori, al di fuori della visibilità degli strumenti di sicurezza aziendali, e l'auto-update agisce come canale di distribuzione diretto senza gate di review.

Punti chiave
  • L'estensione malevola nrwl.angular-console v18.95.0 è rimasta sul Visual Studio Marketplace per soli 18 minuti (12:30-12:48 UTC, 18 maggio 2026), ma le installazioni potenziali potrebbero essere oltre 6.000 secondo le stime di Nx, contro le 28 inizialmente segnalate da Microsoft.
  • Il meccanismo di infezione sfruttava un comando shell camuffato da configurazione MCP per scaricare ed eseguire un pacchetto nascosto in un commit piantato sul repository ufficiale nrwl/nx, rubando credenziali da 1Password, Anthropic Claude Code, npm, GitHub e AWS.
  • Il gruppo TeamPCP ha rivendicato l'attacco su forum cybercriminali e ha messo in vendita i dati rubati per almeno 50.000 dollari; GitHub non ha rilasciato attribuzione ufficiale ma ha definito le rivendicazioni "directionally consistent" con l'indagine interna.
  • GitHub ha ruotato i segreti critici e afferma di non avere evidenze di impatto su dati clienti esterni ai repository interni, tuttavia l'incidente espone la fragilità del trust model delle estensioni VS Code dove l'EDR non arriva.

18 minuti sul marketplace, conseguenze per settimane

La finestra di esposizione è stata brevissima ma sufficiente. Secondo quanto riportato da The Hacker News, l'estensione trojanizzata è stata pubblicata sul Visual Studio Marketplace alle 12:30 UTC del 18 maggio 2026 e rimossa alle 12:48 UTC, dopo soli 18 minuti. Tuttavia, l'auto-update attivo per default su VS Code ha trasformato quella breve presenza in un canale di distribuzione potenzialmente massivo.

Jeff Cross, co-fondatore di Nx, ha successivamente dichiarato che le analisi basate su analytics proprietarie stimano potenzialmente oltre 6.000 installazioni della versione 18.95.0, una cifra drasticamente superiore alle 28 inizialmente indicate da Microsoft. La discrepanza illustra il divario tra i dati di installazione del marketplace e la reale propagazione sui dispositivi degli utenti attraverso meccanismi automatici.

Il gruppo TeamPCP ha rivendicato l'operazione su forum dedicati al cybercrimine, offrendo i dati rubati a un prezzo minimo di almeno 50.000 dollari. GitHub, da parte sua, non ha confermato ufficialmente l'attribuzione al gruppo, ma ha definito le rivendicazioni sul numero di repository compromessi come "directionally consistent" con i risultati dell'indagine interna.

Il meccanismo MCP come travestimento

Il nucleo tecnico dell'attacco risiede nell'ingegneria sociale applicata al protocollo Model Context Protocol (MCP), progettato per standardizzare l'interazione tra IDE e servizi esterni. L'estensione compromessa appariva e funzionava esattamente come la versione legittima di Nx Console, ma al primo avvio eseguiva silenziosamente un comando shell.

"On startup it silently ran a single shell command that downloaded and executed a hidden package from a planted commit on the official nrwl/nx GitHub repository. The command was disguised as a routine MCP setup task so it would not raise suspicion." — Nir Zadok, OX Security

Il pacchetto malevolo era ospitato in un commit piantato sul repository ufficiale nrwl/nx, sfruttando così l'infrastruttura stessa di GitHub come veicolo di distribuzione secondaria. Una volta eseguito, il malware operava come credential stealer multi-target, raccogliendo dati sensibili da vault 1Password, configurazioni Anthropic Claude Code, credenziali npm, token GitHub e chiavi AWS. Il tutto avveniva nel contesto di privilegi equivalenti a quelli dell'editor VS Code, con accesso completo al filesystem e alle risorse della macchina dello sviluppatore.

Questa architettura di attacco evidenzia come il compromesso di un singolo dispositivo aziendale possa innescare una catena di accessi propagandosi attraverso le credenziali rubate fino ai sistemi interni della piattaforma, nel caso specifico permettendo l'accesso a circa 3.800 repository interni di GitHub.

Il punto cieco della workstation dello sviluppatore

L'incidente GitHub mette in luce una discontinuità strutturale nella postura di sicurezza delle aziende tecnologiche. Le estensioni VS Code vengono installate con privilegi elevati, spesso senza review di sicurezza dedicata, e operano in uno spazio che gli strumenti EDR (Endpoint Detection and Response) tradizionali non coprono efficacemente.

Come ha osservato Charlie Eriksen, ricercatore di sicurezza presso Aikido Security: "The thing people underestimate about VS Code extensions is that they have full access to everything on the developer's machine. EDR doesn't cover this layer at all." La mancanza di visibilità sulle workstation degli sviluppatori costituisce un vettore di attacco sistematico sottovalutato.

Raphael Silva, sempre di Aikido Security, ha sottolineato la natura del rischio legata all'auto-update: "Every popular extension marketplace ships with auto-update on by default... Auto-update gives an attacker who controls a release a direct push channel into every machine running that extension. Marketplaces don't impose any review gate or waiting period between when an update is published and when installed clients pull it in." Questo meccanismo trasforma ogni aggiornamento in un evento potenzialmente critico, senza intervallo di verifica.

Mackenzie Jackson di Aikido Security ha sintetizzato la portata del problema: "A single VS Code extension on one employee's machine was enough to get access to 3,800 internal GitHub repositories. Most security teams still have zero visibility into what extensions or packages are on their developers' machines, or how recently they were published. That's the blind spot these attacks keep walking through."

Il trust model delle estensioni sotto accusa

Roy Akerman, responsabile della sicurezza cloud e identità di Silverfort, ha inquadrato la peculiarità dell'incidente: "A VS Code extension runs with the same privileges as the editor itself, and once installed it has access to everything the developer can reach... What makes this breach remarkable isn't the entry point, it's that TeamPCP used GitHub's own infrastructure as the weapon end to end." L'osservazione coglie la simmetria insidiosa dell'attacco: la piattaforma di hosting del codice è diventata simultaneamente vettore, veicolo e bersaglio.

Il caso si inserisce in una serie di compromissioni attribuite al gruppo TeamPCP, che negli ultimi mesi ha dimostrato capacità operative sofisticate nell'infiltrazione della catena di supply chain del software. Non è tecnicamente chiaro dalle fonti disponibili se il vettore iniziale di compromissione dell'account maintainer di Nx sia direttamente correlato all'attacco subito da TanStack in tempi recenti, né è noto se altre organizzazioni oltre GitHub siano state colpite durante i 18 minuti di disponibilità dell'estensione.

Alexis Wales, Chief Information Security Officer di GitHub, ha affermato: "We have no evidence of impact to customer information stored outside of GitHub's internal repositories, such as our customer's own enterprises, organizations, and repositories." L'azienda ha comunque proceduto alla rotazione dei segreti critici come misura precauzionale.

Cosa fare adesso

Per le organizzazioni che gestiscono ambienti di sviluppo, l'incidente impone misure concrete e immediate:

  • Audit delle estensioni installate: Verificare tutte le estensioni VS Code presenti sui dispositivi degli sviluppatori, con particolare attenzione a nrwl.angular-console v18.95.0, e rimuovere immediatamente versioni sospette o non verificabili.
  • Disabilitazione dell'auto-update selettivo: Valutare la configurazione di policy che richiedano approvazione prima dell'installazione automatica degli aggiornamenti delle estensioni, specialmente per quelle con accesso a credenziali e risorse sensibili.
  • Rotazione dei segreti esposti: Presupporre che credenziali GitHub, AWS, npm e vault password siano stati compromessi se l'estensione è stata installata su qualsiasi dispositivo aziendale nel periodo 18-20 maggio 2026; ruotare tutti i token e le chiavi potenzialmente esposti.
  • Implementazione di visibilità dedicata sul layer IDE: Integrare strumenti di security posture specifici per l'ambiente di sviluppo, poiché l'EDR tradizionale non copre il comportamento delle estensioni; monitorare le comunicazioni di rete iniziate da VS Code e i processi child generati dall'editor.

L'incidente dimostra che la sicurezza della supply chain non può più fermarsi al codice sorgente: deve estendersi agli strumenti che i developer usano per manipolarlo. Quando una singola estensione compromessa pualeggiare l'accesso a migliaia di repository di una delle piattaforme di hosting più critiche al mondo, il perimetro di difesa si sposta inevitabilmente dalla cloud alla workstation individuale.

Fonti

Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.

Fonti

Link utili

Apri l'articolo su DeafNews