Dodici ore e cinquemila macchine: l'estensione Claude Code che non era di Anthropic

A un certo punto di giovedì, una build dell'estensione Claude Code presente nel marketplace di Cursor ha smesso di essere quello che dichiarava di essere. Due versioni — 2.1.312 e 2.1.313 — contenevano una backdoor SSH persistente. È rimasta in elenco per quasi dodici ore. Il conteggio di Cursor degli sviluppatori colpiti è «fino a 5.000».
I dettagli vengono da un grappolo di analisi di sicurezza pubblicate a un giorno di distanza l'una dall'altra: Step Security, Sophos, BleepingComputer, il blog sulla sicurezza di Microsoft e Ars Technica, che ha inquadrato la cronologia con più precisione. Secondo quei report, l'estensione manomessa faceva quello che una backdoor dovrebbe fare — apriva un varco che sopravvive a un riavvio, in questo caso via SSH. Il riassunto dell'incidente di The Verge nota che il payload raccoglieva hostname, username e indirizzi IP.
Questa è la versione breve. Quella lunga riguarda cos'è un marketplace di estensioni, e perché doveva succedere prima o poi.
Cosa è stato compromesso davvero
Non i server di Anthropic. Non il modello Claude. Un canale di distribuzione.
Claude Code viene distribuito come CLI e come estensione per editor. Cursor gestisce un proprio marketplace di estensioni, come fa VS Code, e l'elenco in questione era brandizzato come l'estensione ufficiale di Claude Code. Per uno sviluppatore che cercava «claude code» dentro il proprio editor, l'elenco sembrava giusto: nome giusto, icona giusta, descrizione giusta.
Quello che girava all'installazione era una build trojanizzata. Il meccanismo descritto nei report è una backdoor SSH persistente — una modifica che permette a un attaccante di accedere alla macchina in seguito, via SSH, senza che l'utente debba fare altro. Per un portatile da sviluppatore, è vicino al peggior payload possibile. Non è un crypto miner che compare in Activity Monitor. È una porta silenziosa.

