Obsługiwane przez
Featured

Czy to sztuczna inteligencja wykryła lukę w zabezpieczeniach Coldcard?

Luka w oprogramowaniu Coldcard, istniejąca od pięciu lat, mogła umożliwić atakującemu odtworzenie kluczy prywatnych i kradzież ponad 1 100 bitcoinów, co skłoniło producenta portfela do przypisania części winy za to odkrycie sztucznej inteligencji (AI).

NAPISAŁ
UDOSTĘPNIJ
Czy to sztuczna inteligencja wykryła lukę w zabezpieczeniach Coldcard?

Najważniejsze wnioski

  • Klucze początkowe powiązane z Coldcard naraziły na utratę 1 128,4717 BTC o wartości około 71,1 mln dolarów.
  • Coinkite twierdzi, że to sztuczna inteligencja mogła wykryć tę pięcioletnią lukę, ale nie ma na to dowodów.
  • Użytkownicy Coldcard posiadający podatne na atak klucze początkowe muszą utworzyć nowe portfele na oprogramowaniu sprzętowym o naprawionych błędach.

Skoordynowana akcja doprowadziła do opróżnienia setek portfeli

Incydent wyszedł na jaw po tym, jak 30 lipca z około 500 adresów bitcoinowych z pojedynczym podpisem przeniesiono około 594 BTC, których wartość wynosiła wówczas blisko 38 mln dolarów. Kiedy wiadomość ta po raz pierwszy trafiła do mediów, serwis Bitcoin.com News zauważył, że przelewy miały miejsce w ciągu około 25 minut i wydawały się być skierowane przeciwko portfelom charakteryzującym się wspólną słabością techniczną.

Późniejsze analizy łańcucha bloków wskazały na większą skalę kradzieży. Badacze oszacowali, że w ciągu około 41 minut problem mógł dotknąć od 1 082 do 1 196 adresów. Następnie niestandardowy pulpit nawigacyjny o nazwie Coldcard Sweep Watch oszacował łączną kwotę na 1 128,4717 BTC, co stanowiło wartość około 71,1 mln dolarów, gdy cena bitcoina oscylowała w pobliżu 63 044 dolarów.

Coldcard Sweep Watch dashboard screenshot.
Źródło obrazu: pulpit nawigacyjny Coldcard Sweep Watch. Zrzut ekranu wykonany o godz. 8:30 czasu wschodnioamerykańskiego 1 sierpnia 2026 r. Od momentu wykonania tego zrzutu ekranu, godzinę później, o godz. 9:30, szacowana kwota wzrosła do 1 128,6633 BTC.

Większość środków została skonsolidowana na adresie przechowującym setki bitcoinów, gdzie znaczna część pozostawała w dużej mierze nieruchoma. Adresy, których dotyczyła ta sytuacja, łączył jeden istotny szczegół: ich frazy odzyskiwania zostały wygenerowane na portfelach sprzętowych Coldcard produkowanych przez kanadyjską firmę Coinkite.

Klucz odtwarzający to lista słów, która kontroluje dostęp do portfela kryptowalutowego. Każdy, kto jest w stanie odtworzyć lub uzyskać ten klucz, zazwyczaj może dysponować środkami z portfela bez posiadania fizycznego urządzenia.

Coldcard wykrywa wadliwy system generowania liczb losowych

Firma Coinkite opublikowała pilne ostrzeżenie, że niektóre klucze odtwarzania wygenerowane na urządzeniach Coldcard mogą być słabe. Największemu ryzyku narażone były urządzenia Mk3 z oprogramowaniem sprzętowym w wersji 4.0.1, wydanym około marca 2021 r., oraz późniejsze wersje.

Dalsza analiza rozszerzyła zakres obaw na kody odtwarzania utworzone na niektórych urządzeniach Mk4, Mk5 i Q, zanim firma Coinkite wydała awaryjne poprawki oprogramowania układowego. Produkty Tapsigner, Opendime i Satscard podobno nie były narażone na to zagrożenie, ponieważ korzystają z innego oprogramowania.

Luka dotyczyła procesu generowania danych losowych. Bezpieczne portfele opierają się na wysokiej jakości losowości, dzięki czemu ich klucze odtwarzające nie mogą zostać odgadnięte. W przypadku najbardziej dotkniętych problemem urządzeń Mk3 badacze oszacowali, że klucz mógł zawierać jedynie około 40 bitów efektywnej losowości zamiast zamierzonych 128 bitów.

