Skip to content
Blockchain

Exploit Coldcard: un PRNG deterministico ha svuotato 88 milioni di dollari in BTC

By Anurag Verma•August 5, 2026
Exploit Coldcard: un PRNG deterministico ha svuotato 88 milioni di dollari in BTC

Il 1° agosto 2026, circa 1.196 indirizzi bitcoin sono stati svuotati in un'operazione coordinata. Nessun phishing. Nessuna PSBT malevola firmata. Nessun errore utente nel senso tradizionale. L'exploit Coldcard che ha prosciugato circa 88 milioni di dollari in BTC non ha toccato nemmeno un singolo dispositivo al momento del furto, secondo quanto riportato da CoinDesk sull'incidente.

La causa principale è peggiore di qualsiasi analisi che ho letto nelle prime 24 ore. Si trattava di un difetto nel firmware dell'hardware wallet distribuito nel 2021 che aveva sostituito silenziosamente il generatore hardware di numeri casuali reali del chip SE con una routine pseudocasuale software. Ogni seed generato con quella build era deterministico. Ogni indirizzo derivato da quei seed era, in linea di principio, precalcolabile da chiunque avesse effettuato il reverse engineering del bug.

Non si tratta di un hack. Si tratta di un ritardo di cinque anni tra commit e conseguenze.

Cosa ha fatto effettivamente il bug del firmware Coinkite

La build difettosa, come descritto da The Hacker News, instradava le chiamate di entropia attraverso un PRNG software inizializzato da uno stato piccolo e facilmente indovinabile, anziché dall'RNG hardware del chip SE. Gli utenti non avevano alcun modo per rilevare la sostituzione. Il dispositivo si avviava, mostrava le schermate di configurazione previste, produceva un seed di 24 parole e appariva identico a un wallet generato correttamente.

I seed che produceva si trovavano all'interno di uno spazio esplorabile di qualche miliardo di possibilità. Non è un wallet. È un biglietto della lotteria.

Quando l'attaccante (o, più probabilmente, il ricercatore che ha scoperto il problema senza divulgarlo in modo responsabile) ha iniziato a scandagliare lo spazio rispetto all'UTXO set il 1° agosto, il drenaggio ha richiesto ore, non mesi.

Perché è importante il numero di 1.196 indirizzi bitcoin svuotati

1.196 è un numero piccolo in termini assoluti ed enorme in termini di segnale. Definisce la popolazione di utenti che hanno generato un seed in quella precisa finestra di firmware senza mai ruotarlo. Si tratta di un'affermazione verificabile e falsificabile sull'entità del danno, e l'articolo di TechSpot conferma che i dispositivi colpiti risalgono a un periodo di spedizione ristretto.

Se hai generato il tuo seed con un firmware diverso, o se hai effettuato la rotazione dopo un aggiornamento, quasi certamente sei al sicuro. Se hai generato con quella versione e non hai mai spostato i fondi, i tuoi bitcoin erano già stati presi, solo non lo sapevi ancora.

Un dettaglio passato in sordina: alcuni degli UTXO svuotati erano rimasti intatti dal 2021. Cinque anni di "le mie chiavi, i miei bitcoin", e quelle chiavi non erano mai davvero tue.

Il problema del PRNG deterministico in Bitcoin è vecchio e continua a ripresentarsi

Questa categoria di bug ha una storia lunga e imbarazzante. Il SecureRandom di Android nel 2013 ha fatto perdere bitcoin alle persone allo stesso modo. Il bug del PRNG di Debian OpenSSL nel 2008 ha compromesso chiavi SSH per due anni prima che qualcuno se ne accorgesse. A ogni generazione, riscopriamo che l'entropia è l'unica cosa che non puoi verificare fissando l'output.

Un numero casuale a 256 bit ben formato e un numero a 256 bit deterministico sono indistinguibili a occhio nudo. Bisogna verificare la sorgente, non il campione. Questo è tutto il problema.

I wallet hardware vendono l'idea che l'elemento sicuro gestisca questo per te. Quando il firmware aggira l'SE, ottieni tutta la scomodità del cold storage senza nessuna delle garanzie. Il peggio di entrambi i mondi.

Il dibattito self-custody vs ETF non è quello che la gente crede

Questa è la mia opinione, e me ne assumo la responsabilità: la discussione tra self-custody ed ETF è stata inquadrata come una questione ideologica quando in realtà è una questione di supply chain.

Un ETF spot su BTC ha una sola superficie di attacco che mi preoccupa: la sicurezza operativa del custode. Quella superficie è verificabile dai regolatori, assicurabile, e gestita da persone il cui lavoro a tempo pieno è non perdere monete. Quando fallisce, qualcuno firma un assegno.

L'autocustodia ha una catena più lunga: fornitore del chip, pipeline di compilazione del firmware, firma delle release, filiera di distribuzione, OPSEC dell'utente finale, igiene dei backup. Se un anello cede, non c'è nessun assegno. Il drenaggio di Coldcard è il momento Terra per quella tesi, non perché l'autocustodia sia morta, ma perché l'inquadratura massimalista "tieni semplicemente le tue chiavi" deve maturare.

Entrambi i modelli hanno rischi reali. Fingere che uno di essi sia privo di rischi è ciò che ha portato al drenaggio di 1.196 indirizzi.

Cosa cambia davvero dopo l'exploit di Coldcard

Alcune cose che penso cambieranno (e dovrebbero cambiare):

  • Build del firmware riproducibili come standard minimo. Se non riesci a ricompilare il binario dal codice sorgente e verificarlo byte per byte, stai fidandoti di una firma, non di un codebase.
  • Attestazione dell'entropia post-generazione. Il dispositivo dovrebbe firmare una prova che un determinato seed provenga dal SE, non dal software. Non è difficile. Coinkite potrebbe rilasciarla in un trimestre.
  • Verifiche indipendenti di integrità del seed. Strumenti di terze parti che, senza vedere il tuo seed, possano verificare che il suo percorso di derivazione ricada in una distribuzione coerente con la vera casualità.
  • Prodotti assicurativi per l'autocustodia. Non quelli parodistici. Una vera assunzione del rischio che richieda firmware attestato e aggiorni la copertura con l'invecchiamento delle build.

Niente di tutto ciò rende obsoleti i wallet hardware. Li rende di livello enterprise, che è ciò che hanno sempre dichiarato di essere.

L'implicazione scomoda per il resto di noi

In LCX dedichiamo una quantità sproporzionata di tempo ingegneristico a cose che agli utenti sembrano invisibili: cerimonie delle chiavi HSM, pipeline di build deterministiche, audit dell'entropia su qualsiasi percorso di codice che tocchi una chiave privata. È un lavoro noioso. È anche la differenza tra un titolo di giornale e un martedì qualsiasi.

L'incidente Coldcard colpisce allo stesso modo dei commenti del CEO di OpenZeppelin sugli audit DeFi di inizio anno. Lo stack di audit che abbiamo ereditato era progettato per un mondo in cui il codice che distribuivi era il codice che eseguivi. Non è più quel mondo, ammesso che lo sia mai stato.

Il cold storage avrebbe dovuto essere la risposta noiosa e corretta. Si scopre che il noioso ha bisogno di molta più infrastruttura di quanta ne abbiamo mai ammessa.

Fonti