Chyba v softwaru Coldcard, která existovala již pět let, mohla útočníkovi umožnit rekonstruovat soukromé klíče a odcizit více než 1 100 bitcoinů, což vedlo výrobce peněženky k tomu, že za tento objev částečně viní umělou inteligenci (AI).
Byla za odhalení bezpečnostní chyby v Coldcardu zodpovědná umělá inteligence?

Hlavní body
- Seedy spojené s Coldcardem odhalily 1 128,4717 BTC v hodnotě přibližně 71,1 milionu dolarů.
- Společnost Coinkite tvrdí, že tuto pětiletou chybu možná odhalila umělá inteligence, ale její podíl na tom zůstává neprokázán.
- Uživatelé Coldcard s postiženými seed kódy si musí vytvořit nové peněženky na opraveném firmwaru.
Koordinovaný útok vyprázdnil stovky peněženek
Incident vyšel najevo poté, co bylo 30. července převedeno přibližně 594 BTC, jejichž hodnota v té době činila téměř 38 milionů dolarů, z asi 500 bitcoinových adres s jedním podpisem. Když se tato zpráva poprvé objevila, server Bitcoin.com News poznamenal, že k převodům došlo během přibližně 25 minut a zdálo se, že se zaměřovaly na peněženky se společnou technickou slabostí.
Pozdější analýzy blockchainu rozšířily možný rozsah krádeže. Výzkumníci odhadli, že během období přibližně 41 minut mohlo být postiženo mezi 1 082 a 1 196 adresami. Speciální dashboard s názvem Coldcard Sweep Watch následně stanovil celkovou částku na 1 128,4717 BTC, což při kurzu bitcoinu kolem 63 044 USD představovalo hodnotu přibližně 71,1 milionu dolarů.

Většina prostředků byla konsolidována na adresu, na které se nacházely stovky bitcoinů, přičemž velká část z nich zůstala v podstatě nehybná. Dotčené adresy spojoval jeden důležitý detail: jejich obnovovací semena byla vytvořena na hardwarových peněženkách Coldcard vyráběných kanadskou společností Coinkite.
Obnovovací klíč je seznam slov, který řídí přístup k peněžence s kryptoměnou. Kdokoli, kdo dokáže tento klíč rekonstruovat nebo získat, může obvykle převádět prostředky z peněženky, aniž by vlastnil fyzické zařízení.
Coldcard odhalila chybu v systému generování náhodných čísel
Společnost Coinkite vydala naléhavé varování, že některé klíče vygenerované na zařízeních Coldcard mohou být slabé. Mezi zařízení s nejvyšším rizikem patřila zařízení Mk3 s firmwarem verze 4.0.1, vydaným kolem března 2021, a novějšími verzemi.
Další analýza rozšířila obavy i na klíče vytvořené na některých zařízeních Mk4, Mk5 a Q ještě předtím, než společnost Coinkite vydala nouzové opravy firmwaru. Produkty Tapsigner, Opendime a Satscard údajně nebyly postiženy, protože používají odlišný software.
Chyba se týkala procesu používaného k generování náhodných dat. Bezpečné peněženky závisí na vysoké kvalitě náhodnosti, aby nebylo možné uhodnout jejich obnovovací semena. U nejvážněji postižených zařízení Mk3 výzkumníci odhadli, že semeno mohlo obsahovat pouze asi 40 bitů efektivní náhodnosti namísto zamýšlených 128 bitů.
Tento rozdíl je zásadní. Správně vygenerovaný 128bitový klíč je považován za prakticky neuhodnutelný metodou hrubé síly. 40bitový klíč nabízí dramaticky méně možností, což útočníkovi s dostatečným výpočetním výkonem umožňuje offline testovat potenciální klíče a porovnávat výsledné adresy s veřejným blockchainem bitcoinu.
Některá novější zařízení mohla poskytovat přibližně 72 bitů efektivní náhodnosti, protože zabezpečený hardware přidával další vrstvu nepředvídatelných dat. To by ztížilo rekonstrukci počátečních hodnot, i když by stále byly mnohem slabší, než bylo zamýšleno.
Jedna konfigurační chyba přetrvávala 5 let
Problém začal konfigurační chybou při kompilaci, která se týkala dvou softwarových funkcí plnících podobné úkoly. Jedna funkce využívala hardwarový generátor skutečných náhodných čísel zařízení, zatímco druhá se spoléhala na slabší softwarový proces zděděný z MicroPythonu.
Společnost Coinkite měla v úmyslu tuto možnost MicroPythonu deaktivovat. Softwarová kontrola však ověřovala pouze to, zda byl konfigurační štítek definován, nikoli zda byla jeho hodnota nastavena na nulu. V důsledku toho mohl hotový firmware bez varování vybrat slabší funkci.
Vzhledem k tomu, že obě funkce měly shodné formáty, software pokračoval v kompilaci a běhu bez zobrazení zjevné chyby. Chyba se do kódu dostala v souvislosti s migrací softwaru v roce 2021 a zůstala ve veřejně dostupném firmwaru po dobu více než pěti let.
Aktualizace zařízení nyní neposiluje seed, který byl vygenerován pod vadným softwarem. Dotčení uživatelé musí vytvořit zcela nový seed pomocí opraveného firmwaru nebo jiného bezpečného zařízení a poté převést své prostředky na adresy spravované tímto novým seedem.

