492 / 691CK-RNG

COLDCARD RNG Incident (2026)

Incydent generowania losowości w portfelach COLDCARD

Ujawniony błąd integracji kierował generowanie seeda do przewidywalnego generatora programowego zamiast zamierzonego źródła sprzętowego. Poprawiony firmware zmienia przyszłe generowanie; istniejący dotknięty seed wymaga osobnej oceny i migracji zgodnie z aktualnymi zaleceniami.

COLDCARD RNG Incident (2026) oznacza błąd generowania tajnych wartości ujawniony w lipcu 2026 oraz jego naprawę. Znaczenie mają model, gałąź i wersja firmware podczas tworzenia seeda, jego pochodzenie i niezależna entropia. Nie było to zdalne przejęcie urządzenia ani błąd konsensusu Bitcoina.

Coinkite i Block opublikowały pierwsze analizy 30 lipca 2026 po zgłoszeniach strat. Producent opisuje odtwarzanie słabych kluczy prywatnych przez napastników offline, a nie zdalne sterowanie urządzeniami. Sama marka portfela nie określa przyczyny konkretnej straty. Dokumentację techniczną i późniejsze zalecenia należy czytać wraz z datami ich rewizji. [Coinkite — COLDCARD Security Advisory] [Block — Predictable RNG Fallback and 32-Bit Reseed]

Po przejściu na libNgU wywołanie ngu.random.bytes docierało do rng_get z MicroPythona i generatora Yasmarang. MICROPY_HW_ENABLE_RNG miało wartość 0, lecz #ifndef sprawdzało istnienie makra, a nie włączenie ścieżki sprzętowej. Zamierzony kod TRNG mógł znajdować się w pliku binarnym, choć generowanie seeda go nie używało. Nie doszło do awarii sprzętu uruchamiającej awaryjny fallback podczas działania. [Coinkite — Technical Deep Dive into the Entropy Issue]

Stan programu wynikał z danych urządzenia, liczników czasu i historii wywołań. Dla Mk4, Mk5 i Q Block opisuje dodatkowy reseed ograniczony do 32 bitów: najwyżej 2^32 różne strumienie przy ustalonej reszcie stanu. Coinkite podawało wstępne szacunki łączne około 40 bitów dla Mk2/Mk3 i 72 bitów dla nowszych modeli. Liczby opierają się na różnych założeniach; nie wyznaczają uniwersalnego kosztu ataku ani nie dowodzą natychmiastowej możliwości złamania każdego portfela. [Block — Predictable RNG Fallback and 32-Bit Reseed] [Coinkite — Technical Deep Dive into the Entropy Issue]

