Прошедший год и без того стал суровым испытанием для криптоинвесторов (многие увидели падение своего портфеля на 60% за день), но начало августа 2026 года принесло новости похуже. То, что считалось самым безопасным способом хранения Bitcoin, оказалось самым быстрым способом его потерять.
Cold Card — знаменитый аппаратный кошелек с воздушным зазором (air-gapped), созданный для параноиков безопасности, — был взломан. С 30 июля злоумышленники вывели более 1800 BTC (около $100 миллионов) из более чем 7000 кошельков. Самое пугающее? Хакеры сделали это без вредоносного ПО, фишинга или физического насилия.
В этой статье мы детально разберем, как произошла крупнейшая кража у самых осторожных ходлеров, почему хваленый генератор случайных чисел дал сбой и почему сейчас жертвы вынуждены перебивать ставки хакеров в реальном времени, чтобы спасти собственные деньги.
Ирония судьбы: Жертвы — не новички
Жертвами этого эксплойта стали не типичные крипто-энтузиасты, кликающие по случайным ссылкам в Discord. Под удар попали самые ответственные пользователи — те самые биткоин-максималисты с татуировками «not your keys, not your crypto», которые годами твердили, что хранить монеты на биржах небезопасно.
Компания Coin Kite (производитель Cold Card) всегда позиционировала свой продукт как решение для людей, не доверяющих никому. Устройство имеет открытый исходный код, полностью изолировано от сети и оснащено специальным чипом для сбора истинной энтропии из физического мира. Однако, как выяснилось, насколько бы сложным ни был ваш генератор случайных чисел, от него нет толка, если устройство его не использует.
Технический разбор: Как именно взломали Cold Card?
Безопасность сети Bitcoin строится на том, что ваша приватная сид-фраза из 12 слов непредсказуема. Правильно сгенерированная фраза имеет 128 бит энтропии. Если бы вы делали миллиард попыток в секунду, Вселенная закончилась бы быстрее, чем вы угадали бы одну фразу. Но на протяжении последних 5 лет кошельки Cold Card генерировали ключи с критической уязвимостью.
Вот пошаговая анатомия катастрофы:
- Конфликт библиотек: Прошивка Cold Card работает на MicroPython, который имеет свой базовый генератор случайных чисел. Он подходит для простых задач, но абсолютно не годится для криптографии. Coin Kite написали свой, надежный генератор для аппаратного чипа.
- Фатальная ошибка в коде: Оба генератора (и базовый, и продвинутый) имели функцию с абсолютно одинаковым названием. Криптографическая библиотека должна была решить, какую из них использовать, опираясь на проверку
if not defined(если не задано). - Иллюзия отключения: Разработчики установили специальный флаг на ноль (
0), думая, что это отключит генератор MicroPython. Но поскольку флаг технически был определен (даже если его значение — ноль), проверка прошла. - Результат: Каждая сид-фраза генерировалась примитивным модулем MicroPython вместо специализированного чипа.
Поскольку аппаратный чип не имеет операционной системы, генератору MicroPython неоткуда было брать «настоящую» случайность. Вместо этого он имитировал ее, используя серийный номер чипа и внутренний таймер. Оба эти значения детерминированы (предсказуемы).
Вместо того чтобы перебирать атомы во Вселенной, хакерам достаточно было запустить цикл перебора комбинаций серийных номеров и значений таймера.
Битва в мемпуле: Почему жертвы платят хакерам?
К 30 июля злоумышленники вычислили ключи и начали действовать. Менее чем за час первый атакующий вывел более 1000 BTC, ударив по самым крупным балансам. За выходные к атаке присоединились еще две группы хакеров.
Генеральный директор Coin Kite принес извинения и взял на себя полную ответственность. Все нераспроданные устройства на складах с этой сломанной прошивкой были списаны. Но выпуск обновления прошивки не мог решить проблему.
В Bitcoin невозможно «обновить» или «сменить» ключ от существующего адреса. Единственный выход для жертв — сгенерировать новую сид-фразу (на безопасном устройстве) и перевести свои монеты скомпрометированного адреса настоящей ончейн-транзакцией. И тут началась главная драма:
- Боты в мемпуле: Каждая транзакция в Bitcoin сначала попадает в публичный мемпул, ожидая майнеров. Хакеры настроили ботов, которые мониторят мемпул на предмет транзакций с уязвимых адресов Cold Card.
- Атака RBF (Replace-by-Fee): Как только жертва пытается спасти свои деньги, бот хакера моментально создает конкурирующую транзакцию с теми же ключами, отправляя деньги на свой кошелек, но устанавливает более высокую комиссию для майнеров.
- Централизованное спасение: Поскольку майнеры всегда подтверждают транзакцию того, кто платит больше, единственным способом спасти средства в понедельник утром стало полное игнорирование публичного мемпула.
Жертвам пришлось отправлять свои «спасательные» транзакции напрямую в крупные пулы централизованных майнеров. Бот не может перебить ставку транзакции, которую он не видит.
Горькая ирония: Официальным планом спасения децентрализованных денег, не требующих доверия (trustless), стало требование полностью довериться одному централизованному майнеру и надеяться на лучшее.
Выводы для криптоиндустрии
Взлом Cold Card войдет в историю как один из самых элегантных и разрушительных технических сбоев. Он доказывает, что аппаратные кошельки уязвимы не только к физическому вмешательству, но и к банальным ошибкам архитектуры кода.
Главный урок для разработчиков: Названия функций и проверки инициализации переменных — это не просто формальность, а линия фронта, защищающая сотни миллионов долларов.