Uživatelé, kteří při vytváření svého seedu přidali alespoň 50 nezávislých hodů kostkou, mohli zajistit dostatečnou míru náhodnosti, aby se této slabiny vyhnuli. Silná heslová fráze podle standardu BIP-39 mohla rovněž ztížit rekonstrukci, zatímco peněženky vyžadující podpisy z několika nezávislých zařízení mohly zabránit tomu, aby jeden kompromitovaný seed sám převáděl prostředky.
Coinkite poukazuje na AI, ale důkaz stále chybí
Generální ředitel společnosti Coinkite Rodolfo Novak se veřejně omluvil a uvedl, že společnost přebírá plnou odpovědnost za selhání firmwaru. Řekl, že tým pracuje na opraveném softwaru, technických zprávách a podpoře pro postižené uživatele.
Společnost Coinkite a Novak rovněž předložili pozoruhodnou teorii o tom, jak byla chyba odhalena. Vzhledem k tomu, že její firmware byl již několik let veřejně dostupný, společnost uvedla, že se domnívá, že někdo mohl pomocí umělé inteligence prozkoumat starší verze kódu a odhalit slabé místo v generování náhodnosti.
„Všem ostatním vývojářům: věříme, že toto je střízlivá realita nového paradigmatu umělé inteligence. Kontrola kódu s pomocí umělé inteligence nyní dokáže odhalit skryté chyby rychlostí, která předčí i ty nejzkušenější odborníky v oboru,“ napsal Novak ve svém omluvném příspěvku zveřejněném na X. „Pokud je váš firmware open-source nebo byl někdy veřejně dostupný, počítejte s tím, že ho již čtou jak útočníci, tak obránci.“
Dnešní moderní systémy pro kódování s využitím AI dokážou zpracovávat rozsáhlá softwarová úložiště a identifikovat podezřelé vztahy mezi konfiguračními nastaveními, funkcemi a bezpečnostními předpoklady. Útočník by mohl takový systém požádat, aby hledal konkrétně slabé generátory náhodných čísel, záložní funkce nebo chyby ovlivňující kryptografické klíče.

Nezávislí výzkumníci později uvedli, že po odhalení základního problému s náhodností použili modely umělé inteligence k lokalizaci či vysvětlení této chyby. To ukázalo, jak dostupná se stala analýza kódu s podporou umělé inteligence, ale neprokázalo to, že původní útočník umělou inteligenci použil.

Společnost Coinkite přiznala, že její vlastní kontrola pomocí špičkového modelu umělé inteligence nedokázala odhalit tuto chybu před krádeží. Tento výsledek ukazuje, že systémy umělé inteligence automaticky nenajdou každou závažnou chybu. Jejich výkon může záviset na pokynech, které dostanou, na množství poskytnutého kódu a na tom, zda lidský kontrolor rozumí varovným signálům.
Kritici tvrdí, že nejprve došlo k lidskému selhání
Někteří bezpečnostní specialisté tvrdí, že přílišné soustředění se na umělou inteligenci (AI) s sebou nese riziko, že odvrátí pozornost od základního inženýrského selhání. Mnozí se domnívají, že konfigurační chyba patřila mezi známé typy softwarových chyb a že ji mohly odhalit již o několik let dříve běžné revize kódu, testovací postupy nebo audity zaměřené na generování seedů.

Tyto protichůdné názory nemusí být nutně neslučitelné. Lidská chyba vytvořila zranitelnost a umožnila její přetrvávání, zatímco AI mohla snížit náklady na její nalezení, pochopení nebo zneužití. Obránci musí identifikovat každou nebezpečnou slabinu, zatímco útočník potřebuje najít pouze jednu.
Tento incident také zpochybňuje předpoklady o bezpečnosti open-source softwaru. Veřejně dostupný kód umožňuje nezávislým odborníkům prověřovat software, ale samotná dostupnost nezaručuje, že někdo zkontroluje správnou část, rozpozná nenápadnou chybu a nahlásí ji dříve, než útočník zaútočí.
Pro uživatele Coldcard je bezprostřední prioritou zjistit, kdy a jak byl jejich seed vytvořen. Každý, kdo má postižený seed, musí ověřit pokyny prostřednictvím oficiálních kanálů Coinkite, nainstalovat opravený firmware, vytvořit nový seed a opatrně převádět prostředky, přičemž musí dávat pozor na phishingové pokusy a falešné zprávy od podpory.
Dlouhodobější otázky se budou týkat toho, kolik bitcoinů bylo odcizeno, zda se vyšetřovatelům podaří identifikovat útočníka a zda při odhalení chyby sehrála rozhodující roli umělá inteligence. Výrobci hardwarových peněženek budou rovněž čelit tlaku na posílení testování entropie, provádění auditů konfigurací sestavení a průběžné prověřování starého kódu jak lidskými odborníky, tak pomocí nástrojů umělé inteligence simulujících útočníka.
Tento článek byl přeložen z angličtiny pomocí umělé inteligence. Původní anglická verze je autoritativním zdrojem; automatické překlady mohou obsahovat nepřesnosti, zejména v právní a regulační terminologii.
