Różnica ta ma kluczowe znaczenie. Prawidłowo wygenerowany klucz o długości 128 bitów uznaje się za praktycznie niemożliwy do odgadnięcia metodą brute force. Klucz o długości 40 bitów oferuje znacznie mniej możliwości, co pozwala atakującemu dysponującemu wystarczającą mocą obliczeniową na przetestowanie potencjalnych kluczy w trybie offline i porównanie uzyskanych adresów z publicznym łańcuchem bloków Bitcoin.

Niektóre nowsze urządzenia mogły zapewniać około 72 bitów efektywnej losowości, ponieważ bezpieczny sprzęt dodawał kolejną warstwę nieprzewidywalnych danych. Utrudniłoby to odtworzenie nasion, choć nadal byłyby one znacznie słabsze niż zamierzono.

Jeden błąd konfiguracyjny przetrwał 5 lat

Problem zaczął się od błędu konfiguracyjnego popełnionego podczas kompilacji, dotyczącego dwóch funkcji oprogramowania, które wykonywały podobne zadania. Jedna z funkcji korzystała z opartego na sprzęcie generatora prawdziwych liczb losowych urządzenia, podczas gdy druga opierała się na słabszym procesie programowym odziedziczonym po MicroPythonie.

Firma Coinkite zamierzała wyłączyć opcję MicroPython. Jednak kontrola oprogramowania sprawdzała jedynie, czy zdefiniowano etykietę konfiguracyjną, a nie czy jej wartość została ustawiona na zero. W rezultacie gotowe oprogramowanie układowe mogło w sposób niezauważalny wybierać słabszą funkcję.

Ponieważ obie funkcje miały identyczne formaty, oprogramowanie nadal kompilowało się i działało bez generowania oczywistych błędów. Błąd ten przedostał się do kodu podczas migracji oprogramowania w 2021 roku i pozostawał w publicznie dostępnym oprogramowaniu sprzętowym przez ponad pięć lat.

Aktualizacja urządzenia nie wzmacnia teraz klucza początkowego, który został wygenerowany przy użyciu wadliwego oprogramowania. Użytkownicy, których dotyczy ten problem, muszą utworzyć całkowicie nowy klucz początkowy przy użyciu poprawionego oprogramowania układowego lub innego bezpiecznego urządzenia, a następnie przenieść swoje środki na adresy kontrolowane przez ten nowy klucz początkowy.

X screenshot
Źródło zdjęcia: X

Użytkownicy, którzy podczas tworzenia swojego seed’a dodali co najmniej 50 niezależnych rzutów kostką, mogli zapewnić wystarczającą dodatkową losowość, aby uniknąć tej luki. Silne hasło zgodne ze standardem BIP-39 również mogło utrudnić odtworzenie seed’a, natomiast portfele wymagające podpisów z kilku niezależnych urządzeń mogły uniemożliwić samodzielne przeniesienie środków przez jeden skompromitowany seed.

Coinkite wskazuje na sztuczną inteligencję, ale nadal brakuje dowodów

Dyrektor generalny Coinkite, Rodolfo Novak, publicznie przeprosił i oświadczył, że firma bierze pełną odpowiedzialność za awarię oprogramowania układowego. Powiedział, że zespół pracuje nad poprawioną wersją oprogramowania, raportami technicznymi oraz wsparciem dla poszkodowanych użytkowników.

Coinkite i Novak przedstawili również zaskakującą teorię dotyczącą sposobu wykrycia luki. Ponieważ oprogramowanie układowe firmy było publicznie dostępne od lat, firma stwierdziła, że prawdopodobnie ktoś wykorzystał sztuczną inteligencję do przeanalizowania starszych wersji kodu i zlokalizowania słabego łańcucha losowości.

„Do wszystkich innych programistów: uważamy, że jest to surowa rzeczywistość nowego paradygmatu sztucznej inteligencji. Wspomagany przez sztuczną inteligencję przegląd kodu pozwala obecnie wykrywać ukryte błędy z prędkością przewyższającą nawet najbardziej doświadczonych ekspertów w branży” – napisał Novak w swoim poście z przeprosinami opublikowanym na X. „Jeśli wasze oprogramowanie układowe jest open source lub kiedykolwiek było publicznie dostępne, zakładajcie, że jest już analizowane zarówno przez atakujących, jak i obrońców”.

