Ad aprile 2026 WordPress.org ha chiuso 31 plugin in un colpo solo. Insieme, contavano più di 20.000 siti attivi. Dentro c'era un malware costruito con una furbizia nuova: il suo centro di comando non vive su un server, e nemmeno su un dominio. Vive su Ethereum.
Se hai un sito WordPress, questa storia ti riguarda anche se non hai mai sentito la parola blockchain. Perché cambia il modo di difendersi, e i vecchi riflessi — blocca il dominio, segnala il server — qui non servono a niente.
Prima cosa: che cos'è un C2
C2 sta per command-and-control. È il filo che lega il malware a chi lo controlla.
Quando un sito viene infettato, il codice malevolo non fa quasi mai tutto da solo sul momento. Aspetta ordini. "Reindirizza i visitatori a questo sito spam." "Scarica questo secondo file." "Ruba i dati di chi paga e mandali qui." Gli ordini arrivano da fuori, da una macchina che l'attaccante controlla. Quella macchina è il C2.
Per anni il C2 è stato il punto debole degli attaccanti. Il malware doveva contattare qualcuno per sapere cosa fare, e quel qualcuno si poteva scoprire. Un dominio tipo evil-commands.ru, un server con un IP preciso. Una volta trovato, lo blocchi. Segnali il dominio al registrar, che lo sospende, e da quel momento il malware sui siti infetti resta muto. Non riceve più ordini, e diventa quasi innocuo.
Questo era il meccanismo di difesa. Tagli il filo, e il pupazzo cade.
Perché la blockchain rompe questo meccanismo
Ora arriva la mossa nuova. Invece di scrivere l'indirizzo del C2 dentro il codice, il malware lo va a leggere da uno smart contract su Ethereum.
Uno smart contract è un pezzo di programma che vive sulla blockchain. Ci puoi scrivere dei dati, e chiunque può leggerli. Nel caso di questo malware, dentro il contratto c'era scritto l'indirizzo aggiornato del server di comando. Il codice sul sito infetto interrogava il contratto, ne tirava fuori l'indirizzo, e da lì andava a prendere gli ordini.
Il trucco sta tutto qui. La blockchain non si spegne, e non si blocca.
Un dominio ha un proprietario e un registrar, e quel registrar lo può sospendere. Un server ha un hosting, e l'hosting lo può staccare. La blockchain di Ethereum non ha niente di tutto questo. Gira su decine di migliaia di computer sparsi per il mondo, nessuno la comanda, e i dati scritti dentro non li cancella nessuno. Puoi denunciare il contratto quanto vuoi: resta lì.
C'è di peggio. L'attaccante può aggiornare l'indirizzo scritto nel contratto quando gli pare. Se il primo server di comando viene scoperto e chiuso, gli basta scrivere nel contratto l'indirizzo del secondo. I siti infetti leggono il valore nuovo alla chiamata dopo, e ripartono. Chi difende ha tolto una testa, e ne sono spuntate due.
Aggiungici che le chiamate di lettura a un contratto Ethereum passano da servizi ordinari, gli stessi che usano app legittime a migliaia. Il traffico si confonde con quello buono. Un firewall che vede il tuo sito parlare con un endpoint blockchain non ha modo ovvio di capire se è un'app di finanza decentralizzata o una backdoor.
Come ci finisce, questo malware, sul tuo sito
Il vettore era la supply chain: non ti hanno attaccato il server, ti sei portato in casa un plugin infetto — uno dei 31. Lo installi in buona fede, magari è pure utile, e la backdoor entra insieme a lui.
Ecco perché questa chiusura conta più del solito. Non serve che qualcuno prenda di mira proprio te. Basta aver installato uno dei plugin sbagliati, e l'infezione arriva con l'aggiornamento, dalla porta principale.
I 31 plugin sono stati rimossi dalla directory ufficiale. Se ne avevi uno installato, la rimozione dallo store non pulisce il tuo sito: il file infetto resta dov'è, sul tuo server, e continua a leggere ordini dal contratto.
Cosa fare, in concreto
Qualche passo che puoi fare oggi, senza essere un tecnico.
- Guarda la lista dei plugin. Se uno è sparito dalla directory di WordPress.org, o è marcato come chiuso, trattalo come sospetto. Un plugin tolto dallo store non riceve più correzioni di sicurezza, e in un caso come questo la rimozione è il segnale che qualcosa non andava.
- Disinstalla, non solo disattiva. Disattivare un plugin lascia i file sul server. Un file malevolo può girare lo stesso. Rimuovi del tutto quelli che non usi o di cui non ti fidi.
- Controlla le chiamate in uscita. Se il tuo sito, senza un motivo chiaro, contatta endpoint di reti blockchain, è un segnale che vale la pena indagare. Da soli è difficile accorgersene, serve chi sa leggere i log.
- Aggiorna tutto dalla fonte ufficiale. Plugin, tema, WordPress. E scarica solo dalla directory ufficiale o dal sito del produttore, mai da pacchetti "premium gratis" trovati in giro: è lì che la supply chain si avvelena più spesso.
- Se il sito si comporta in modo strano — redirect a pagine che non conosci, rallentamenti, avvisi del browser — fermati e fallo guardare. L'infezione moderna sta zitta finché può, proprio per restare più a lungo.
Il punto scomodo
Il malware su blockchain ha già girato su 20.000 siti, e adesso la tecnica è pubblica. Altri la copieranno. La difesa che funzionava — trova il dominio, bloccalo — contro un C2 su Ethereum si arena.
Resta da spostare la guardia più indietro. Impedire che il malware entri, e accorgersi in fretta quando qualcosa cambia sul sito. Vale a dire controllare i plugin prima di installarli e tenere d'occhio i file che si modificano da soli.
Noi di WPSonar lo facciamo di mestiere, in automatico. Sorvegliamo i file, confrontiamo i plugin con le liste di vulnerabilità note, facciamo scattare un allarme quando il tuo sito comincia a parlare con indirizzi che non dovrebbe contattare. Se preferisci non pensarci, ci pensiamo noi.