Uno script legato al sistema di chat per l’assistenza clienti Udesk conteneva codice iniettato che raccoglie dati di accesso e sostituisce gli indirizzi di deposito crypto: lo ha dichiarato martedì 27 ottobre la società di sicurezza blockchain SlowMist in un rapporto di threat intelligence pubblicato su Medium alle 10:06 UTC. SlowMist ha analizzato due file, udeskApi.2026-10-16.cached.js e deeps.js. Nelle pagine di deposito di tre siti in stile exchange, smart contract holding reserves of two or more tokens, supplied by users, that a decentralized exchange uses to execute trades automatically at a price set by a formula.">pool diverge, compared with simply holding the same tokens in a wallet. It becomes permanent when the provider withdraws.">il secondo file cambia sia l’indirizzo mostrato all’utente sia quello che l’utente copia, quindi incollare e confrontare non basta più a scoprire lo scambio. Udesk non ha rilasciato commenti.
SlowMist ha pubblicato anche i sei indirizzi di ricezione scritti nel codice. Due risultano già utilizzati. I registri pubblici della blockchain, consultati da Coindaro alle 11:53 UTC del 27 ottobre, mostrano che l’indirizzo TRON ha ricevuto 7.000 USDT il 18 ottobre ed è stato svuotato lo stesso giorno. Nei registri non c’è nulla che dica chi abbia inviato il denaro o perché, e SlowMist non segnala alcuna perdita.
Cosa ha trovato SlowMist: un loader nascosto in fondo allo script Udesk
Gran parte di udeskApi.2026-10-16.cached.js è normale codice di chat: il pulsante dell’assistenza, la finestra di conversazione, il tracciamento dei visitatori e la messaggistica, secondo SlowMist. Dopo la fine del blocco principale, nel file compare una funzione in più. Decodifica due stringhe, con esse costruisce un elemento script e lo aggiunge all’head della pagina.
Le stringhe sono scritte in esadecimale, due caratteri per lettera, perciò cercare un nome di dominio in chiaro non dà alcun risultato. Decodificata, la prima legge «script» e la seconda https[:]//udeskqlobal[.]com/deeps.js. SlowMist fa notare che il dominio inizia con «udeskq», cioè con una q dove il lettore si aspetta una g, e raccomanda di mantenere la grafia esatta nelle ricerche nei log. Il file remoto si carica in modo asincrono, senza rallentare la pagina.
La data nel nome del file è semplicemente parte del nome. SlowMist non dice quando il codice sia stato aggiunto, come sia entrato nel file né da dove provengano i campioni. La finestra di chat gira in un iframe, ma SlowMist precisa che qui non offre alcuna protezione: uno script caricato nella pagina ospite ha gli stessi accessi della pagina, qualunque cosa faccia la finestra di chat.

