Atac asupra Coldcard: breșă de firmware a permis furtul a 1.367 BTC (circa 89 mil. USD)
Un incident de securitate care vizează Coldcard, unul dintre cele mai cunoscute portofele hardware pentru Bitcoin, a scos la iveală o vulnerabilitate critică în procesul intern de generare a cheilor. În trei valuri de atac, autori necunoscuți au exploatat o slăbiciune de "seed generation" din anumite versiuni de firmware și au sustras aproximativ 1.367 BTC, evaluați la circa 89 milioane de dolari, din mii de adrese. Nu a fost vorba de phishing, de spargerea unui exchange sau de acces fizic la dispozitive: atacatorii au putut reconstrui cheile private offline, pornind de la seed-uri generate cu entropie insuficientă.
Ce s-a întâmplat: 89 mil. USD în BTC dispăruți în trei valuri
Atacul a început pe 30 iulie 2026. În primul val, aproximativ 594 BTC (circa 38 mil. USD) au fost retrași din aproximativ 500 de portofele în doar 25 de minute. Țintele au fost alese deliberat: cele mai valoroase adrese au fost golite primele. Un al doilea val a dus pierderile la 1.082 BTC (aprox. 70 mil. USD), din 1.196 de adrese, în 41 de minute. Până pe 2 august, cele trei valuri cumulau 1.367 BTC (aprox. 89 mil. USD) sustrase din 4.585 de adrese.
Chainalysis a indicat că operatorul a prioritizat portofelele "bogate", încasând peste 30 mil. USD în primele 10 minute; un singur portofel ar fi pierdut aproximativ 1,8 mil. USD. Operațiunea a continuat aproape 30 de ore înainte ca producătorul Coinkite să publice primul avertisment public. Ulterior, Galaxy Research a identificat aproximativ 600 de adrese suspecte asociate atacatorilor și le-a raportat către anchetatori. Galaxy a mai notat că valurile 1 și 2 par să aibă același operator, în timp ce valul 3 a folosit metode diferite de colectare.
Miza: vulnerabilitatea era în generarea cheilor
Diferența esențială față de multe furturi crypto este că atacatorii nu au avut nevoie să "atingă" dispozitivele. Seed-urile create la inițializarea portofelului pe firmware-ul afectat aveau prea puțină entropie, ceea ce a redus dramatic spațiul de căutare. Odată înțeles modelul de generare, cheile private au putut fi reconstruite offline și fondurile mutate.
Cronologia vulnerabilității și a furtului
- 1 martie 2021: un commit de firmware schimbă generarea seed-ului de la ckcc.rng_bytes (RNG hardware din cipul STM32) la ngu.random.bytes (PRNG software).
- 17 martie 2021: firmware v4.0.0 este livrat cu codul defect; seed-urile generate pe Mk2 și Mk3 din acest punct au aproximativ 40 biți de entropie.
- 2021–2026: bug-ul persistă timp de cinci ani, traversând actualizări, review-uri de securitate și un audit asistat de AI fără a fi detectat.
- 30 iulie 2026 ~12:00 UTC: Valul 1, 594 BTC din ~500 portofele în 25 min; țintire a portofelelor cu valoare mare.
- 30 iulie 2026: Valul 2, total 1.082 BTC din 1.196 adrese în 41 min.
- 30–31 iulie 2026: Coinkite publică primul advisory, recomandă migrarea seed-urilor și lansează firmware reparat.
- 31 iulie 2026: Block (compania lui Jack Dorsey) publică o analiză tehnică independentă a vulnerabilității RNG.
- 1–2 august 2026: Valul 3 duce totalul la 1.367 BTC din 4.585 adrese; advisory-ul Coinkite include și Mk4, Mk5 și Q.
- 2–3 august 2026: Galaxy Research raportează ~600 adrese suspecte către anchetatori federali și echipe de conformitate/cybersecurity.
Bug-ul: o linie de cod, cinci ani nedetectată
La 1 martie 2021, funcția pentru generarea seed-urilor a fost modificată astfel încât să folosească un PRNG software bazat pe intrări deterministe. Conform analizelor, PRNG-ul se alimenta din elemente precum numărul de serie al dispozitivului, valori ale timer-ului intern și istoricul apelurilor RNG, iar firmware-ul aplica SHA256d peste aceste date. Hashing-ul poate amesteca informația existentă, dar nu poate crea entropie nouă. Dacă intrările posibile sunt limitate (de exemplu 2^40), și ieșirile rămân limitate la același ordin de mărime.
Rezultatul: pe Mk2/Mk3, seed-urile au ajuns la aproximativ 40 biți de entropie. Pe Mk4, Mk5 și Q, un "secure element" adaugă entropie suplimentară, ridicând nivelul efectiv la circa 72 biți, dar și acesta rămâne sub pragul de 128 biți așteptat pentru generarea seed-urilor Bitcoin.
CEO-ul Foundation Devices, Zach Herbert, a spus că bug-ul a intrat în cod în cadrul unei rescrieri majore din martie 2021, asociată înlocuirii codului GPL rămas cu biblioteci criptografice noi, adică mai degrabă un demers de licențiere decât o decizie de securitate.
Cum a fost posibil furtul: forțarea seed-urilor de 40 biți
Atacatorii nu au avut nevoie de acces la dispozitiv. Estimând variabile precum UID-ul dispozitivului, starea timer-ului și secvența apelurilor RNG, ei au putut reproduce offline fluxuri candidate de seed. Următorul pas a fost derivarea adreselor Bitcoin corespunzătoare și compararea lor cu datele publice de pe blockchain.
Cu aproximativ 40 biți de entropie, spațiul de căutare este de ordinul unui trilion de posibilități. Deși pare mare, poate fi parcurs într-un timp practic cu hardware modern, mai ales dacă atacatorul restrânge țintele la seed-uri generate în perioada vulnerabilă 2021–2026. Când un seed candidat produce o adresă cu BTC, cheia privată asociată permite golirea fondurilor.
Galaxy Research a sugerat că valurile 1 și 2 ar putea aparține aceluiași operator, în timp ce valul 3 ar putea indica un alt actor care a descoperit independent vulnerabilitatea.
Pentru Mk4/Mk5/Q, entropia estimată (~72 biți) este mai bună, dar tot sub standard. Block a descris designul drept o structură "fail-open" periculoasă, deoarece anumite condiții de boot ar putea reduce căutarea până la 2^32 valori posibile. Până acum nu există confirmări de exploatare la scară pentru această slăbiciune.
Cine este afectat: depinde de firmware-ul folosit la crearea seed-ului
Riscul este determinat de versiunea de firmware instalată atunci când seed-ul a fost generat, nu de versiunea curentă. Un update ulterior nu "repară" un seed deja creat cu entropie slabă; update-ul protejează doar seed-urile generate în viitor.
Modele afectate, firmware vulnerabil, entropie și remedieri
- Mk2 / Mk3: seed generat pe v4.0.0 / v4.0.1 până la v4.1.9; entropie efectivă ~40 biți; remediere în v4.2.0+; risc maxim, exploatat activ.
- Mk4 / Mk5: înainte de v5.6.0 (standard) / înainte de v6.6.0X (Edge); entropie ~72 biți; remediere în v5.6.0+ / v6.6.0X+; fără exploatare confirmată la scară, dar sub standard.
- Q: înainte de v1.5.0Q (standard) / înainte de v6.6.0QX (Edge); entropie ~72 biți; remediere în v1.5.0Q+ / v6.6.0QX+; risc rezidual similar cu Mk4/Mk5.
Un caz important: utilizatorii care au introdus cel puțin 50 de aruncări de zar independente și private în timpul configurării seed-ului au adăugat entropie externă reală, care poate neutraliza această problemă specifică a PRNG-ului. O parolă BIP39 (passphrase) puternică reduce probabilitatea unui atac, dar nu întărește seed-ul de bază; recomandarea rămâne migrarea fondurilor dacă seed-ul a fost generat pe firmware vulnerabil.
Evaluare rapidă a riscului și pași recomandați
- Seed creat înainte de schimbarea din martie 2021: în general neafectat de acest bug; nu necesită migrare pentru această vulnerabilitate.
- Seed creat pe firmware vulnerabil, cu ≥50 aruncări de zar private: risc minim pentru acest bug; verificați evidențele de setup și urmați ghidajul oficial.
- Seed creat pe firmware vulnerabil fără suficientă entropie externă: tratați seed-ul ca expus; actualizați firmware-ul, creați seed nou, migrați fondurile.
- Seed cu passphrase BIP39 puternică: probabilitate mai mică de reușită pentru brute force, dar seed-ul rămâne slab; migrați la un seed nou.
- Multisig cu chei derivate din seed Coldcard afectat: riscul depinde de pragul de semnare; rotiți toate cheile afectate și reevaluați politica multisig.
Coinkite: ce a făcut după incident
Coinkite a publicat primul advisory pe 30 și 31 iulie, la aproximativ 30 de ore după începerea golirii adreselor. Compania a lansat firmware reparat pentru toate modelele: v4.2.0 (Mk3), v5.6.0 (Mk4/Mk5) și v1.5.0Q (Q). A oferit și analiză tehnică și ghid de migrare. Pe 1 august, Coinkite a extins comunicarea, recunoscând că și Mk4/Mk5/Q au entropie redusă.
Criticile rămân: bug-ul a supraviețuit cinci ani de actualizări și audituri, iar avertizarea publică a venit după o perioadă în care atacul a continuat aproape 30 de ore, interval în care utilizatorii nu au avut informații oficiale pentru a-și proteja fondurile. Cercetătorul Kevin Loaec (Wizardsardine) a atras atenția că utilizatorii ar trebui să considere expuse și configurațiile multisig ce includ chei Coldcard afectate, aspect care nu este acoperit complet în advisory.
Cum îți migrezi fondurile: pași practici
Actualizarea firmware-ului nu securizează un portofel existent dacă seed-ul a fost generat slab. Este necesar un seed nou și mutarea BTC către adrese noi.
1) Actualizează firmware-ul: instalează cea mai recentă versiune "patched" pentru modelul și canalul tău (standard/Edge), descărcată de pe site-ul oficial Coinkite.
2) Generează un seed complet nou: creează seed-ul pe dispozitivul actualizat; nu importa și nu restaura seed-ul vechi. Pentru entropie suplimentară, folosește cel puțin 50 de aruncări de zar independente și private.
3) Verifică backup-ul seed-ului: notează cuvintele în ordine, rulează verificarea pe dispozitiv. Generează o adresă de primire și confirmă că adresa din software coincide cu cea de pe ecranul Coldcard.
4) Mută toate fondurile: trimite întregul sold controlat de seed-ul vechi către adrese derivate din seed-ul nou. Verifică atent destinația și detaliile tranzacției pe Coldcard înainte de semnare.
5) Confirmă migrarea: verifică în exploratoare de blocuri că tranzacțiile sunt confirmate; asigură-te că adresele vechi au sold zero și că noul portofel reflectă suma completă.
6) Distruge în siguranță backup-ul vechi: abia după confirmări și după ce ai verificat accesul la seed-ul nou, elimină toate copiile fizice și digitale ale seed-ului compromis.
Migrarea implică tranzacții on-chain și comisioane; în situații urgente, alegerea unui fee prea mic poate întârzia confirmarea.
Context mai larg: ce spune incidentul despre self-custody
Self-custody înseamnă nu doar controlul cheilor, ci și generarea lor cu entropie reală, de calitate. Incidentul arată că poți deține cheile și totuși să pierzi fonduri dacă dispozitivul a generat chei din intrări previzibile. Cazul este prezentat ca al treilea eșec major de PRNG în crypto din ultimii ani, după Milk Sad (2023) și Ill Bloom (2026).
În paralel, evenimentul reaprinde discuția despre software "open source" vs "closed source" în zona portofelelor hardware: deși firmware-ul Coldcard este public, bug-ul a rămas nedetectat ani la rând. Accesul la cod nu garantează securitate, dar rămâne o condiție pentru auditare comunitară.
CoinDesk a relatat că astfel de exploatări ar putea împinge o parte dintre investitori către ETF-uri Bitcoin, care elimină riscurile operaționale ale cheilor private, dar introduc dependența de un custode reglementat. Separat, Blockaid a constatat că în prima jumătate din 2026 cele mai multe pierderi crypto au provenit din chei compromise și eșecuri de securitate operațională, nu din exploit-uri de smart contract. În acest cadru, atacul asupra Coldcard vizează procesul de generare a cheilor, nu Bitcoin în sine.
Întrebări frecvente
Este Coldcard-ul meu compromis?
Poate fi compromis dacă seed-ul a fost generat pe Mk2 sau Mk3 cu firmware v4.0.0 până la v4.1.9 fără suficientă entropie din aruncări de zar. Pentru Mk4, Mk5 și Q, seed-urile generate înainte de patch-uri au circa 72 biți de entropie; nu există confirmări de exploatare la scară, dar nivelul rămâne sub standardul de 128 biți. Recomandarea: actualizează firmware-ul, generează seed nou și migrează fondurile.
Actualizarea firmware-ului rezolvă problema?
Nu pentru seed-urile existente. Update-ul corectează generarea seed-urilor viitoare, dar nu poate întări un seed deja creat cu entropie slabă. Este necesar un seed nou și mutarea BTC de pe adresele vechi.
Sunt afectați Ledger și Trezor?
Nu. Ledger, Trezor și Block (Bitkey) au confirmat sisteme diferite de generare a entropiei; vulnerabilitatea aceasta nu se aplică seed-urilor generate de acele dispozitive.
Cât BTC a fost furat?
Până la 2 august 2026, aproximativ 1.367 BTC (circa 89 mil. USD) în trei valuri, din 4.585 de adrese. Investigațiile continuă, iar numărul final de portofele afectate și pierderile totale pot crește.
Cine este atacatorul?
Nu a fost identificat. Galaxy Research consideră că valurile 1 și 2 pot aparține aceluiași operator; valul 3 are comportament on-chain diferit, sugerând un alt actor. Aproximativ 600 de adrese suspecte au fost raportate anchetatorilor.
Mă protejează aruncările de zar?
Da, dacă ai folosit cel puțin 50 de aruncări de zar independente și private la generarea seed-ului. Acestea adaugă entropie externă reală pe care PRNG-ul defect nu o poate diminua; Coinkite a indicat că utilizatorii care au urmat corect procedura au risc minim pentru această vulnerabilitate.
Materialul are scop informativ și educațional și nu reprezintă consultanță financiară, investițională, juridică sau de securitate. Documentează-te din surse proprii înainte de decizii legate de crypto.