L'hack di Coldcard dimostra che la reputazione non è un modello di sicurezza
Punti chiave
- •Gli attaccanti hanno sottratto quasi 114 milioni di dollari in bitcoin da oltre 709 indirizzi sfruttando una falla nel firmware di Coldcard che produceva seed di wallet con casualità insufficiente, con una prima operazione che ha svuotato circa 500 wallet in 25 minuti.
- •Il codice difettoso di generazione dei seed è stato introdotto in un commit di marzo 2021 — lo stesso commit che ha rimosso l'ultimo codice con licenza GPL — ed è rimasto visibile pubblicamente per oltre cinque anni senza che nessuno lo individuasse.
- •Alla fine del 2020 Coldcard è passata da una licenza GPL a una licenza con Commons Clause dopo che un concorrente ha costruito sul suo codice, e il FAQ stesso della Commons Clause afferma che il software risultante non è più open source.
- •I ricercatori di Shift Crypto, Nunchuk e del progetto WalletScrutiny che in precedenza avevano segnalato falle in Coldcard hanno affrontato derisione pubblica, messe in discussione delle loro competenze e minacce di azioni legali da parte del CEO di Coinkite Rodolfo Novak, il che, secondo l'autore, ha scoraggiato la revisione indipendente.
- •L'autore avverte che l'aggiornamento del firmware non può riparare i seed generati su versioni vulnerabili e che l'exploit ha innescato una più ampia crisi di fiducia nell'autocustodia del bitcoin.