Deeps.js raccoglie i dati di sessione su ogni pagina in cui arriva
Il payload comincia leggendo il nome host del sito e confrontandolo con le regole per tre siti. SlowMist ha verificato dove lo script si ferma per qualsiasi altro sito, e ha scoperto che il codice di raccolta dei dati viene eseguito prima di quel controllo. Quindi il furto dei dati di sessione non si limita ai tre bersagli. Lo scambio degli indirizzi, invece, sì.
All’avvio, deeps.js legge i cookie visibili alla pagina, oltre a tutto il contenuto di localStorage e sessionStorage, i luoghi in cui molti siti conservano token di accesso e dati del profilo. I cookie contrassegnati HttpOnly restano fuori dalla sua portata, afferma SlowMist. Lo script aggiunge l’indirizzo e l’origine della pagina e invia il pacchetto a udeskqlobal[.]com/c.php.
Poi resta in attesa. Quando un modulo viene inviato, ne copia tutti i campi non vuoti, che possono includere nomi utente, password e codici monouso, e lascia che l’invio prosegua normalmente. Inoltre avvolge le funzioni fetch e XMLHttpRequest del browser e copia il corpo di ogni richiesta il cui indirizzo contiene parole come login, signin, auth, register, signup o password.
Un token di sessione valido può permettere a qualcuno di agire al posto dell’utente senza conoscere la password, ed è per questo che SlowMist mette in guardia da impersonificazione della sessione e furto di account. Se il caricamento su c.php fallisce, lo script riprova con una richiesta di immagine, tagliata a 8.000 caratteri. SlowMist aggiunge un dettaglio per chi legge i log del browser: un errore CORS nella console non significa che i dati siano rimasti dove erano, perché la richiesta può partire prima che il browser blocchi la risposta.
Su tre pagine di deposito gli indirizzi vengono riscritti ogni 200 millisecondi
Le tre regole corrispondono a mgbx[.]com e bitxex[.]io. SlowMist scrive il terzo come «bikingex[.]», senza terminazione, sia nelle regole sia nel proprio testo, quindi il dominio completo non è pubblico. Secondo SlowMist, le regole non hanno ancoraggi di inizio o fine, perciò possono corrispondere a più nomi host di quei tre nomi esatti. Cercano anche parole come deposit, recharge e assets in qualunque punto dell’indirizzo della pagina.
Quando la pagina e il formato dell’indirizzo corrispondono, lo script esegue una scansione cinque volte al secondo e sostituisce ogni indirizzo di deposito che riconosce con uno di sei valori impostati nel codice, etichettati BTC, EVM, TRON, Solana, LTC e DOGE. Si basa solo sull’aspetto dei caratteri. Non verifica la rete scelta dall’utente né il checksum dell’indirizzo, e potrebbe riscrivere anche normali numeri d’ordine che somigliano a indirizzi.
Per la copia le trappole sono tre. La funzione degli appunti del browser è avvolta, così tutto ciò che un sito vi scrive passa prima dalla routine di sostituzione, su qualsiasi pagina di un host corrispondente. I pulsanti di copia della pagina vengono clonati e sostituiti con pulsanti che copiano l’ultimo indirizzo sostituito dallo script. Infine un listener di copia sulle pagine di deposito inserisce quello stesso indirizzo negli appunti, qualunque testo l’utente avesse selezionato.
SlowMist ha trovato anche un bug: una chiamata cerca una proprietà di testo nel posto sbagliato e genera un errore, che lo script ignora in silenzio. Lo scambio non si interrompe, perché a quel punto il timer di scansione e gli hook sugli appunti sono già attivi.
Nessuna fonte dice se i tre siti abbiano distribuito lo script ai propri utenti, per quanto tempo, né se i loro gestori ne siano al corrente. Nessuno dei tre ha commentato nelle cronache che Coindaro ha trovato.
Cosa mostrano sulla blockchain gli indirizzi degli attaccanti
SlowMist elenca i sei indirizzi come indicatori di compromissione. Coindaro li ha cercati sugli explorer pubblici alle 11:53 UTC del 27 ottobre.
| Rete | Indirizzo nell’elenco di SlowMist | Attività rilevata |
|---|---|---|
| TRON | TH4L5YAhhxtC8qALbZKbPZZgausbGi25nF | 7.000 USDT ricevuti alle 04:46 UTC del 18 ottobre; tutto inoltrato entro le 18:58 UTC; saldo USDT ora pari a zero |
| EVM (verificato su Ethereum) | 0x9B6EcD0023a28E1391c5124eCe578A9751A337b2 | Circa 2,81 ETH ricevuti tra le 19:00 e le 19:03 UTC del 18 ottobre, 2,806 ETH inviati a un router MAYAChain entro le 19:10 UTC |
| Bitcoin | bc1qhzppfj69ywp22swj50jwcfxdamg3ym245srng9 | Nessuna transazione |
| Solana | AFmCUe3nNbjTaC585CcdA3vvC9iWVR8YunooFKpaQx2Z | Nessuna transazione |
| Litecoin | ltc1qwz0zp39ywl34kahvn9lyk7j5x63wsy9tcxhm3w | Nessuna transazione |
| Dogecoin | DAoy2w8uvFtZ92q87s9qKEoHbWgV7mVThj | Nessuna transazione |
I due indirizzi utilizzati sono stati attivi la stessa sera, due giorni dopo la data che compare nel nome del file. Il pagamento in ETH più consistente è passato dal contratto di swap SwftSwap. Questi registri mostrano denaro in movimento, non di chi fosse: i 7.000 USDT potrebbero provenire da una vittima, da una prova dell’attaccante o da altro. Gli indirizzi EVM funzionano su molte catene, ed è stata controllata solo Ethereum.
Perché incollare e confrontare l’indirizzo non basta contro una pagina manomessa
Lo scambio di indirizzi non è una novità. Il malware per gli appunti, spesso chiamato clipper, gira su un computer infetto e sostituisce qualsiasi indirizzo crypto copiato dall’utente. L’address poisoning, di cui parliamo nella nostra guida ad airdrop falsi e indirizzi avvelenati, inserisce indirizzi simili a quelli veri nella cronologia di un wallet. Contro entrambi, il consiglio abituale è confrontare l’indirizzo incollato con quello mostrato dall’exchange.
Quel consiglio presuppone che la pagina dell’exchange sia onesta. Qui il codice gira dentro la pagina, quindi scrive sia ciò che la pagina mostra sia ciò che produce il pulsante di copia. Secondo SlowMist, chi confronta i due valori può vedere lo stesso indirizzo alterato. Per un controllo utile serve una fonte che lo script non può toccare, come l’app mobile dell’exchange o un secondo dispositivo. Il nostro approfondimento su come funzionano formati e reti degli indirizzi crypto spiega cosa confrontare.
Il caso ruota attorno al codice esterno. I siti caricano script già pronti per chat, analisi o pagamenti, e il browser concede loro gli stessi diritti del codice del sito. Basta modificare il file e ogni pagina che lo carica esegue la nuova versione. SlowMist invita i gestori a ispezionare hosting, rete di distribuzione, build e impostazioni di tag management, ma non dice quale di questi sia stato il punto d’ingresso, né quanti clienti di Udesk abbiano ricevuto il file alterato.
Cosa controllare se hai usato una di queste pagine di deposito
I consigli di SlowMist sono pensati per i gestori dei siti. Per gli utenti si riducono a questi passaggi:
- Rileggi l’indirizzo di deposito nell’app mobile dell’exchange o su un secondo dispositivo, oltre che sulla pagina web.
- Invia prima un piccolo importo di prova e aspetta che l’exchange lo accrediti prima di mandare il resto.
- Se hai effettuato l’accesso a mgbx[.]com, bitxex[.]io o a un altro sito con il widget di chat Udesk, esci da tutte le sessioni, poi cambia password e impostazioni dell’autenticazione a due fattori da un dispositivo pulito.
- Revoca le chiavi API e le sessioni aperte su quegli account e controlla nella cronologia delle transazioni eventuali trasferimenti che non hai fatto tu.
Un hardware wallet aggiunge un controllo che la pagina non può falsificare, perché il suo schermo mostra l’indirizzo per cui stai per firmare. Serve però solo se lo confronti con un indirizzo ottenuto da un canale affidabile. La nostra guida passo passo alla configurazione di un hardware wallet spiega come leggere quello schermo. Questa osservazione è di Coindaro, non di SlowMist.

