
Malware npm nasconde download per Windows nell’installazione delle dipendenze
Un malware npm presente in otto pacchetti distribuisce strumenti di controllo remoto e programmi per il furto di dati sui sistemi Windows; secondo il rapporto originale, tre pacchetti sono ancora disponibili.
Un malware npm nascosto in pacchetti software distribuisce strumenti di controllo remoto e programmi per il furto di informazioni sui computer Windows, secondo una ricerca di CloudSEK e Checkmarx. Le due aziende chiamano la campagna MALFEX e ritengono che un unico operatore sembri aver pubblicato 12 pacchetti dall’agosto 2023, otto dei quali identificati come dannosi. Per le aziende che utilizzano npm, un servizio per distribuire software JavaScript riutilizzabile, il rischio risiede nel software installato dagli sviluppatori, non soltanto nel sito web finito.
Gli otto pacchetti identificati sono tlxbnhd, tldriver, mxdriver, img-to-native, native-runner, function-flag, function-color e cdn-img-fetch. Il rapporto originale indica function-flag, function-color e cdn-img-fetch come ancora disponibili. Complessivamente, gli otto pacchetti hanno registrato 40.767 download, di cui 37.419 per il solo function-flag. Si tratta del numero di download, non di un totale accertato di computer infetti o aziende colpite.
Function-flag è stato pubblicato inizialmente nel luglio 2024 e la sua versione più recente citata nel rapporto risale al 4 agosto 2025. La descrizione del progetto contiene un messaggio di benvenuto in portoghese che attribuisce il lavoro al team Malfex e indica Murizada come proprietario. Questa presentazione apparentemente normale del pacchetto accompagna codice in grado di scaricare ed eseguire software aggiuntivo durante l’installazione.
I ricercatori descrivono tre modalità di distribuzione: un loader, cioè un software che avvia un altro programma dannoso, per il trojan di accesso remoto (RAT) Overlord; una modalità che distribuisce il programma per il furto di informazioni movinlike; e un downloader che scarica un ulteriore payload, ossia un programma utilizzato nell’attacco. Un RAT consente a un operatore di controllare a distanza un computer compromesso. Overlord è un software liberamente disponibile, scritto nel linguaggio di programmazione Go, e utilizza transazioni sulla blockchain Solana per ottenere il proprio indirizzo di comando e controllo, la destinazione attraverso cui un attaccante impartisce istruzioni al malware.
Tre pacchetti, tlxbnhd, tldriver e mxdriver, fungono da loader per Overlord. Utilizzano hook del ciclo di vita, script che vengono eseguiti automaticamente in determinate fasi dell’installazione o dell’utilizzo di un pacchetto, per scaricare ed eseguire un programma Windows. Questo è il rischio principale di questa campagna di malware npm: l’installazione di un componente software può anche avviare codice che chi lo installa non intendeva eseguire.
Un’altra modalità coinvolge pacchetti tra cui img-to-native, che si appoggia a cdn-img-fetch per scaricare ed eseguire un programma scritto in Go. Questo programma scarica poi movinlike, un programma per il furto di informazioni realizzato con Node.js, un software che esegue JavaScript al di fuori di un browser web. Il programma prende di mira informazioni sensibili associate a Discord, browser web, Telegram e portafogli di criptovalute. La fonte non quantifica le informazioni sottratte né identifica singole vittime.
Function-flag ha un hook postinstall, uno script automatico eseguito dopo l’installazione, che esegue codice JavaScript per scaricare un altro programma da un server remoto. I ricercatori hanno rilevato che versioni diverse del pacchetto utilizzavano percorsi di download diversi. Function-color non contiene un proprio payload; dichiara invece function-flag come dipendenza, un pacchetto separato che viene installato perché richiesto da un altro pacchetto. Controllare soltanto il pacchetto scelto intenzionalmente da uno sviluppatore può quindi lasciare inosservato il componente responsabile del download.
Checkmarx indica la versione 1.7.3 come la più recente nella propria analisi. Il suo script postinstall esegue example.js, che richiama una funzione per creare immagini a partire da caratteri di testo con un’impostazione del carattere chiamata Bloody. Questa impostazione attiva una routine di download nascosta. La routine scarica node.exe da cdnzona.discloud.app, ospitato su un servizio brasiliano di hosting per applicazioni, lo salva in %APPDATA%\node.exe, nella posizione riservata ai dati delle applicazioni dell’utente Windows, e lo avvia con la finestra nascosta. Il solo nome del file non deve essere considerato una prova che il programma scaricato sia software Node.js legittimo.
CloudSEK indica materiale in lingua portoghese, uno scostamento di fuso orario pari a -0300 nei commit git, che registrano le modifiche al software, e uno pseudonimo comune in Brasile presente nel nome visualizzato su GitHub e nell’indirizzo email dell’operatore come indizi del suo contesto linguistico. Precisa esplicitamente di non considerare questi indizi una prova che il Brasile sia il bersaglio. Secondo CloudSEK, la distribuzione coinvolge npm e Discord, entrambi servizi globali, e il malware distribuito successivamente colpisce in modo opportunistico. L’ipotesi che il responsabile sia una sola persona rimane una valutazione, non un’identità accertata.
Per i proprietari di siti web, la questione pratica è capire se chi si occupa della manutenzione del sito o del software aziendale abbia installato questi pacchetti su un computer Windows. Il rapporto descrive modalità di infezione di Windows, non dimostra che ogni sito web che utilizza JavaScript sia compromesso. Chiedete allo sviluppatore responsabile o al fornitore di servizi informatici di controllare sia i pacchetti scelti direttamente sia quelli aggiuntivi che vengono installati insieme a essi. I servizi informatici, infrastrutturali e di consulenza di AEU-I, che mettono la sicurezza al primo posto, sono pertinenti per le aziende che cercano assistenza nella verifica di questo tipo di rischio legato alle dipendenze software. Se viene trovato uno dei pacchetti elencati, fate esaminare il computer interessato, senza presumere che la rimozione del pacchetto elimini anche i programmi che ha già scaricato.
Come Proteggerti
- Inviate gli otto nomi dei pacchetti riportati in questo articolo allo sviluppatore del vostro sito web o al vostro fornitore di servizi informatici e chiedete se ne sia stato installato qualcuno, anche automaticamente insieme ad altro softw
- Chiedete al vostro sviluppatore di smettere di utilizzare qualsiasi pacchetto elencato finché il vostro fornitore di servizi informatici non avrà controllato il computer Windows interessato.
- Se il vostro fornitore di servizi informatici conferma un’infezione, utilizzate un dispositivo diverso e affidabile per cambiare le password degli account usati su quel computer.
- Attivate l’accesso in due passaggi nelle impostazioni di sicurezza dei vostri account email, Discord e Telegram, dove disponibile.
I Termini Spiegati
- npm Un servizio che gli sviluppatori utilizzano per ottenere e condividere pacchetti software JavaScript riutilizzabili.
- remote access trojan (RAT) Un programma dannoso che consente a qualcun altro di controllare a distanza un computer infetto.
- lifecycle hooks Istruzioni automatiche che vengono eseguite in fasi prestabilite durante l’installazione o l’utilizzo di un pacchetto software.
- dependency Un pacchetto software aggiuntivo di cui un altro pacchetto ha bisogno per funzionare.
- postinstall hook Un’istruzione che viene eseguita automaticamente dopo l’installazione di un pacchetto software.
- command-and-control address Una destinazione online che il malware utilizza per ricevere istruzioni da chi lo gestisce.
- information stealer Un software dannoso progettato per raccogliere informazioni private da un computer.