L'hack di Coldcard dimostra che la reputazione non è un modello di sicurezza
Una comunità fondata sulla verifica ha passato cinque anni a delegare il proprio giudizio a un solo uomo, scrive il CEO di Foundation, Zach Herbert.
Gli attaccanti hanno ormai sottratto quasi 114 milioni di dollari in bitcoin da più di 709 indirizzi, sfruttando una falla nel firmware di Coldcard che generava seed di wallet con solo una frazione della casualità promessa. La prima operazione ha svuotato circa 500 wallet in 25 minuti. Il bug è entrato nella codebase a marzo 2021 ed è rimasto esposto alla pubblica vista, in open source, per più di cinque anni, a ricordare che il codice visibile non è la stessa cosa del codice revisionato.
Molti stanno spiegando cosa è successo. La domanda più difficile è perché nessuno lo abbia individuato — e la risposta coinvolge molto più di una riga di codice.
Il bug è rimasto pubblico per cinque anni
Il codice sorgente di Coldcard è sempre stato disponibile per l'ispezione. “Don't trust, verify” (non fidarti, verificare) funziona solo quando persone qualificate guardano davvero, e per cinque anni, di fatto, nessuno l'ha fatto.
La cronologia attorno all'introduzione del bug merita attenzione. Nel 2020, il firmware di Coldcard era distribuito con una licenza open source GPL. Due giorni dopo che un concorrente ha annunciato un dispositivo basato su quel codice GPL, il CEO di Coinkite, Rodolfo Novak, noto come NVK, ha dichiarato pubblicamente (in un tweet poi cancellato) di essersi pentito della scelta della GPL. Nel novembre dello stesso anno, Coldcard ha adottato una nuova licenza con la Commons Clause, il cui stesso FAQ afferma chiaramente che il software risultante non è più open source.
È seguita una riscrittura radicale, e il commit di marzo 2021 che ha eliminato l'ultimo codice GPL è lo stesso commit che ha compromesso la generazione dei seed. Nessuno può misurare quanto la pressione legata alle licenze abbia influenzato la portata o la velocità di quella riscrittura, e il rinnovamento perseguiva anche obiettivi tecnici legittimi. I fatti documentati sono più ristretti ma comunque gravi: una modifica della licenza volta a limitare i concorrenti ha preceduto la sostituzione frettolosa di codice crittografico collaudato, e la sostituzione conteneva la falla che ora sta svuotando i wallet. Nel software sensibile alla sicurezza, le modifiche che alterano licenze, proprietà del codice o processo di rilascio possono contare quanto il percorso del codice stesso, perché determinano quanti occhi restano puntati sul risultato finale.
I principi del software libero e open source esistono proprio per evitare che la sicurezza dipenda dalle scelte di una singola azienda. Quei principi non possono prevedere un'eccezione per una personalità.
Zach Herbert è cofondatore e CEO di Foundation.
I ricercatori hanno imparato a non guardare
Il fallimento più profondo riguarda ciò che è successo alle persone che hanno guardato. Nell'agosto 2020, ricercatori di Shift Crypto e Nunchuk hanno divulgato una falla di verifica multisig in Coldcard. Coinkite ha riconosciuto il bug e ha distribuito una correzione — e NVK, nel podcast Citadel Dispatch, ha contemporaneamente etichettato la divulgazione come “PR terrorism” (terrorismo PR) e messo in dubbio che un ricercatore senza un CVE potesse considerarsi un professionista. Nel 2023, quando il progetto WalletScrutiny ha segnalato problemi nel riprodurre le versioni precedenti di Coldcard, la risposta ha bollato il progetto come incompetente o malintenzionato e ha ventilato un'azione legale (post di follow-up). Un follow-up indipendente ha poi riscontrato effettivi problemi di riproduzione nelle versioni precedenti e ha concluso che nessuno aveva agito in malafede.
Ogni attacco pubblico a un ricercatore cambia i calcoli per il successivo. La revisione indipendente è lenta, difficile e in genere non retribuita. Un ricercatore che deve soppesare mesi di questo lavoro contro la prospettiva di derisione, blocklist e minacce legali spesso dedicherà il proprio tempo altrove. Nessuno può dimostrare che questa cultura abbia reso il bug di entropia invisibile. Ciò che si può affermare con certezza è che la sicurezza dipende dalla disponibilità delle persone a guardare — e l'ambiente attorno a Coldcard puniva chi guardava.
La reputazione è diventata la prova
Com'è arrivata fin qui una comunità il cui slogan fondativo è “don't trust, verify”? La psicologia ha dei nomi per questo. L'effetto verità illusoria fa sembrare confermate in modo indipendente affermazioni ripetute, anche quando derivano da un'unica fonte. L'effetto alone trasforma status, sicurezza di sé e prodotti popolari in presunta autorità tecnica. Anno dopo anno, le stesse affermazioni hanno viaggiato attraverso gli stessi podcast e feed: i critici erano shill, i ricercatori terroristi, i concorrenti cloni. La ripetizione ha fatto il lavoro che avrebbero dovuto fare le prove, e la fiducia è diventata un sostituto della prova.
Il risultato si descrive meglio come cattura epistemica: una comunità che delega gradualmente il proprio giudizio a un'autorità fidata finché l'autorità stessa non diventa la prova. Ben Perrin, conduttore di BTC Sessions, ha descritto il meccanismo con insolita onestà in una recente diretta, ammettendo di aver chiuso un occhio su quel comportamento perché presumeva che l'arroganza fosse confezionata insieme a una capacità superiore di creare e proteggere. Gran parte del settore ha fatto lo stesso calcolo. La crisi di fiducia che ora attraversa l'autocustodia è il conto che arriva a scadenza, perché utenti e sviluppatori devono ora distinguere la lealtà di marca di lunga data dalla verifica effettiva.
Verificare tutti
La prima priorità del settore dopo l'exploit sono gli utenti: divulgare le linee guida di migrazione e chiarire che l'aggiornamento del firmware non può riparare un seed generato su versioni vulnerabili. Poi arriva il lavoro dietro le quinte. Vecchie pagine di raccomandazioni, note degli episodi e guide ai prodotti contengono anni di affermazioni ripetute più che verificate, e meritano correzioni con fonti primarie allegate. I costruttori e i ricercatori che sono stati attaccati meritano lo spazio per spiegare il proprio lavoro. I media dedicati a Bitcoin devono tornare antagonistici, applicando ad amici, sponsor e inserzionisti lo stesso scrutinio riservato agli sconosciuti.
Bitcoin è stato progettato partendo dall'assunto che esperti e istituzioni prima o poi falliranno, e la sua risposta è stata rendere la fiducia superflua attraverso la verifica. La comunità che ha costruito strumenti incarnando quel principio ha esentato da esso le proprie voci più forti. La soluzione è l'istruzione fondativa, applicata questa volta senza favoritismi. Non fidarti del fornitore. Non fidarti dei critici del fornitore. Verifica.
Nota: Le opinioni espresse in questa rubrica sono quelle dell'autore e non riflettono necessariamente quelle di CoinDesk, Inc. o dei suoi proprietari e affiliati.