Nella notte del 30 luglio un’operazione automatizzata ha prosciugato 500 indirizzi single-sig in quattro blocchi consecutivi. Gli indizi convergono su chiavi private nate deboli. Tra le vittime nessun wallet multisig e nessun indirizzo taproot.
Alle 01:36 UTC di giovedì 30 luglio il blocco 960188 della blockchain Bitcoin contiene le prime 63 transazioni di quello che, quindici minuti più tardi, si rivelerà uno dei furti più chirurgici mai osservati on-chain. In quattro blocchi consecutivi, dal 960188 al 960191, 500 transazioni svuotano 500 indirizzi distinti: 1.324 UTXO per un totale di 594,5 BTC, circa 38 milioni di dollari ai prezzi correnti. Alle 01:51 UTC è già tutto finito: nello stesso blocco che conferma le ultime sweep, l’attaccante ha consolidato 562 BTC su un nuovo indirizzo, dove al momento della scrittura sono ancora fermi.
L’analisi condotta da Atlas21 sui dati di mempool.space restituisce il profilo di un’operazione pianificata nei dettagli. Ogni transazione di sweep corrisponde a un indirizzo vittima: 419 indirizzi avevano un solo UTXO, ma uno ne aveva accumulati 200, un altro 105, pattern tipico di chi riceve acquisti ricorrenti o prelievi automatici da exchange sempre sullo stesso indirizzo. La perdita mediana per vittima è di 0,41 BTC (circa 26.500 dollari), 110 vittime hanno perso più di 1 BTC e la più colpita ne ha persi 29,9, quasi 2 milioni di dollari. Un dato salta all’occhio: nessuna vittima ha perso meno di 0,15 BTC. Questo suggerisce che l’attaccante potrebbe aver filtrato i bersagli per saldo minimo. Per l’intera operazione ha speso circa 0,044 BTC di fee.
Il primo a dare l’allarme pubblico è stato una vittima. Alle 13:19 UTC un utente pubblica su Reddit un post intitolato “Full panic – one of my wallets was drained”. La sua storia viene ricostruita nei commenti: un Coldcard comprato nel 2021, seed phrase mnemonica da 24 parole generata sul dispositivo, i risparmi trasferiti sopra e poi anni di quiete. A gennaio 2025 compra un secondo Coldcard e reinserisce la mnemonica del 2021, “per essere sicuro che le parole fossero giuste”. Il seed, racconta, non ha mai toccato un computer: solo il dispositivo, un wallet watch-only su Sparrow e prelievi automatici da un exchange sempre verso lo stesso indirizzo. Nella notte quell’indirizzo è stato svuotato insieme agli altri 499.
Quattro ore dopo, l’allarme
Alle 17:35 UTC Kevin Loaec, co-fondatore di Wizardsardine (l’azienda dietro il wallet Liana), chiede pubblicamente ai suoi follower con un Coldcard di controllare i saldi: “Spero sia un nulla di fatto, ma qui faccio il mio lavoro”. Un’ora e mezza dopo il tono cambia: “Questa non è un’esercitazione”. Le conferme arrivano da nomi noti dell’ecosistema: grubles, veterano della community, conferma un caso; Jameson Lopp segnala furti parziali, wallet a cui sono stati sottratti solo alcuni UTXO e non l’intero saldo. Loaec precisa che tra le vittime ci sono “più bitcoiner reali e conosciuti”: la pista del singolo utente sprovveduto non regge più.
La parola Coldcard, a quel punto, è già al centro della conversazione. NVK, fondatore e CEO di Coinkite, l’azienda che produce il dispositivo, risponde alle 18:10: “Non serve farsi prendere dal panico, qualcuno ha caricato un seed compromesso su un Coldcard e/o il suo seed è trapelato. Fa parte di un attacco più ampio che coinvolge 500 chiavi private di wallet diversi”. Al momento non esiste alcuna prova di un difetto del generatore di numeri casuali di Coldcard.
La pista dell’entropia debole
La prima analisi on-chain sistematica arriva da Rob Hamilton, CEO di AnchorWatch: 1.324 UTXO spazzati, osserva, datati dal 2021 al 2026, tutti da indirizzi single-sig, nemmeno uno taproot. La sua conclusione: “A prima vista, sembra esserci stata un’entropia difettosa nella generazione dei wallet da qualche parte lungo il percorso”. È l’ipotesi che regge meglio anche alla prova dei nostri dati. Se le chiavi private sono state generate con un generatore di numeri casuali debole – in una libreria software, in un secure element, in un lotto di dispositivi o in un firmware specifico – un attaccante può ricalcolarle una per una, senza bisogno di violare i dispositivi delle vittime.
È già successo: nel 2023 il caso Milk Sad ha esposto i wallet creati con Libbitcoin Explorer, che usava il timestamp come unica fonte di entropia, e la disclosure Randstorm ha rivelato che milioni di wallet browser generati tra il 2011 e il 2015 con BitcoinJS erano potenzialmente ricalcolabili. Appena tre settimane fa, il 10 luglio, la società di sicurezza Coinspect ha divulgato Ill Bloom: cinque implementazioni di wallet con generazione debole del seed, 5,1 milioni di dollari già rubati e uno sweep coordinato di 431 wallet in poche ore, il 27 maggio. La somiglianza strutturale con l’operazione del 30 luglio è evidente, anche se Coinspect esclude che Ill Bloom tocchi i wallet hardware e nessun ricercatore, per ora, ha collegato i due episodi.
Loaec spinge la teoria più in là: un RNG povero “in una libreria o nel secure element stesso” e un attaccante che capisce la vulnerabilità ma non conosce a fondo Bitcoin, al punto da usare uno script “scritto con l’AI” che deriva solo i percorsi BIP84 (native segwit) a profondità limitata. Spiegherebbe i furti parziali segnalati da Lopp. I dati on-chain raccolti da Atlas21 confermano il quadro quasi per intero, con una sfumatura: 490 dei 500 indirizzi svuotati sono effettivamente native segwit, ma ci sono anche 5 indirizzi legacy e 5 nested segwit. E la struttura stessa dell’attacco, una transazione per indirizzo invece di una per wallet, è coerente con chi possiede singole chiavi private ricalcolate più che interi seed ricostruiti. C’è anche un’ipotesi che i dati permettono di escludere, almeno per una parte delle vittime: il riuso del nonce nelle firme, il vettore che in passato ha svuotato wallet dopo transazioni in uscita, qui non può applicarsi ai wallet dormienti che non hanno mai firmato nulla.
Finché la causa esatta resta ignota, le contromisure circolate nelle ultime ore vanno prese per quello che sono: riduzione del rischio, con un margine di incertezza. Loaec avverte che nemmeno passphrase e generazione del seed con i dadi sono garanzie certe finché il vettore è sconosciuto e raccomanda il multisig, preferibilmente multi-vendor: qualunque cosa sia successa, tra i 1.324 UTXO rubati non c’è un solo multisig. Lopp invita chi trova ammanchi a segnalarli per allargare il campione. Chi detiene fondi su single-sig generati in condizioni anche solo dubbie, in particolare tra il 2021 e oggi, ha un motivo concreto per migrare verso un setup nuovo, con un seed generato altrove.
Sull’indirizzo di raccolta restano 562 BTC immobili, più altri 32 sull’indirizzo di passaggio. L’attaccante non ha ancora mosso un satoshi verso exchange o mixer: il prossimo movimento di quei fondi sarà la prima vera traccia su chi possiede quelle chiavi.





