
Bitcoin Magazine
Caccia al Hacker di Coldcard. Il Ladro della Fase 1 Potrebbe Essere Conosciuto dall'FBI
Le forze dell'ordine potrebbero già sapere chi ha svuotato più di mille Bitcoin dai portafogli Coldcard nella prima e più grande ondata di drenaggi di luglio 2026. L'indagine di Block ritiene di aver tracciato i prelievi on-chain dell'attaccante a un account a pagamento presso un importante fornitore di dati blockchain i cui registri interni corrispondevano al modello di furto con "straordinaria specificità."
PSA: L'attacco è in corso, prendendo di mira chiavi private deboli generate su dispositivi vecchi come l'MK2 con firmware 4.0.1 e successivi. Se potresti averne una, controlla di nuovo e sposta i fondi il prima possibile. Vedi l'avviso e la pagina di stato di Coinkite.
I coin di quell'ondata—1.082,65 BTC—sono ancora fermi nell'indirizzo dell'attaccante, lasciando speranza che un recupero possa essere possibile per le vittime e i legittimi proprietari di quella prima ondata di bitcoin rubati. La domanda ora è, chi è l'hacker e se la stessa pista punti a un esterno sofisticato, o se il bug di entropia di cinque anni fa che ha reso possibile il furto fosse qualcosa di più vicino all'"attacco di pensionamento" interno di cui Coinkite stesso aveva avvertito.
Cosa Sappiamo
Il 30 luglio 2026, un attaccante ha iniziato a drenare sistematicamente Bitcoin dai portafogli hardware Coldcard che avevano generato seed sotto firmware vulnerabili, un bug che era rimasto sconosciuto per anni. Solo la prima e più grande ondata ha spostato 1.082,65 BTC. Onde successive sono seguite, con stime superiori a 2k BTC. Alex Thorn di Galaxy Research ha tracciato l'attività attraverso una combinazione di analisi dei modelli on-chain e rapporti volontari delle vittime. All'inizio di agosto, le perdite confermate e stimate attraverso più onde hanno superato 1.800 BTC da oltre 5.000 indirizzi, sebbene i totali finali esatti continuino a essere affinati man mano che arrivano nuovi rapporti. In termini di dollari, sono stati confermati rubati circa 118 milioni di dollari.
Thorn ha discusso pubblicamente della possibilità che le forze dell'ordine abbiano già un indizio concreto sull'operatore dietro il più grande lotto. In un segmento del Bitcoin Policy Institute ospitato sul canale YouTube di Bitcoin Magazine, Thorn ha dichiarato: “L'identità della prima ondata, l'identità dell'attaccante, potrebbe essere nota alle forze dell'ordine.” Ha aggiunto che la Wave 1 rimane il più grande singolo blocco identificato finora, con i coin ancora nel portafoglio dell'attaccante, e ha notato che il modello della Wave 2 sembra abbastanza simile da poter coinvolgere lo stesso attore. La Wave 2 aggiunge altri 76 bitcoin al totale.
La fonte principale per l'affermazione che l'identità dell'hacker potrebbe essere conosciuta è Clay Garrett, responsabile ingegneristico di Block che lavora su Bitkey. Il 31 luglio 2026, Garrett ha pubblicato i risultati dell'indagine di Block:
“Durante la nostra indagine sul drenaggio di Coldcard ieri, abbiamo identificato un modello insolito negli sweep. Quel modello ci ha portato a un'ipotesi che è stata successivamente confermata: l'operatore ha utilizzato un account a pagamento presso un noto fornitore di servizi blockchain per interrogare gli indirizzi sorgente e svolgere altre attività correlate durante gli sweep.”
“Abbiamo contattato direttamente il fornitore. I loro registri interni corrispondevano al flusso di lavoro sospetto con straordinaria specificità, inclusi il numero, il momento e la sequenza delle richieste. Il fornitore stava fornendo i suoi servizi standard in risposta a richieste che non rivelavano il loro scopo più ampio. Non abbiamo visto prove che il fornitore abbia partecipato consapevolmente o facilitato il furto sospetto.” ha detto Garrett, aggiungendo che; “Stiamo condividendo le informazioni pertinenti con le autorità competenti. Forniremo ulteriori aggiornamenti quando farlo non interferirà con l'indagine.”
Thorn e altri hanno notato che onde più piccole e successive mostrano schemi operativi diversi: alcuni drenaggi rapidi e opportunistici seguiti da un veloce riciclaggio, suggerendo che attori aggiuntivi potrebbero aver ingegnerizzato a ritroso lo stesso spazio di seed debole dopo la divulgazione pubblica iniziale. I drenaggi confermati auto-riferiti sembrano essere diminuiti bruscamente dopo il 6 agosto, anche se molti seed potenzialmente vulnerabili generati sul firmware interessato tra il 2021 e la patch di luglio 2026 rimangono a rischio fino a quando gli utenti non migrano.
Un Attacco di Pensionamento?
La natura del fallimento ha portato a teorie del complotto su attacchi interni di cui Coinkite stessa ha discusso pubblicamente. Nell'ottobre 2021, l'account ufficiale di COLDCARD ha definito un “attacco di pensionamento” come lo scenario “quando i creatori del progetto potrebbero avere un ‘bug’ nella generazione di entropia per un recupero successivo.”
Il cambiamento critico è entrato nel codice il 1 marzo 2021, in un commit intitolato “First pass w/ libNgU” (b18723dd). Quel commit ha sostituito la crittografia derivata da Trezor e il codice BIP-39 con una nuova libreria, libngu, e ha ricollegato la generazione di seed. Il risultato previsto era che la richiesta di casualità si risolvesse nel generatore di numeri casuali vero dell'hardware STM32. Tuttavia, il bug ha reindirizzato la chiamata al PRNG software Yasmarang di MicroPython, risultando in un collasso di entropia effettivo a circa 40 bit sui modelli più vecchi e circa 72 bit su quelli più recenti. Ciò significava che le chiavi private di Bitocin generate erano effettivamente indovinabili dall'hardware di calcolo moderno. Questo scambio di librerie crittografiche è stato spinto nel codice da Doc-Hex, noto anche come Peter Gray, il Chief Technical Officer di Coinkite.
La mossa è stata probabilmente guidata da pressioni di licenza, secondo il CEO e fondatore di Foundation Devices, Zach Herbert, anche se Coinkite ha negato che questo fosse un motivo principale per il cambiamento del codice, affermando: “COLDCARD doveva fare questo cambiamento per passare a libsecp256k1; il cambiamento di licenza è irrilevante per questo. libsecp256k1 è la libreria standard utilizzata da Bitcoin Core.”
Coldcard aveva utilizzato codice derivato da Trezor sotto la licenza open source GPLv3. Dopo che Foundation Devices ha forkato materiale correlato, Coinkite ha cercato di spostare i componenti rimanenti verso un accordo MIT + Commons Clause più restrittivo che limitava il riutilizzo commerciale. La riscrittura è stata ampia e ha comportato obiettivi ingegneristici complessi; è stata questa integrazione a lasciare, argomentabilmente, il fallimento silenzioso nel percorso di entropia.
Lo scetticismo riguardo alla migrazione lontano dalla libreria crittografica Trezor è emerso già il 7 aprile 2021, da un membro del gruppo Telegram di Coinkite, che ha scritto: “vogliamo davvero sostituire il codice TrezorCrypto vecchio di molti anni che è stato pesantemente scrutinato da white hatters come Johoe e testato per le vulnerabilità da wallet.fail”, aggiungendo “switch potrebbe essere un talentuoso coder pseudonimo, ma la sua storia di commit fa schifo.” Tuttavia, la critica è stata insufficiente e rapidamente respinta da NVK, che ha criticato la libreria Trezor come un “shitcoin shitshow.” Ironia della sorte, condividere quel codice con il mercato crittografico più ampio, sotto una licenza aperta, significava che la libreria crittografica di Trezor aveva una revisione del codice molto più profonda di quanto Libngu avrebbe mai ottenuto, anche anni dopo.
Switch e Peter Gray alias Doc-Hex
Lo scambio delle librerie crittografiche che ha introdotto il bug è stato spinto nel codice da Doc-Hex, il Chief Technical Officer di Coinkite, noto anche come Peter D. Gray. Ha sostituito la libreria di crittografia Trezor GPLv3 con Libngu, una base di codice poco conosciuta creata dal cosiddetto “Switch”, un nym che, fino alla creazione di Libngu, non aveva una storia precedente ovvia. L'account Switch è apparso su X il 3 agosto 2019 con un riferimento a DEFCON, la conferenza internazionale degli hacker, un evento normalmente frequentato da ingegneri della cybersecurity di ogni tipo.
Il 16 ottobre 2020, Switch ha ringraziato Doc-Hex su X per aver fuso il suo codice; “Grazie per la fusione @DocHex … Sto creando un'altra libreria bitcoin. Potrebbe essere utile su @COLDCARDwallet un giorno.” Pochi giorni dopo, Switch ha twittato un link a Libngu, orgoglioso di aver costruito una “cosa utile.”
Tuttavia, qui le cose si fanno strane. Secondo la ricerca del contributore del core di Bitcoin James O’Beirne, Switch e Peter D. Gray hanno firmato commit di codice con le stesse chiavi GPG. O’Beirne ha dimostrato attraverso le firme dei commit GPG che dozzine di commit firmati come switck erano stati firmati con la chiave personale di Peter D. Gray, co-fondatore e CTO di Coinkite, che opera anche come DocHex. Zach Herbert ha anche affermato che i numeri di telefono che terminano con le stesse due cifre erano legati sia agli account X di DocHex che di switck (post). Altri ricercatori hanno indicato schemi di registrazione DNS corrispondenti.
Né Gray né Coinkite hanno affrontato pubblicamente le scoperte relative alla firma GPG fino a questo momento, e non hanno risposto quando è stato chiesto di commentare l'argomento. L'account Switch è ancora attivo fino ad oggi, avendo fuso modifiche al codice in Libngu recentemente, il 17 agosto 2026.
Molti nell'industria del Bitcoin stanno interpretando questo come una sorta di prova tangenziale di illeciti. Perché andare fuori strada per creare un nym solo per una particolare libreria di crittografia? Questo è stato interpretato come una sorta di prova di malafede; tuttavia, un'analisi più profonda suggerisce il contrario. Se Gray avesse realmente inteso truffare gli utenti di Coldcard con questo bug RNG, avrebbe davvero firmato i commit con la sua chiave GPG personale? Potrebbe qualcuno essere così astuto da nascondere un bug per anni, aspettando che la sua adozione si diffondesse; eppure allo stesso tempo dimenticare di creare una firma GPG dedicata per il nym usa e getta? Non penso che abbia senso.
È più probabile che questa fosse un'identità casuale creata a DEFCON da Gray, probabilmente in un momento casuale di paranoia. Un'identità che ha continuato a usare per determinati progetti nel corso degli anni. Le identità pseudonime non sono insolite nei circoli degli sviluppatori di Bitcoin, dopotutto. Satoshi stesso rimane l'esempio più famoso. E quindi, di per sé, questa connessione tra Gray e Switch non equivale a molto nella ricerca dell'hacker di Coldcard.
Contributori di MicroPython
Un gruppo di altri sviluppatori open source è stato recentemente identificato come avente toccato o influenzato il codice che ha giocato un ruolo nel bug del RNG di Coldcard.
L'analista dei dati LaurentMT ha esaminato il lato MicroPython del percorso RNG. MicroPython è un'implementazione snella e open-source di Python 3, progettata per funzionare su microcontrollori e computer con risorse limitate. Il firmware di Coldcard ha infine chiamato il generatore di numeri pseudo-casuali (PRNG) Yasmarang di MicroPython come risultato del bug, portando a una generazione a bassa entropia.
Le modifiche al codice della logica PRNG in MicroPython sono iniziate il 20 agosto 2020, con il problema (#6347) aperto su GitHub da un utente di nome ‘mirko’. Si è lamentato che il suo hardware ESP32 restituiva sempre lo stesso risultato quando chiamava la funzione ‘random.choice()’ nel codice in un certo modo. Mirko si aspettava risultati casuali invece. Il problema di GitHub registra una discussione nei mesi successivi sul modo corretto di gestire la logica e il comportamento attesi, che Mirko ha rivelato avere un design controintuitivo.
Laurent sottolinea che “robert-hh ha inizializzato una [Pull Request] implementando la modifica del seme PRNG” il 22 agosto 2020. Dpgeorge, un manutentore di MicroPython, ha successivamente, il 29 ottobre 2020, fuso una versione leggermente modificata di quella pull request nel repository principale, implementando “il (UID+SysTick+RTC) per affrontare alcune limitazioni nella soluzione di robert-hh.”
Le modifiche a questo codice critico relativo al RNG erano quindi nel repository principale di MicroPython quando Coldcard lo forkò per essere utilizzato da Libngu, ma prima che MicroPython avesse effettuato un rilascio ufficiale di una nuova versione della libreria. Apparentemente, è considerato rischioso costruire sopra la versione master di un repository software, che è probabile stia evolvendo con modifiche al codice, piuttosto che costruire su una versione ufficiale e stabile. Il nuovo rilascio di MicroPython non è arrivato fino al 3 febbraio 2021, con la versione v1.14. Per di più, la modifica della logica RNG è stata menzionata solo brevemente nell'annuncio di rilascio, dicendo “il modulo urandom randomizzerà il suo seed all'importazione su stm32, esp8266, esp32 e porte rp2.”
Fonte: BitcoinMagazine




