
Conclusione principale: Una frase seed BIP39 generata con casualità completa contiene da 128 a 256 bit di entropia. Questo rende impossibile indovinarne una con le risorse di calcolo oggi disponibili. Ogni caso documentato dal 2023 in poi risale a un generatore che produceva molte meno possibilità di quelle presupposte dallo standard. La domanda da porsi è come sia stata generata la tua frase e se puoi sostituirla.
Riferimento rapido
| Termine | Cosa significa |
|---|---|
| Entropia | La quantità di imprevedibilità autentica contenuta in un valore generato, misurata in bit. Un'entropia di 128 bit significa che il valore è stato scelto tra 2128 candidate equiprobabili. |
| BIP39 | Lo standard che codifica l'entropia grezza in 12, 15, 18, 21 o 24 parole scelte da un elenco fisso di 2.048 parole. |
| Spazio di ricerca | L'insieme delle frasi candidate che un aggressore deve esaminare. È la sua dimensione, non il numero di parole, a determinare se tale lavoro è fattibile. |
| PRNG | Un generatore di numeri pseudocasuali che espande un singolo valore iniziale in una lunga sequenza usando una formula. Un valore iniziale prevedibile produce un output prevedibile. |
| CSPRNG | Un generatore di numeri casuali crittograficamente sicuro, inizializzato dal pool di entropia del sistema operativo, che è la fonte prevista per il materiale delle chiavi. |
| Collasso dell'entropia | Cosa succede quando un generatore attinge a un bacino molto più piccolo di quello specificato dallo standard, riducendo lo spazio di ricerca a una dimensione che un aggressore può enumerare. |
Si può indovinare o sottoporre a forza bruta una frase seed?
Una frase seed BIP39 generata correttamente è ben al di fuori della portata della forza bruta. Lo spazio di ricerca cresce esponenzialmente con l'entropia, non con il numero di parole, quindi una frase di 12 parole codifica già 128 bit, ovvero circa 3,4 × 1038 frasi valide. Una frase di 24 parole codifica 256 bit, ovvero circa 1,2 × 1077.
Queste cifre sono più facili da valutare in termini operativi. Una macchina che testasse mille miliardi di frasi candidate al secondo avrebbe comunque coperto una frazione trascurabile dello spazio di 128 bit dopo un miliardo di anni di lavoro continuo. Nessuna raccolta di hardware assemblata finora cambia questa aritmetica, motivo pratico per cui gli aggressori che prosciugano i fondi non tentano affatto di esplorare l'intero spazio.
In ogni caso documentato pubblicamente, gli aggressori che hanno recuperato le frasi di altre persone hanno operato nello spazio molto più ristretto che un generatore compromesso era effettivamente in grado di produrre.
Quante combinazioni ha una frase seed di 24 parole?
Una frase BIP39 di 24 parole ha 2256 combinazioni valide, ovvero circa 1,2 × 1077Una frase di 12 parole ha 2128 combinazioni valide, ovvero circa 3,4 × 1038.
L'aritmetica alla base di questi numeri merita un paragrafo, perché il conteggio grezzo delle parole sovrastima il totale. Moltiplicare 2.048 opzioni per ciascuna delle 24 posizioni dà 2264e la parola finale contiene un checksum di 8 bit legato all'entropia che la precede. Solo una combinazione su 256 supera questo controllo, riportando il numero di frasi valide a 2256. La stessa relazione vale per 12 parole, dove un checksum di 4 bit riduce 2132 combinazioni di parole a 2128.
Come viene generata una frase seed e dove può verificarsi l'errore?
La generazione inizia dall'entropia grezza, non dalle parole. Il dispositivo o il software richiede da 128 a 256 bit a una fonte casuale, calcola l'hash di quel valore per derivare un checksum, divide il risultato in gruppi da 11 bit e associa ogni gruppo a una parola dell'elenco BIP39. Le parole sono una codifica dell'entropia, quindi la robustezza di una frase viene fissata nel momento in cui l'entropia viene estratta.
Questa struttura fa dipendere l'intera sicurezza di una frase da un passaggio che il titolare non può osservare. Un generatore inizializzato da una fonte di rumore hardware e uno inizializzato dall'orologio di sistema restituiscono un output dall'aspetto identico, poiché entrambi producono 24 parole inglesi plausibili nel formato corretto con un checksum valido. Nulla di ciò che avviene dopo rileva un'estrazione debole e un aggiornamento del firmware rilasciato in seguito non può restituire casualità a una frase creata senza di essa.
Come si presenta concretamente una frase seed debole?
Tre vulnerabilità documentate pubblicamente tra il 2023 e il 2026 condividono un meccanismo che interessa tre diversi livelli dello stack. In ciascun caso il generatore restituiva frasi ben formate, attingendo però a un insieme abbastanza piccolo da poter essere enumerato su hardware comune.
| Caso | Livello che ha ceduto | Cosa faceva il generatore | Spazio di ricerca effettivo |
|---|---|---|---|
| Milk Sad, CVE-2023-39910, divulgato l'8 agosto 2023 | Strumenti da riga di comando | Lo strumento bx di Libbitcoin Explorer generava seed con un Mersenne Twister inizializzato solo dall'orologio di sistema a 32 bit | 232 o meno, qualunque fosse la lunghezza dell'output configurata dall'utente |
| Ill Bloom, CVE-2026-71851 e GHSA-rg76-677x-56q9, CVSS 9.0 | Dipendenza JavaScript | La funzione CryptoJS WordArray.random() usava un generatore multiply-with-carry inizializzato da Math.random(), un design presente dal giugno 2014 | Circa 239 e 247 rispetto ai nominali 128 e 256 bit |
| Errore nella build del firmware, avviso del produttore del 30 luglio 2026 | Firmware del portafoglio hardware | Un errore di configurazione della build risalente a marzo 2021 ha fatto sì che la generazione dei seed sui dispositivi di un produttore di portafogli hardware ricorresse a un generatore pseudocasuale software | Circa 72 bit nelle unità interessate più recenti e un numero inferiore in quelle più vecchie |
I ricercatori di Milk Sad presso Distrust hanno riferito di aver recuperato oltre 900.000 dollari in Bitcoin custoditi tramite frasi generate dallo strumento interessato, descrivendo questa cifra come una stima minima che considera solo Bitcoin. È stato confermato che le versioni dalla 3.0.0 alla 3.6.0 di bx erano interessate, mentre le versioni precedenti sono state considerate sospette, non confermate. Molte delle persone esposte avevano generato le proprie frasi anni prima seguendo il consiglio di usare strumenti open source.
The CryptoJS case carries the longest paper trail of the three. Releases 3.2.0 and 3.2.1 replaced the weak generator with the platform's native cryptographic random source, and release 3.3.0 reverted that change on the grounds that it broke compatibility for existing users. Version 4.0.0, published in February 2020, fixed the problem permanently, and the library has been effectively unmaintained since 2023. Five wallet applications were still generating phrases through the vulnerable path, and because one phrase derives addresses across many networks, a single weak draw exposed balances on 15 chains at once. Coinspect tracked $5,690,922 drained across two waves by July 13, 2026, and described that total as a lower bound.
Il caso CryptoJS presenta la documentazione più lunga dei tre. Le versioni 3.2.0 e 3.2.1 hanno sostituito il generatore debole con la sorgente nativa di casualità crittografica della piattaforma, mentre la versione 3.3.0 ha annullato quella modifica sostenendo che comprometteva la compatibilità per gli utenti esistenti. La versione 4.0.0, pubblicata nel febbraio 2020, ha risolto definitivamente il problema e la libreria è rimasta di fatto senza manutenzione dal 2023. Cinque applicazioni wallet generavano ancora frasi attraverso il percorso vulnerabile e, poiché una singola frase genera indirizzi su molte reti, una sola estrazione debole ha esposto i saldi su 15 blockchain contemporaneamente. Coinspect ha monitorato 5.690.922 dollari drenati in due ondate entro il 13 luglio 2026 e ha descritto tale totale come una stima per difetto.
Il caso del firmware del 2026 ha portato lo stesso errore nell'hardware, dove un errore di build è rimasto non sottoposto a revisione per più di cinque anni prima che il fornitore pubblicasse un avviso il 30 luglio 2026. Galaxy Research, monitorando i trasferimenti risultanti sulla blockchain, ha confermato che al 8 agosto 2026 erano stati drenati 1.719 BTC, per un valore di circa 111 milioni di dollari. Il fornitore non ha pubblicato alcun totale delle perdite di propria iniziativa, quindi ogni cifra circolante proviene da analisi della blockchain di terze parti, non dal produttore.
Uno strumento da riga di comando, una dipendenza JavaScript e una pipeline di build hardware si collocano a livelli diversi della catena di fornitura e sono soggetti a processi di revisione differenti; tuttavia, ciascuno di essi ha prodotto frasi che apparivano del tutto corrette alla persona che le trascriveva.
| Forza bruta rispetto a uno spazio di ricerca collassato | Domanda | Forzare con la forza bruta una frase generata correttamente |
|---|---|---|
| Esplorare uno spazio di ricerca collassato | 2128 Cosa cerca l'attaccante256 frasi candidate | L'intervallo di output di un generatore difettoso, tra 232 e circa 272 nei casi documentati |
| Fattibilità su hardware comune | Al di fuori della portata pratica di molti ordini di grandezza | Raggiungibile con un laptop e strumenti disponibili pubblicamente |
| Come appare la frase al titolare | Parole valide, checksum valido, formato normale | Parole valide, checksum valido, formato normale |
| Cosa determina l'esposizione | Nulla di ciò che il titolare fa o omette | Lo strumento o la versione del firmware utilizzati al momento della creazione, spesso anni prima |
| Se una correzione successiva è d'aiuto | Non applicabile | Un generatore corretto copre solo le nuove frasi, quindi una frase esistente rimane debole finché non viene sostituita |
| Casi documentati pubblicamente | Nessun caso segnalato | Tre tra il 2023 e il 2026 |
Perché non puoi verificare come è stata generata la tua frase
I tre casi condividono una caratteristica più importante di qualsiasi singolo bug. In tutti, la vulnerabilità risiedeva nell'unico passaggio che il titolare non ha modo di verificare, e vi è rimasta finché un ricercatore esterno non l'ha scoperta. Leggere il codice sorgente pubblicato di un wallet, quando il codice sorgente è disponibile, mostra ciò che dice il codice. Ma leggerlo non conferma ciò che viene eseguito sul chip che si ha in mano. ELLIPAL dichiara questo limite nel proprio documento sull'architettura di sicurezza, e il divario riguarda ogni fornitore di wallet hardware, compresa ELLIPAL.
La certificazione non colma nemmeno questa lacuna. La valutazione Common Criteria si applica all'elemento sicuro, cioè il chip isolato che memorizza le chiavi ed esegue le firme, e ne copre la resistenza agli attacchi fisici e side-channel. La valutazione Common Criteria non si estende al firmware del portafoglio che opera attorno al chip, e il firmware è esattamente il livello in cui si è verificato l'errore di compilazione del 2026.
Ciò che rimane a disposizione del detentore è la sostituzione. BIP39 definisce un formato portatile, quindi una frase generata in un luogo può essere importata in un portafoglio compatibile di qualsiasi marca, e una frase che hai motivo di ritenere inaffidabile può essere sostituita senza sostituire l'hardware. Sui dispositivi ELLIPAL, questa procedura passa dall'inserimento della frase di recupero su ELLIPAL Titan 2.0 e dalla ELLIPAL X Card Starter offline durante la configurazione di ELLIPAL X Card. Nessuno dei due percorsi richiede di inserire le tue parole in un'applicazione per telefono.
Nessuna configurazione di custodia personale elimina ogni rischio. Un formato portatile per le frasi mantiene reversibile una decisione specifica, così chi detiene i fondi e non si fida di un generatore può passare a una nuova frase e continuare a usare lo stesso dispositivo.
Quale situazione ti descrive?
- La tua frase proviene da un portafoglio hardware il cui fornitore ha pubblicato un avviso sull'entropia. Leggi l'avviso per verificare le versioni esatte del firmware e le date, poiché gli intervalli interessati sono ristretti e un dispositivo esterno a tali intervalli non è coinvolto. Se l'intervallo comprende il tuo dispositivo, considera la frase come l'elemento da sostituire, non l'hardware.
- La tua frase proviene da un sito web o da un generatore basato sul browser. Un generatore nel browser dipende dal JavaScript della pagina, il livello che ha mostrato il problema nel caso CryptoJS. Considera non verificata una frase creata in questo modo; trasferire il saldo a una frase appena generata elimina la dipendenza da una pagina che non hai modo di verificare.
- La tua frase proviene da uno strumento da riga di comando o da una libreria che hai integrato personalmente. Verifica la cronologia degli avvisi del progetto rispetto alla versione esatta che hai eseguito, come documentato nella divulgazione di Milk Sad per le versioni di bx dalla 3.0.0 alla 3.6.0.
- Conservi una frase generata e consegnata da qualcun altro. Non conosci il processo di generazione e non puoi ricostruirlo a posteriori, quindi la strada più sicura è creare tu una nuova frase e trasferirvi il saldo.
- Conservi i fondi a lungo termine e vuoi risolvere in anticipo la questione del fornitore. Scegli un hardware che accetti in importazione una frase BIP39 esistente, così la scelta del generatore rimane tua e non una proprietà fissa del dispositivo.
- La tua frase è stata generata su un dispositivo aggiornato e nessun avviso la riguarda. In questa situazione l’entropia non è il problema da chiarire. Conviene concentrarsi sulla durata del backup, sulla conservazione fisica e sulla verifica delle transazioni; la nostra guida su come eseguire il backup di un hardware wallet tratta l’aspetto della conservazione.
Domande frequenti
È mai successo che una frase seed venisse effettivamente violata?
Nessun caso pubblico descrive un attaccante che abbia recuperato una frase generata correttamente esplorando l’intero spazio di ricerca. Ogni recupero documentato dal 2023 ha riguardato un generatore che produceva un insieme di frasi possibili molto più ristretto di quello previsto da BIP39, riducendo il compito dell’attaccante a un elenco elaborabile da un normale hardware. Il rischio dipende dallo strumento che ha creato la frase, non dalla sua lunghezza.
Quante combinazioni ha una frase seed di 24 parole?
Una frase BIP39 di 24 parole ha 2256 combinazioni valide, circa 1,2 × 1077. Il dato deriva da 256 bit di entropia, e l’ultima parola della frase contiene un checksum di 8 bit che la collega alle parole precedenti, quindi solo una combinazione di parole su 256 forma una frase valida. Una frase di 12 parole contiene 128 bit di entropia e 2128 combinazioni valide, circa 3,4 × 1038.
Come faccio a sapere se la mia frase seed è stata generata in modo debole?
Non esiste un test che si possa eseguire sulle parole in sé, perché una frase debole e una frase sicura hanno lo stesso formato ed entrambe superano la verifica del checksum. Ciò che puoi controllare è la provenienza. Identifica l’applicazione, lo strumento o la versione del firmware del dispositivo che ha creato la frase, quindi consulta la cronologia degli avvisi di quel progetto per verificare le versioni e le date interessate. La nostra guida su come verificare se il tuo wallet dispone effettivamente di entropia illustra questo controllo per il caso del firmware del 2026.
Una frase generata su un dispositivo offline è automaticamente sicura?
No. Generare una frase offline elimina l’esposizione alla rete al momento della creazione, ma la sicurezza del risultato dipende comunque dalla fonte di entropia e dal firmware che la utilizza. Il caso del firmware del 2026 riguardava dispositivi che generavano le frasi interamente offline, ma un errore di compilazione indirizzava il processo verso un generatore pseudocasuale software. La generazione offline e la generazione sicura sono proprietà separate, e la seconda non può essere confermata dal possessore.
Una frase più lunga mi protegge da un generatore debole?
No. Una frase di 24 parole ha il doppio dell’entropia di una frase di 12 parole quando entrambe sono generate correttamente, mentre un generatore difettoso limita lo spazio di ricerca effettivo indipendentemente dalla lunghezza richiesta. Nel caso Milk Sad l’entropia effettiva è rimasta pari a 232 o inferiore alla lunghezza scelta dall’utente. Scegli 24 parole per il margine che offre in condizioni normali e considera la provenienza del generatore una questione separata.
Se un generatore è stato corretto in una versione successiva, anche la mia frase esistente è stata corretta?
No. Un generatore corretto si applica alle frasi create dopo la correzione. Una frase generata da una fonte debole conserva l’entropia con cui è nata, perché le parole codificano già quel valore e il wallet deriva ogni indirizzo da esso. Per risolvere questa situazione è necessario generare una nuova frase e poi trasferire il saldo agli indirizzi derivati da quella nuova.
Devo acquistare un nuovo dispositivo se la mia frase è stata generata in modo debole?
Di solito no. Qualsiasi dispositivo che supporti l’importazione o il recupero di una frase BIP39 esistente accetterà una nuova frase generata altrove, quindi l’hardware che possiedi può continuare a funzionare con una frase sostitutiva. Quando un fornitore ha rilasciato una correzione del firmware, tale correzione copre i wallet creati successivamente, mentre una frase esistente deve comunque essere sostituita. I costi effettivi sono il trasferimento on-chain del saldo ai nuovi indirizzi, oltre a nuovi supporti di backup per le nuove parole.
Una passphrase può compensare una frase seed debole?
Una passphrase BIP39 modifica il wallet derivato da una determinata frase, quindi un aggressore che ricostruisse una frase debole dovrebbe anche recuperare la passphrase prima di poter accedere ai fondi. L’entropia sottostante della frase rimane esattamente debole com’era e la passphrase aggiunge un secondo elemento che deve sopravvivere alle tue procedure di backup, perché perderla significa perdere l’accesso al wallet. Considera la passphrase come un fattore aggiuntivo, non come una soluzione per correggere il generatore.
Informazioni su ELLIPAL
ELLIPAL è presente sul mercato dal 2018, con oltre 1 milione di utenti in più di 140 Paesi. I dispositivi ELLIPAL seguono BIP39 e BIP44, quindi una frase di recupero creata su un dispositivo ELLIPAL può essere ripristinata su qualsiasi wallet compatibile di qualunque marchio, mentre una frase creata altrove può essere importata sull’hardware ELLIPAL. ELLIPAL Titan 2.0 conserva le chiavi all’interno di un elemento sicuro certificato e supporta l’inserimento della frase di recupero direttamente sul dispositivo. ELLIPAL X Card integra un CC EAL6+ Secure Chip e completa la configurazione sul dispositivo offline ELLIPAL X Card Starter. ELLIPAL App supporta oltre 10.000 token su più di 45 blockchain.
Possiedilo. Poi usalo.
Nota sulla sicurezza. Nessuna configurazione con custodia autonoma elimina ogni rischio. La conservazione offline delle chiavi e la progettazione del dispositivo con misure di sicurezza rafforzate riducono categorie significative di attacchi remoti, ma non eliminano i rischi fisici, quelli della catena di approvvigionamento, del firmware, dell’ingegneria sociale o degli errori dell’utente. Acquista da una fonte ufficiale, conserva la tua frase di recupero su un backup offline durevole tenuto separato dal dispositivo, non condividere queste parole né inserirle in un’applicazione connessa a Internet e verifica ogni transazione sul dispositivo di firma. Questo articolo fornisce informazioni educative generali sull’architettura dei wallet e sulla generazione dei seed e non costituisce consulenza finanziaria, d’investimento o di custodia.