Perché gli sviluppatori sono il bersaglio ideale
Una macchina da sviluppatore compromessa non è solo un portatile. È un insieme di credenziali con una portata insolitamente ampia: codice sorgente di repo privati, token CI, chiavi cloud, stringhe di connessione ai database in un file .env che qualcuno aveva intenzione di ripulire a marzo, chiavi SSH che si fidano l'una dell'altra su un intero parco macchine.
Una backdoor SSH è particolarmente adatta a quell'ambiente, perché le macchine degli sviluppatori hanno già SSH in funzione, hanno già file authorized_keys e si aspettano già connessioni in ingresso da altre macchine. Una nuova chiave in quel file non sembra anomala come lo sarebbe una nuova connessione in uscita verso un IP sconosciuto.
Aggiungi il tempismo: giovedì, in un giorno lavorativo, nel mezzo di un ciclo di rilascio per molte squadre. La finestra non è stata lunga, ma dodici ore bastano per qualche migliaio di installazioni se l'elenco è in cima ai risultati di ricerca.
La parte che nessuno vuole dire ad alta voce
I marketplace di estensioni non sono app store nel senso in cui li intendono i consumatori. Sono più simili ai registry di pacchetti. C'è un processo di revisione, ma è orientato a intercettare comportamenti ovviamente malevoli al momento della sottomissione, non a verificare in continuo che il publisher sia ancora il publisher e che il binario sia ancora il binario.
Non è un fallimento specifico di Cursor. È la debolezza strutturale di ogni ecosistema che permette a terzi di pubblicare codice che gira con tutti i privilegi locali: npm, PyPI, le estensioni di VS Code, le estensioni dei browser e ora i marketplace cresciuti intorno ai tool di coding AI. La superficie d'attacco non è il modello. È l'installer.
Quello che ha reso notevole questo caso è il branding. Un'estensione che porta il nome di un prodotto AI noto, in un marketplace dove la maggior parte degli utenti sta cercando esattamente quel prodotto, è una scorciatoia di fiducia contro cui è difficile difendersi. È il nome a fare l'ingegneria sociale.
Com'è stata la reazione
L'elenco è stato rimosso e Cursor ha pubblicato un conteggio utenti. I vendor di sicurezza hanno pubblicato indicatori. Anthropic, secondo la copertura, non era la parte che aveva distribuito la build difettosa: l'estensione sul marketplace di Cursor era un canale di distribuzione separato da quello di Anthropic.
La distinzione conta per le colpe ma non per il rischio. Dal punto di vista di uno sviluppatore, «ho installato l'estensione Claude Code dal marketplace dentro il mio editor» è una singola azione, e la catena di custodia dietro è invisibile.
Cosa fare questa settimana
Se usi Cursor, o qualsiasi editor con un marketplace di terzi, questa è una buona settimana per fare tre cose noiose.
Primo: elenca le estensioni installate e controlla i publisher. Non i nomi — i publisher, e idealmente la fonte di installazione. Tutto quello che non riconosci, rimuovilo. Tutto quello che duplica funzionalità che hai già da una fonte first-party, rimuovilo.
Secondo: ispeziona ~/.ssh/authorized_keys sulle tue macchine di sviluppo. Stai cercando chiavi che non riconosci. Su un portatile che si connette solo verso l'esterno, quel file è spesso vuoto o inesistente, il che rende facile notare una voce inattesa.
Terzo: ruota le credenziali a cui quella macchina poteva arrivare. È il passo costoso, ed è quello che la gente salta. Se non puoi ruotare tutto, ruota le cose che farebbero più male: chiavi dei provider cloud, token dei registry di pacchetti e qualsiasi cosa con accesso in scrittura a un repo di produzione.
Per i team, aggiungine uno: fissare le versioni delle estensioni e installare da una lista revisionata invece di lasciare che ognuno installi quello che si classifica bene nella ricerca. È una policy che quasi tutti i team hanno già per le dipendenze npm e che quasi nessuno ha per i plugin dell'editor.
Perché nessuno se n'è accorto per mezza giornata
Dodici ore non sono molto in termini assoluti, ma sono tantissime nella vita di un canale di distribuzione. In quella finestra l'estensione era installabile, installabile significava eseguibile, ed eseguibile significava che ogni sviluppatore che ha cliccato installa durante una normale giornata lavorativa era potenzialmente esposto.
Il rilevamento, va notato, è arrivato da fuori. I vendor di sicurezza che monitorano comportamenti sospetti l'hanno segnalato; il marketplace no. Non è una critica a Cursor in particolare: è come funzionano questi ecosistemi. I registry sono ottimizzati per la disponibilità, non per il monitoraggio comportamentale continuo di ogni artefatto che ospitano. L'economia di scansionare in tempo reale ogni aggiornamento di ogni estensione è brutale, e l'incentivo a farlo è debole finché qualcosa non si rompe.
Il ripristino è stato più veloce del rilevamento. Elenco ritirato, advisory pubblicati, indicatori condivisi. Ma la sequenza conta: prima l'esposizione, poi la spiegazione. Per chi ha installato durante la finestra, l'informazione utile è arrivata dopo la decisione che contava.
La conclusione scomoda
La categoria dei tool di coding AI ha passato due anni a competere sulle capacità: finestre di contesto, loop degli agenti, quanti file la cosa riesce a modificare senza perdere il filo. Ha passato quasi zero tempo a competere sull'integrità della supply chain, perché fino a oggi il modello di minaccia era «il modello scrive codice brutto», non «l'estensione è malware».
Cinquemila macchine e dodici ore sono un incidente piccolo per gli standard dell'ultimo decennio di attacchi alla supply chain del software. È anche un'anteprima. Il prossimo sarà un server MCP, o un pacchetto di skill, o un plugin che un agente popolare consiglia per nome. Il pattern è lo stesso: un nome di fiducia, un canale di distribuzione con verifiche leggere e un payload che non ha bisogno di essere rumoroso.
La lezione non è «non usare le estensioni». È che «ufficiale» in un elenco di marketplace non significa praticamente niente, e l'unica difesa che scala è trattare i plugin dell'editor con lo stesso sospetto che applichi già a un npm install a caso da un pacchetto di cui non hai mai sentito parlare.
Articoli correlati
Meta testa le sue app AI più strane prima nel Sud-Est asiatico
Un camerino AI in Indonesia, Singapore e Thailandia. Un diario per animali nelle Filippine. Nessuno dei due è stato annunciato, e il punto è proprio questo.
Ollie aveva la SOC 2 e 7,5 milioni di dollari. E non è riuscita a superare Muse
Un assistente familiare privacy-first con un seed guidato da Khosla e un vero audit SOC 2 chiude il 6 novembre. La lezione non riguarda la privacy. Riguarda la distribuzione.
Runware vuole costruire data center come Detroit costruiva le auto
Trenta megawatt al giorno entro il 2028, pod online in 48 ore, un gigawatt al mese. Il vincolo sulla capacità AI ha smesso di essere i chip ed è diventato i due anni che servono per costruire un edificio.
Genspark ha trasformato una troupe in un menù
Tre modelli linguistici dirigono, settanta versioni di modelli eseguono, e il tuo lavoro diventa trentacinque approvazioni di fila. Come ci si sente davvero a produrre video orchestrati.