Per i siti che incorporano Udesk
SlowMist raccomanda ai gestori che caricano ancora i file interessati di conservare una copia di ciò che è stato effettivamente servito, con catene di richieste, dati della cache e timestamp, prima di bloccarli. Suggerisce di cercare nei log il dominio, entrambi i percorsi e gli hash dei file, oltre alla stringa esadecimale e all’indirizzo in chiaro. Indica hash SHA-256 che iniziano con 45b4e8f1 per udeskApi.2026-10-16.cached.js e con 57c1441c per deeps.js.
Rimuovere il tag script non basta, avverte SlowMist: gli hook e i timer già installati continuano a funzionare finché la pagina non viene chiusa del tutto. Le sessioni vanno revocate, e token e password sostituiti da un ambiente pulito, mentre gli indirizzi di deposito vanno confrontati con i registri del back-end. SlowMist consiglia inoltre controlli su origine e integrità degli script e regole di uscita, tra cui connect-src e img-src, che blocchino udeskqlobal[.]com. Gli indicatori sono stati aggiunti al suo motore di rilevamento MistEye.
Udesk non ha commentato e le domande principali restano aperte
Udesk non ha pubblicato alcuna dichiarazione, e non ne compare nessuna nelle cronache in inglese e in cinese. TechFlow e ChainCatcher hanno rilanciato le scoperte di SlowMist il 27 ottobre senza aggiungere analisi proprie. Restano ignoti: come sia stato alterato il file, se Udesk lo abbia servito a tutti i suoi clienti, per quanto tempo sia rimasto online e il nome completo del terzo sito.
Chi in Italia usa piattaforme di piccole dimensioni può verificarle prima di depositare nell’elenco degli avvisi della Consob e nel registro dei prestatori di servizi per le crypto-attività tenuto dall’OAM. La nostra guida per evitare le truffe crypto indica dove segnalare una piattaforma sospetta. Le prossime cose da seguire sono una dichiarazione di Udesk e un eventuale aggiornamento di SlowMist su come il file sia stato alterato.