Współczesne systemy kodowania oparte na sztucznej inteligencji potrafią przetwarzać duże repozytoria oprogramowania i identyfikować podejrzane powiązania między ustawieniami konfiguracyjnymi, funkcjami i założeniami dotyczącymi bezpieczeństwa. Atakujący mógłby poprosić taki system o wyszukanie konkretnie słabych generatorów liczb losowych, funkcji awaryjnych lub błędów mających wpływ na klucze kryptograficzne.

X screenshot
Niektórzy obserwatorzy wykorzystali najlepsze modele AI, aby samodzielnie wykryć lukę w zabezpieczeniach Coldcard. Źródło zdjęcia: X

Niezależni badacze poinformowali później, że wykorzystali modele sztucznej inteligencji do zlokalizowania lub wyjaśnienia problemu po tym, jak ujawniono leżący u jego podstaw problem z losowością. Pokazało to, jak powszechnie dostępna stała się analiza kodu wspomagana przez sztuczną inteligencję, ale nie potwierdziło, że pierwotny atakujący korzystał z AI.

Coldcard Wallet blog post discussing AI screenshot.
Źródło zdjęcia: wpis na blogu Coldcard Wallet poświęcony sztucznej inteligencji.

Firma Coinkite przyznała, że jej własna analiza przeprowadzona przy użyciu wiodącego modelu AI nie wykryła luki przed kradzieżą. Wynik ten pokazuje, że systemy AI nie wykrywają automatycznie wszystkich poważnych błędów. Ich skuteczność może zależeć od otrzymanych instrukcji, ilości dostarczonego kodu oraz tego, czy recenzent rozumie sygnały ostrzegawcze.

Krytycy twierdzą, że najpierw doszło do błędu ludzkiego

Niektórzy specjaliści ds. bezpieczeństwa twierdzą, że zbytnie skupianie się na sztucznej inteligencji (AI) grozi odwróceniem uwagi od podstawowej wady inżynieryjnej. Wielu uważa, że błąd konfiguracyjny był znanym rodzajem błędu oprogramowania, a konwencjonalne przeglądy kodu, procedury testowe lub audyty skupione na generowaniu klucza początkowego mogłyby go wykryć już wiele lat wcześniej.

X screenshot.
Niektórzy obserwatorzy nie uważają, że winę ponosi sztuczna inteligencja, i sądzą, że zespół inżynierów powinien był samodzielnie wykryć tę lukę. Źródło zdjęcia: X.

Te przeciwstawne poglądy niekoniecznie są ze sobą sprzeczne. Błąd ludzki spowodował powstanie luki i pozwolił jej utrzymać się, podczas gdy sztuczna inteligencja mogła obniżyć koszt jej wykrycia, zrozumienia lub wykorzystania. Obrońcy muszą zidentyfikować każdą niebezpieczną słabość, podczas gdy atakujący musi znaleźć tylko jedną.

Incydent ten podważa również założenia dotyczące bezpieczeństwa oprogramowania open source. Publiczny kod pozwala niezależnym ekspertom na analizę oprogramowania, ale sama dostępność nie gwarantuje, że ktoś przejrzy właściwą sekcję, rozpozna subtelną usterkę i zgłosi ją, zanim atakujący podejmie działanie.

Dla użytkowników Coldcard najpilniejszym priorytetem jest ustalenie, kiedy i w jaki sposób został utworzony ich seed. Każdy, kto posiada podatny na atak seed, musi zweryfikować instrukcje za pośrednictwem oficjalnych kanałów Coinkite, zainstalować poprawione oprogramowanie sprzętowe, utworzyć nowy seed oraz ostrożnie przenosić środki, zwracając uwagę na próby phishingu i fałszywe wiadomości od pomocy technicznej.

Długoterminowe pytania będą dotyczyły tego, ile bitcoinów zostało skradzionych, czy śledczy zdołają zidentyfikować atakującego oraz czy sztuczna inteligencja odegrała decydującą rolę w wykryciu luki. Producenci portfeli sprzętowych będą również pod presją, by wzmocnić testy entropii, przeprowadzić audyt konfiguracji kompilacji oraz stale analizować stary kod zarówno przy pomocy ekspertów, jak i narzędzi sztucznej inteligencji opartych na podejściu przeciwnika.

Ten artykuł został przetłumaczony z języka angielskiego przy użyciu sztucznej inteligencji. Oryginalna wersja angielska jest źródłem autorytatywnym; tłumaczenia automatyczne mogą zawierać nieścisłości, zwłaszcza w terminologii prawnej i regulacyjnej.