18 minuti. È il tempo in cui una versione trojanizzata dell’estensione VS Code Nx Console (nrwl.angular-console) è rimasta disponibile sul Visual Studio Marketplace il 18 maggio 2026. Un lasso di tempo apparentemente irrisorio, ma sufficiente perché il gruppo criminale TeamPCP compromettesse il device di almeno un dipendente GitHub e sottraesse circa 3.800 repository interni — uno degli incidenti di supply chain più gravi dell’anno sul piano dell’impatto sistemico.
Il contesto: TeamPCP e la catena TanStack
Per capire la violazione di GitHub è necessario risalire di dieci giorni. L’11 maggio 2026, TeamPCP aveva già pubblicato 84 artifact npm malevoli distribuiti su 42 pacchetti nel namespace TanStack — uno degli ecosistemi più adottati per il web development con React. Quell’operazione, che il sito ha seguito nelle settimane precedenti nella campagna Mini Shai-Hulud, aveva come obiettivo la compromissione a cascata di developer tramite dipendenze malevole che esfiltravano credenziali e token durante l’installazione.
TeamPCP ha guadagnato notorietà rapidamente come attore specializzato negli attacchi alla developer trust surface: non attacca i sistemi delle vittime direttamente, ma compromette la catena di strumenti e dipendenze su cui i developer si fidano implicitamente ogni giorno. L’attacco TanStack era già sufficientemente grave da soli — ma era anche il setup per qualcosa di più ambizioso.
Il vettore: Nx Console 18.95.0
Nx Console (nrwl.angular-console) è un’estensione VS Code con 2,2 milioni di installazioni e lo status di verified publisher — la certificazione più alta che Microsoft assegna agli editori sul marketplace. Questa combinazione di popolarità e fiducia istituzionale ne fa un bersaglio di enorme valore per un attore supply chain.
Il team di Nx ha successivamente ricostruito la catena causale: uno dei propri developer era stato precedentemente compromesso nel contesto dell’attacco a TanStack. Le sue credenziali GitHub erano trapelate, permettendo a TeamPCP di accedere al repository dell’estensione, modificare il codice, e pubblicare la versione 18.95.0 — quella avvelenata. Il meccanismo era semplice ma letale: non appena un developer apriva qualsiasi workspace in VS Code con l’estensione installata, il malware iniziava a raccogliere silenziosamente le credenziali memorizzate nel sistema.
La timeline dell’attacco
- 11 maggio 2026 — TeamPCP pubblica 84 pacchetti npm malevoli nel namespace TanStack; un developer Nx viene compromesso
- 18 maggio 2026, 12:30 UTC — Nx Console 18.95.0 (versione backdoor) appare sul VS Code Marketplace
- 18 maggio 2026, 12:48 UTC — La versione malevola viene rimossa dal Marketplace (18 minuti di esposizione)
- 18 maggio 2026, ~13:06 UTC — Rimossa da Open VSX (36 minuti totali di esposizione)
- 20 maggio 2026 — GitHub conferma la violazione: circa 3.800 repository interni esfiltrati, avvio rotazione di tutti i secret esposti
L’impatto: 3.800 repository interni di GitHub
GitHub ha confermato la sottrazione di circa 3.800 repository interni a opera di TeamPCP. L’azienda ha proceduto immediatamente alla rotazione di tutti i secret potenzialmente esposti. Non è ancora stato reso noto se i repository contengano codice relativo alla piattaforma github.com stessa, strumenti interni, infrastrutture di supporto o documentazione riservata — ma la sola portata numerica dell’esfiltrazione suggerisce un accesso profondo all’ecosistema di sviluppo interno di Microsoft GitHub. L’incidente ha colpito anche Grafana, compromessa attraverso un percorso diverso ma sempre legato alla catena TanStack.
Perché questo attacco è strutturalmente diverso
A differenza dei classici attacchi alla supply chain che operano a livello di package manager (npm, PyPI), questo incidente colpisce il layer dell’IDE — la superficie più prossima al developer e quella con i privilegi di accesso più ampi. Un’estensione VS Code non è un pacchetto passivo: ha accesso al filesystem locale, alle variabili d’ambiente di sistema, ai token Git memorizzati, alle chiavi SSH, ai file di configurazione cloud e all’intera sessione di sviluppo attiva.
Un’estensione verified con milioni di installazioni diventa, una volta compromessa, un vettore di distribuzione quasi impossibile da bloccare con le tradizionali difese perimetrali. La maggior parte degli endpoint detection agent non monitora il comportamento delle estensioni IDE con la stessa granularità con cui monitora i processi di sistema — un gap che TeamPCP ha sfruttato con precisione chirurgica.
Indicatori di compromissione (IoC)
# TeamPCP - GitHub Breach via Nx Console - IoC (maggio 2026)
# Estensione malevola
EXTENSION: nrwl.angular-console (Nx Console) versione 18.95.0
MARKETPLACE: Visual Studio Code Marketplace
TIMEFRAME: 2026-05-18 12:30–12:48 UTC (VS Code Marketplace)
TIMEFRAME: 2026-05-18 12:30–13:06 UTC (Open VSX)
# Infrastruttura TeamPCP documentata
DOMAIN: t.m-kosche.com (infra C2 TeamPCP)
# Campagne correlate
CAMPAIGN: Mini Shai-Hulud (npm/PyPI, 160+ pacchetti)
CAMPAIGN: TanStack supply chain (84 artifact npm su 42 pacchetti, 2026-05-11)
# Possibili alias
ACTOR: TeamPCP
ACTOR_ALIAS: UNC6780 (attribuzione parziale)
# Azione raccomandata
ACTION: Verificare estensioni VS Code installate nel periodo 2026-05-11/20
ACTION: Ruotare tutti i token GitHub/credential store sui sistemi degli sviluppatori
Due righe per i difensori
L’incidente impone una revisione urgente della postura di sicurezza degli ambienti di sviluppo. I team di sicurezza dovrebbero verificare immediatamente se l’estensione Nx Console 18.95.0 è stata installata su device aziendali nel periodo 11–20 maggio 2026, e in caso affermativo avviare la rotazione di tutte le credenziali presenti sui sistemi coinvolti — token GitHub, chiavi SSH, credenziali cloud, certificati. È fondamentale estendere il monitoraggio EDR alle estensioni IDE, configurando alert per comportamenti anomali come lettura massiva di file di configurazione, accesso ai credential store di sistema o connessioni di rete originate dal processo VS Code verso endpoint inusuali. Sul piano organizzativo, è necessario implementare il principio del minimo privilegio per le credenziali usate negli ambienti di sviluppo: i developer non dovrebbero mai usare token con permessi di scrittura su repository interni critici sui propri device personali. Infine, considerare l’adozione di ambienti di sviluppo isolati — container o VM dedicati — per i progetti a più alto rischio, separando fisicamente l’ambiente di esecuzione del codice dall’ambiente di lavoro quotidiano.