Уязвимость в прошивке аппаратных кошельков Coldcard привела к краже примерно $88,6 млн в биткоинах, рассказали исследователи Galaxy Research. Речь идёт о тысячах кошельков, чьи сид‑фразы были созданы с использованием дефектного генератора случайных чисел.

Аналитическая компания Galaxy Research выявила первую волну транзакций, связанных с уязвимостью, в результате чего 30 июля 2026 года с 1196 криптовалютных кошельков вывели около 1083 биткоинов на сумму $70,2 млн. Атака длилась 41 минуту, она произошла за 30 часов до того, как компания Coinkite публично признала существование уязвимости.
Каждая транзакция использовала одинаковую жёстко заданную комиссия в размере 30 сатоси за виртуальный байт и не содержала выхода со сдачей (change output). Заданная комиссия в 30–75 раз выше, чем медианное значение в 0,4–1,0 сатоси за байт, наблюдавшееся на той неделе. Из‑за этого в Galaxy Research предположили, что злоумышленники использовали автоматизированный инструмент.
В начале августа Galaxy Research выявила вторую и третью волны краж, в результате чего общее количество украденных биткоинов с 4585 криптовалютных кошельков достигло 1367. К настоящему моменту украденные биткоины остаются на кошельках, контролируемых злоумышленниками.
Анализ Chainalysis показал, что злоумышленники отдавали приоритет кошелькам с крупными суммами, украв около $30 млн за первые десять минут и забрав $1,8 млн у одной из жертв. Всё это указывает на то, что преступники идентифицировали и изучили затронутые кошельки до начала серии краж.

Команды компании Block указали, что после сообщений о краже биткоинов из кошельков Coldcard они совместно с другими исследователями проанализировали прошивку устройства и выявили лежащую в её основе уязвимость. Исследователи обнаружили, что причина проблемы связана с ошибкой интеграции в коде генератора случайных чисел Coldcard. Block сообщила Coinkite о своих выводах 30 июля.
Coldcard использует аппаратный генератор случайных чисел, но некорректная проверка в прошивке привела к тому, что вместо него применялся детерминированный программный генератор — это сделало процесс создания сид‑фраз предсказуемым. Генератор резервного варианта задействовал идентификатор микроконтроллера устройства и значения системных временных параметров, которые Block не считает криптографически защищёнными источниками случайности.
Это позволяло злоумышленникам генерировать возможные сид‑фразы для кошельков в автономном режиме, определять биткоин‑адреса и сравнивать их с адресами, видимыми в блокчейне. Совпадение подтверждало правильность сид‑фразы, что позволяло злоумышленникам сгенерировать закрытые ключи, необходимые для кражи средств.
Coinkite сообщила, что к числу затронутых сид‑фраз относятся те, которые сгенерировали на устройствах Mk2 и Mk3 с версиями прошивки от 4.0.1 до 4.1.9, на устройствах Mk4 и Mk5 с версиями прошивки ниже 5.6.0 или Edge 6.6.0X, а также на устройствах Q с версиями прошивки ниже 1.5.0Q или Edge 6.6.0QX.
Устраняющая эту ошибку прошивка доступна в версиях 4.2.0 или более поздних для Mk2 и Mk3, 5.6.0 или более поздних для стандартных устройств Mk4 и Mk5, 1.5.0Q или более поздних для стандартных устройств Q, а также в версиях 6.6.0X или 6.6.0QX для соответствующих моделей Edge.
Однако обновление прошивки не исправляет сид‑фразу, которая была сгенерирована ранее. Пострадавшим следует проверить существующую резервную копию, установить исправленную прошивку, сгенерировать и безопасно записать новую сид‑фразу, проверить отображение нового адреса кошелька на устройстве, отправить небольшую тестовую транзакцию, а затем перевести оставшиеся средства.
Продукты Tapsigner, Opendime и Satscard не были затронуты этой проблемой, поскольку они используют разные кодовые базы, сообщила Coinkite.
ссылка на оригинал статьи https://habr.com/ru/articles/1066934/