Sommario
Un’indagine di Socket ha rivelato una campagna malevola mirata al linguaggio di programmazione Go, con l’infiltrazione di pacchetti contraffatti che distribuiscono malware loader su sistemi Linux e macOS. Gli attaccanti hanno utilizzato la tecnica del typosquatting, pubblicando versioni alterate di librerie Go legittime per ingannare gli sviluppatori e compromettere i loro ambienti di sviluppo.
L’attacco ai pacchetti Go: la falsificazione della libreria Hypert
Gli hacker hanno clonato la popolare libreria Hypert, utilizzata per il testing delle API HTTP, rilasciando diverse varianti con nomi leggermente modificati. All’apparenza innocue, queste versioni malevole contenevano codice nascosto che consentiva l’esecuzione remota di comandi. Una delle funzionalità chiave individuate dagli analisti è stata la funzione qcJjJne()
, progettata per eseguire comandi shell malevoli. Una volta attivata, questa funzione avviava il download e l’esecuzione di uno script da alturastreet[.]icu, una piattaforma creata appositamente per ospitare il payload dannoso.

Gli sviluppatori che scaricavano inconsapevolmente questi pacchetti all’interno dei propri progetti si ritrovavano con un malware installato nei loro sistemi, in grado di eseguire codice arbitrario e compromettere l’integrità del software. L’analisi ha mostrato che il codice malevolo impiegava tecniche di offuscamento avanzato, utilizzando array di caratteri per nascondere comandi e ricostruirli dinamicamente durante l’esecuzione, rendendo così difficile il rilevamento da parte dei tradizionali strumenti di sicurezza.
L’uso di ELF binari per il controllo remoto e il mining nascosto
Il malware distribuito attraverso questi pacchetti includeva un file eseguibile ELF chiamato f0eee999, progettato per essere scaricato ed eseguito automaticamente all’interno del sistema compromesso. Questo file, una volta attivato, monitorava il sistema e poteva rimanere inattivo per un certo periodo prima di eseguire operazioni malevole. I ricercatori hanno scoperto che il malware si comportava in modo simile a un crypto miner o un loader, progettato per attivarsi solo in determinate condizioni e ridurre il rischio di rilevamento immediato.

Un altro elemento preoccupante è stata la scelta del dominio alturastreet[.]icu, che sembrava intenzionalmente selezionato per confondersi con il sito alturacu.com, un portale bancario legittimo. Questa mossa suggerisce che gli attaccanti potrebbero aver tentato di colpire specificamente utenti del settore finanziario, sfruttando la fiducia nei nomi di dominio familiari per facilitare il furto di dati.
Il targeting della libreria Layout e la persistenza della minaccia
Oltre alla compromissione della libreria Hypert, gli hacker hanno applicato lo stesso schema alla libreria Layout, una popolare dipendenza utilizzata in numerosi progetti Go. Il codice malevolo seguiva lo stesso modello identificato nei pacchetti falsificati di Hypert, utilizzando stringhe offuscate per mascherare la presenza di codice dannoso. Una volta installato, il malware scaricava lo stesso ELF binario f0eee999, garantendo agli attaccanti un controllo remoto persistente sulla macchina infetta.

L’adozione di più domini e il continuo rilascio di pacchetti falsificati indicano che si tratta di una campagna coordinata e ben strutturata. Gli autori delle minacce hanno dimostrato la capacità di adattarsi rapidamente, rilasciando nuove varianti ogni volta che un pacchetto compromesso veniva segnalato e rimosso.
Come proteggersi dagli attacchi typosquatting nei pacchetti Go
Gli sviluppatori devono adottare misure avanzate per difendersi da questi attacchi supply chain. È fondamentale verificare sempre l’origine delle dipendenze prima di installarle, evitando pacchetti con nomi simili a quelli legittimi e prestando particolare attenzione a quelli pubblicati di recente. L’utilizzo di strumenti di scansione in tempo reale può fornire una protezione aggiuntiva, individuando codice sospetto o comportamenti anomali all’interno delle librerie installate.
L’analisi del codice deve includere la ricerca di comandi exec.Command utilizzati per eseguire operazioni shell in background, oltre a monitorare eventuali richieste a domini sospetti. L’integrazione di strumenti di sicurezza come Socket Security nei flussi di lavoro di sviluppo può aiutare a individuare anomalie nei pacchetti Go prima che vengano inclusi in un progetto.
Le aziende devono implementare controlli rigorosi sui software di terze parti, monitorando le nuove pubblicazioni nei repository Go e bloccando automaticamente l’installazione di pacchetti potenzialmente compromessi. La consapevolezza dei rischi legati agli attacchi supply chain è essenziale per evitare che questi attori malevoli possano compromettere interi ecosistemi software attraverso l’inganno e la distribuzione di codice malevolo.