Oficjalne zalecenia wskazują Mk2/Mk3 4.0.1–4.1.9. Pierwsza analiza Block obejmuje już 4.0.0 i zmianę z marca 2021; jawnie zachowujemy tę rozbieżność źródeł. Przy niepewnym pochodzeniu seeda przewodnik zaleca ostrożną ścieżkę migracji. Mk4/Mk5 i Q były dotknięte przed poprawką odpowiedniej gałęzi. Dawne stwierdzenie pierwszej analizy o wszystkich wersjach produkcyjnych nie opisuje obecnych poprawionych wydań. [Coinkite — COLDCARD Security Advisory] [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

Minimalne poprawki to Mk2/Mk3 4.2.0, Mk4/Mk5 Standard 5.6.0, Q Standard 1.5.0Q, Mk4/Mk5 Edge 6.6.0X i Q Edge 6.6.0QX. Numerów różnych gałęzi nie można porównywać jako jednego ciągu. Podczas tej rewizji strona stanu zaleca Standard 5.6.2 dla Mk4/Mk5 oraz 1.5.2Q dla Q. Przed instalacją sprawdź aktualną oficjalną stronę, hash i podpis wydania; wyższy numer innej gałęzi nie wystarcza. [COLDCARD — Current Security Status]

Deterministyczne haszowanie może zmienić wygląd wyniku, ale nie powiększa zbioru możliwych wejść. BIP39 Checksum również nie dodaje brakującej entropii. Bezpiecznie utworzony zewnętrzny seed nie zostaje osłabiony przez ten incydent tylko dlatego, że zaimportowano go do COLDCARD. Dotknięty seed pozostaje natomiast dotknięty po odtworzeniu na innym urządzeniu; aktualizacja, klonowanie czy transfer nie czynią go nowym seedem. [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

Wyjątek producenta wymaga co najmniej 50 uczciwych, niezależnych i prywatnych rzutów w pierwotnym procesie Add Dice Rolls oraz użycia końcowych słów pokazanych po ich dodaniu. Przy mniejszej liczbie lub niepewności zaleca migrację. Silna, unikalna BIP39 Passphrase dodaje barierę, lecz nie naprawia słabego seeda; producent zaleca migrację także jej użytkownikom. PIN nie jest passphrase. Dzisiejsze wymogi tworzenia nowego seeda trzeba odróżniać od historycznego wyjątku. [Coinkite — COLDCARD Security Advisory]

Aktualny przewodnik prowadzi przez sprawdzenie kopii, instalację właściwej poprawki, rzeczywiście nowy seed, kontrolę fingerprintu i adresu odbiorczego na urządzeniu oraz małą transakcję testową. Pozostałe środki przenosi się dopiero po sprawdzeniu nowego celu. Zachowaj starą kopię do pełnego potwierdzenia migracji i uwzględnij wszystkie konta ze środkami, portfele z passphrase, pochodne portfele potomne oraz polityki multisig. Przy rozbieżności niczego nie usuwaj ani nie wysyłaj; prywatne dane odzyskiwania nie należą do formularza internetowego. [COLDCARD — Seed migration guide]

Multisig nie jest automatycznym wyjątkiem: wystarczająca liczba przejętych kluczy podpisu może spełnić próg starej polityki. Trzeba ocenić pozostałe bezpieczne klucze i zweryfikować nową politykę. Block wymienia też innych odbiorców tej samej losowości, np. samodzielne klucze paper wallets i niektóre tymczasowe klucze szyfrowania. Waga problemu zależy od protokołu i dostępnych danych; wpływ nie jest jednakowy dla każdej funkcji. [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

Strona stanu rozróżnia test sprzętowego RNG na rzeczywistym Mk4, przeglądy źródeł i odtworzoną kompilację konkretnej poprawki. Są to ograniczone kontrole ścieżki i mechanizmu, a nie pełny audyt każdego pliku binarnego czy dowód braku wszystkich błędów. Aktualny Standard wymaga też wkładu entropii użytkownika; dawne twierdzenie, że zawsze jest opcjonalny, byłoby mylące. Osobny szczegółowy raport techniczny z incydentu strona nadal określa jako przygotowywany. [COLDCARD — Current Security Status]

Przykład · CK-RNG

Nowy firmware, ale nadal pierwotny seed

Użytkownik utworzył seed na Mk3 4.1.9 bez własnych rzutów kością. Później zainstalował 4.2.0 i odtworzył te same słowa na innym urządzeniu. Pochodzenie seeda nie uległo zmianie. Ocenia naprawę według przewodnika migracji: nowy bezpiecznie utworzony seed, sprawdzona kopia i adres, przelew testowy, a dopiero potem reszta. Starą kopię zachowuje do potwierdzenia wszystkich środków.

Pełniejszy obraz uzyskasz, czytając to hasło razem z Cryptographic Entropy, Deterministic RNG, Seed Generation, BIP39 checksum, BIP39 passphrase, Dice Roll Entropy.

01Czy wystarczy aktualizacja firmware albo zakup nowego portfela?

Nie. Żaden krok nie zmienia istniejącego seeda. Liczy się miejsce i sposób jego utworzenia. Dotknięte środki trzeba obsłużyć zgodnie z zaleceniami migracji i dokładnymi warunkami wyjątku dla niezależnych kości; odtworzenie tych samych słów nie usuwa problemu.

02Czy 32 bity oznaczają równie łatwy atak na każdy model?

Nie. W analizie Block jest to ograniczenie dodatkowego reseedu przy ustalonej reszcie stanu i historii wywołań. Nieznajomość danych urządzenia lub czasu zmienia pracę napastnika. Szacunek nie jest uniwersalnym benchmarkiem ani dowodem bezpieczeństwa konkretnego dotkniętego seeda.

DOC · 001Coinkite — Technical Deep Dive into the Entropy IssueŹródło pierwotne ↗DOC · 002Coinkite — COLDCARD Security AdvisoryŹródło pierwotne ↗DOC · 003Block — Predictable RNG Fallback and 32-Bit ReseedŹródło pierwotne ↗DOC · 004COLDCARD — Current Security StatusŹródło pierwotne ↗DOC · 005COLDCARD — Seed migration guideDokumentacja ↗
Najpierw źródła · To nie jest porada inwestycyjna