Błąd w firmwarze sprawił, że seedy Coldcard dało się odgadnąć: zniknęło 1367 bitcoinów
Błąd z marca 2021 roku powodował, że portfele Coldcard generowały seed programowym generatorem zamiast układem sprzętowym. 30 lipca w 41 minut opróżniono 1196 adresów. Co sprawdzić, jeśli masz takie urządzenie.
Hardware wallet ma być najbezpieczniejszym miejscem dla twoich bitcoinów. W przypadku Coldcard przez pięć lat tak nie było, a rachunek przyszedł 30 lipca 2026 roku.
Co poszło nie tak
Podczas migracji firmware'u w marcu 2021 roku generowanie seeda przekierowano na pseudolosowy generator MicroPythona zamiast na prawdziwy generator sprzętowy w samym urządzeniu. Skutek: seed, który powinien mieć 128 bitów entropii, w praktyce miał jej znacznie mniej. Około 40 bitów w modelach Mk2 i Mk3, około 72 bity w Mk4, Mk5 i Q.
Czterdzieści bitów to nie problem teoretyczny. To przestrzeń, którą atakujący przejdzie na zwykłym sprzęcie. Kto utworzył seed na takim urządzeniu, w praktyce trzymał klucz możliwy do odgadnięcia.
41 minut, 1196 adresów
Pierwsza fala miała miejsce 30 lipca między 1.10 a 1.51 czasu UTC. W ciągu tych 41 minut z 1196 adresów zabrano 1082,65 bitcoina, wartych wówczas około 70,2 miliona dolarów, czyli mniej więcej 61,4 miliona euro. Według najnowszego zestawienia jest to 1367,05 bitcoina z 4585 adresów w trzech falach: około 88,6 miliona dolarów, a więc z grubsza 77,5 miliona euro.
Dla porównania: wszystkie 24 protokoły DeFi zaatakowane w lipcu straciły łącznie 132,2 miliona dolarów, około 115,7 miliona euro. Jeden błąd w jednym portfelu zaważył więc bardziej niż cały miesiąc exploitów.
Które modele i które wersje
Coinkite wydało awaryjny firmware 31 lipca. Podatne są: Mk2 i Mk3 w wersjach od 4.0.0 do 4.1.9, naprawione w 4.2.0. Mk4 i Mk5 we wszystkim starszym niż 5.6.0. Q we wszystkim starszym niż 1.5.0Q. W buildach Edge chodzi o wszystko starsze niż 6.6.0X (Mk4 i Mk5) oraz 6.6.0QX (Q).
Tapsigner, Opendime i Satscard działają na innej bazie kodu i nie zostały dotknięte.
Co teraz zrobić
Sama aktualizacja nie wystarczy. Nowy firmware naprawia generator, ale nie seed utworzony w 2021 roku lub później. Ten pozostaje słaby.
Jeśli twój seed powstał na jednym z wymienionych urządzeń, utwórz nowy seed na załatanym firmwarze i przenieś tam swoje monety. Nie odtwarzaj starego seeda na innym urządzeniu, bo po prostu zabierzesz problem ze sobą. Coinkite wskazuje, że seed zbudowany z co najmniej pięćdziesięciu uczciwych, niezależnych rzutów kostką nie jest podatny z powodu samego tego błędu.
Co ci to daje
Praktyczny wniosek nie brzmi, że Coldcard jest zły. Wniosek brzmi, że „hardware wallet” sam w sobie nie jest gwarancją: ufasz jednemu fragmentowi kodu, którego nie możesz podejrzeć w trakcie działania. Kto sam dokłada entropię kostkami albo sprawdza seed dwiema niezależnymi drogami, nie wisi na tym jednym założeniu.
A jeśli masz w szufladzie stare urządzenie i nie pamiętasz już, jaki firmware na nim był: to dokładnie ten przypadek, w którym przeniesienie monet kosztuje mniej niż dochodzenie prawdy.
Źródła: The Hacker News (1 sierpnia 2026 roku), Privacy Guides (2 sierpnia 2026 roku), miesięczne podsumowanie Coinmonks (4 sierpnia 2026 roku), komunikat firmware'owy Coinkite. Przeliczenie na euro po kursie 0,875. Ostatnio sprawdzono: 5 sierpnia 2026 roku.
