Il 29 ottobre 2026, per circa 12 ore, chiunque abbia installato o aggiornato automaticamente l’estensione ufficiale Claude Code per VS Code tramite il marketplace di Cursor ha scaricato, senza saperlo, una backdoor SSH persistente. L’episodio è interessante non tanto per la sofisticazione tecnica — il payload era relativamente semplice — quanto per quello che rivela sulla fiducia implicita che riponiamo nei marketplace di estensioni degli editor di codice, un vettore di attacco su cui gli sviluppatori riflettono ancora troppo poco.
Per chi sviluppa professionalmente e usa editor basati su VS Code (Cursor, Windsurf, VS Code stesso) con decine di estensioni installate e aggiornamenti automatici attivi, questo caso merita un’analisi tecnica approfondita, perché la stessa dinamica può ripetersi con qualunque altra estensione popolare.
Cosa è successo
La versione 2.1.313 dell’estensione anthropic.claude-code è stata pubblicata sul marketplace di Cursor con l’identità dell’editore legittimo (lo stesso publisher ID usato da Anthropic). Il metodo esatto con cui l’attaccante ha ottenuto accesso per pubblicare questa versione alterata non è stato chiarito pubblicamente, ma Anthropic ha confermato che i propri sistemi e i laptop dei dipendenti non sono stati compromessi: l’attaccante ha invece ottenuto accesso diretto al marketplace di Cursor, un canale di distribuzione separato da quello ufficiale.
Il pacchetto malevolo è rimasto disponibile per il download tra le 02:27 e le 13:35 PT del 29 ottobre, con installazioni stimate fino a un massimo di 5.000 utenti, prima di essere rimosso il giorno successivo. Cursor ha successivamente esteso l’avviso di cautela anche alla versione 2.1.312 per Windows e macOS. È importante sottolineare che Open VSX, il Marketplace di Microsoft e npm non sono risultati coinvolti: il problema è stato isolato al solo canale di distribuzione di Cursor.
Anatomia del payload: un loader di 66 righe
Dal punto di vista tecnico, l’attacco è un classico esempio di supply chain compromise “leggero”: un loader malevolo di sole 66 righe è stato inserito all’inizio del bundle JavaScript principale dell’estensione, prima del codice legittimo. Il comportamento, una volta attivato all’avvio di VS Code/Cursor e all’apertura della webview dell’estensione, seguiva questi passaggi:
- Persistenza SSH: aggiunta di una chiave pubblica controllata dall’attaccante al file
~/.ssh/authorized_keys, etichettata con il nome innocuosvc-telemetryper non destare sospetti durante un controllo superficiale. - Attivazione del servizio SSH: tentativo di abilitare il demone SSH locale. Su gran parte delle installazioni Windows e macOS il tentativo fallisce perché richiede privilegi di amministratore — un dettaglio che ha limitato significativamente l’impatto reale rispetto al potenziale.
- Reverse tunnel: stabilimento di un tunnel inverso verso un server di comando e controllo (C2) all’indirizzo
134.209.82.225, porta 8099, endpoint/beacon. - Persistenza multipiattaforma: installazione di un’attività pianificata su Windows, un crontab su Linux e un LaunchAgent su macOS, per garantire la sopravvivenza al riavvio.
- Ricognizione ed esfiltrazione: invio via HTTP (non cifrato) di indirizzo IP pubblico, hostname, username locale, sistema operativo e architettura CPU, home directory, directory corrente e l’email configurata in
git config --global user.email. Il malware enumerava anche fino a 40 nomi di variabili d’ambiente contenenti pattern comeKEY,TOKEN,SECRET,PASS,AWSoGCP— senza però inviarne i valori nel beacon iniziale osservato, il che suggerisce una possibile seconda fase mai eseguita grazie alla rapida disattivazione del C2.
# Indicatori di compromissione principali
IP C2: 134.209.82.225 (porta 8099, endpoint /beacon)
Chiave SSH sospetta: label "svc-telemetry" in ~/.ssh/authorized_keys
Versioni interessate: anthropic.claude-code 2.1.312 e 2.1.313 (solo canale Cursor Marketplace)
Versione sicura: 2.1.314 o successiva, da fonte ufficiale
Perché questo caso è istruttivo per chi sviluppa
Il dato più significativo non è tanto la backdoor in sé, quanto la superficie di attacco che rappresenta: un editor di codice moderno (Cursor, VS Code, Windsurf) ha accesso praticamente illimitato al filesystem dello sviluppatore, alle sue chiavi SSH, ai suoi token cloud e ai repository Git. Un’estensione compromessa — anche con publisher ID legittimo — ha lo stesso livello di fiducia del codice che scrivete voi stessi. Non esiste sandboxing significativo tra un’estensione VS Code e il resto del sistema operativo.
Cursor ha dichiarato di aver ruotato le chiavi interessate, ricostruito il marketplace da zero e fatto disattivare il server C2 contattando il provider cloud, interrompendo così la reverse shell attiva. David Dworken di Anthropic ha precisato che le versioni distribuite sui canali ufficiali (VS Code Marketplace, Open VSX) non sono mai state interessate: “this only impacts Cursor users”.
Cosa fare se avete installato Claude Code da Cursor tra il 29 e il 30 ottobre 2026
- Verificate la versione installata: controllate se avete installato o aggiornato automaticamente a 2.1.312 o 2.1.313 tramite il marketplace di Cursor nella finestra temporale indicata.
- Preservate le evidenze prima di agire: se gestite endpoint aziendali, isolate l’host e raccogliete log prima di qualsiasi rimozione, per un’eventuale analisi forense.
- Controllate
~/.ssh/authorized_keyssu ogni sistema interessato, cercando chiavi sospette (in particolare con etichettasvc-telemetryo comunque non riconosciute) e rimuovetele. - Ispezionate le attività pianificate: Task Scheduler su Windows, crontab su Linux, LaunchAgent su macOS (cartella
~/Library/LaunchAgents), cercando voci non riconosciute create nel periodo dell’incidente. - Non fidatevi della semplice disinstallazione dell’estensione: Microsoft ha sottolineato correttamente che rimuovere o aggiornare l’estensione non elimina gli artefatti scritti fuori dalla sua directory di installazione (chiavi SSH, crontab, task pianificati).
- Verificate connessioni di rete pregresse verso l’IP
134.209.82.225nei log del firewall o dell’EDR aziendale. - Ruotate le credenziali potenzialmente esposte: dato che il malware enumerava variabili d’ambiente con pattern come TOKEN, SECRET, KEY, AWS, GCP, è prudente ruotare le credenziali cloud e i token presenti su quelle macchine, anche se non è stata osservata l’esfiltrazione dei valori.
- Aggiornate a Claude Code 2.1.314 o successiva, scaricata da una fonte ufficiale (VS Code Marketplace o Open VSX), non dal marketplace di Cursor fino a conferma della piena bonifica.
La lezione più ampia: supply chain e marketplace di estensioni
Al di là del singolo incidente, il caso Claude Code/Cursor si inserisce in un pattern ricorrente del 2026: i marketplace di estensioni per editor di codice e per strumenti AI-assisted sono diventati un bersaglio primario per attacchi alla supply chain, proprio perché bypassano i controlli più maturi (firma del codice, scansione automatica, revisione) che ormai esistono su registry più consolidati come npm o PyPI. Per i team di sviluppo, alcune pratiche minime diventano sempre più necessarie: disattivare gli aggiornamenti automatici delle estensioni critiche sulle macchine di produzione o CI, pinnare le versioni note e verificate, monitorare con un EDR le modifiche a authorized_keys e alle attività pianificate, e trattare ogni estensione dell’editor come codice con pieno accesso al sistema — perché, di fatto, lo è.