Уразливість у апаратних гаманцях Coldcard призвела до крадіжки приблизно 1 367 BTC, що становить близько 89 мільйонів доларів США, з понад 4 500 адрес, починаючи з координованих атак 30 липня. Ця помилка, яка тихо існувала у прошивці з березня 2021 року, настільки посилила слабкість випадковості, що використовується для генерації посівів гаманця, що зловмисники змогли їх розкрити.
Генеральний директор Foundation Devices Зак Герберт зазначив, що відкритий характер коду гаманця bitcoin став причиною того, що спільнота змогла виявити проблему і швидко на неї відреагувати. Його аргумент: власний прошивка зробила б проблему складнішою для виявлення і ще складнішою для виправлення.
Що пішло не так в прошивці Coldcard
Під час налаштування апаратного гаманця пристрій генерує «сід», який є основним ключем до всіх ваших bitcoin. Цей сід повинен бути випадковим. Галузевий стандарт — 128 біт ентропії, що на практиці означає, що кількість можливих сідів настільки астрономічно велика, що перебір усіх варіантів для знаходження правильного займе більше часу, ніж вік всесвіту.
Версія прошивки Coldcard 4.0.1, випущена у березні 2021 року канадським виробником Coinkite, містила баг під час значної переробки коду. Замість генерації ключів з 128 бітами ентропії, вплинути пристрої, зокрема моделі Mk2 і Mk3, генерували ключі з приблизно 72 бітами.
Різниця між 128 бітами та 72 бітами ентропії здається незначною, якщо ви не криптограф. Але це не так. Кожен відсутній біт зменшує кількість можливостей наполовину. Втрата 56 бітів означає, що простір пошуку скоротився в 72 квадрильйони разів. Саме така математика перетворює теоретичну вразливість на практичну.
Атака та відповідь
Скоординовані атаки, що використовували цю слабкість, розпочалися 30 липня 2026 року. За кілька днів з гаманців, чиї seed-фрази були згенеровані на вразливих версіях прошивки, було виведено приблизно 1 367 BTC. На той момент ця сума коштувала близько 89 мільйонів доларів США.
Швидкість виведення коштів через більше ніж 4 500 окремих адрес свідчить про те, що нападники готувалися протягом тривалого часу, ймовірно, заздалегідь обчисливши вразливі посіви перед виконанням крадіжок у швидкому порядку.
Coinkite випустила виправлену прошивку 31 липня, лише через один день після того, як атаки стали помітними. Виправлення були представлені у вигляді версії 5.6.0 для пристроїв Mk4 і Mk5, версії 1.5.0Q для моделі Q та версії 4.2.0 для старіших Mk3. Але оновлення прошивки саме по собі не вирішує проблему. Користувачі, які створили seeds на вразливій прошивці, все ще повинні перейти на абсолютно нові seeds, оскільки старі залишаються скомпрометованими незалежно від того, яке програмне забезпечення зараз використовує пристрій.
Сіди, згенеровані за допомогою щонайменше 50 незалежних чесних кидків кубиків, не були впливні. Також не були впливні сіди, створені на версіях прошивки раніше 4.0.1. Уразливість була специфічною для коду генерації ентропії, введеного під час переписування 2021 року.
Аргумент відкритого коду
Зак Герберт, який керує Foundation Devices — виробником апаратних гаманців, що є конкурентом — висловився щодо цієї події, підкресливши, що відкритий код є ключовим для швидкої реакції спільноти. Його позиція проста: коли прошивка гаманця доступна для публічного аудиту, вразливості виявляються швидше, виправлення перевіряються до розгортання, а вся екосистема користується колективним наглядом.
Відкритий код допомагає спільноті bitcoin швидко реагувати та може запобігти майбутнім інцидентам безпеки.
Foundation Devices виробляє гаманець Passport, прямого конкурента Coldcard. Ця вразливість існувала у виробничій прошивці понад п’ять років, перш ніж її було використано. Швидке виправлення — один день від атаки до виправлення — підтверджує ідею, що прозорі кодові бази прискорюють реагування на інциденти.
Що це означає для користувачів апаратних гаманців
Для користувачів, які ще використовують пристрої Coldcard із сідами, згенерованими після березня 2021 року, дії очевидні: негайно оновіть прошивку і, що важливіше, згенеруйте абсолютно нові сіди. Просте застосування патча прошивки без переходу на новий сід залишає основну вразливість незмінною. Користувачі, які використовували щонайменше 50 незалежних чесних кидків кубиків для генерації свого сіду, ніколи не залежали від внутрішнього генератора випадкових чисел пристрою і не постраждали.

