Привет! Большинство пользователе уверены, что аппаратные кошельки - это незыблемая крепость. Увы. Пару дней назад прочитал первый репорт о сливах с «холодных» девайсов, у меня внутри буквально все похолодело.
Coldcard от Coinkite - это же был абсолютно золотой стандарт для биткоин-максималистов. И тут такой провал...
Ладно, сопли в сторону. Если вы держите биткоины на Coldcard, читайте очень внимательно. Ниже я разложу все по полочкам: от криптографической сути этой проблемы до пошагового алгоритма, как вытащить ваши монеты из-под удара прямо сейчас.
⚠️ СРОЧНОЕ ПРЕДУПРЕЖДЕНИЕ
Если вы генерировали мнемоническую фразу (seed) непосредственно на устройстве Coldcard в период с марта 2021 года по июль 2026 года, ВАШИ СРЕДСТВА НАХОДЯТСЯ В ЗОНЕ КРИТИЧЕСКОГО РИСКА.
Злоумышленники прямо сейчас пылесосят блокчейн в автоматическом режиме. Срочно дочитайте раздел с инструкцией и эвакуируйте активы!
1. Что произошло: краткая сводка катастрофы
Если кратко: генератор случайных чисел в прошивках Coldcard выдавал совсем не такие «случайные» числа, как должен был. В итоге хакеры смогли воссоздать закрытые ключи и устроили настоящую жатву.
Атака идет волнами. И поверьте моему опыту, третья волна - точно не последняя, пока на уязвимых адресах остается хоть один сатоши.
Хронология и масштабы потерь
| Волны атаки | Дата начала | Затронуто адресов (рост) | Похищено BTC (за волну) | Всего похищено BTC | Эквивалент в USD (оценка) |
|---|---|---|---|---|---|
| 1-я волна | 30 июля 2026 | ~1 196 | ~1 082.65 BTC | 1 082.65 BTC | ~$67.1M |
| 2-я волна | 31 июля 2026 | +1 477 (всего 2 673) | +76.16 BTC | 1 158.81 BTC | ~$71.8M |
| 3-я волна | 02 августа (сейчас) | +1 912 (всего 4 585) | +207.73 BTC | 1 366.54 BTC | ~$84.7M |
Больно смотреть на эти цифры. Почти 85 миллионов долларов «улетели» просто потому, что в прошивке не сработал один флаг сборщика.
2. Кто в зоне риска?
Вот тут внимательно. Уязвимы не абсолютно все пользователи Coldcard.
Под прицелом модели и версии:
- Coldcard Mk3: Версии прошивок с v4.1.2 по v5.2.1.
- Coldcard Mk4: Версии прошивок с v5.0.0 по v5.2.1.
- Coldcard Q (включая Q1): Все ранние сборки до экстренного июльского патча 2026 года.
Но главное даже не модель, а способ создания приватного ключа.
Уязвимы:
- Те, кто включил новенький Coldcard, нажал кнопку «Create New Seed», согласился с предложенной системой энтропией и записал 12 или 24 слова.
В безопасности (относительной):
- Те, кто генерировал сид с помощью Dice Rolls (бросок физических кубиков) прямо на девайсе. Это как раз тот самый мастхэв-метод, про который я постоянно твержу своим инженерам! Физика кубика перебивает системный косяк генератора.
- Те, кто импортировал готовый сид, сгенерированный на другом безопасном offline-устройстве (например, через Tails + Electrum или с помощью специального софта на Raspberry Pi).
3. Как проверить, скомпрометирован ли ваш кошелек
Так, стоп. Только без паники. Возьмите девайс в руки и выполните быструю диагностику.
Шаг 1: Проверяем прошивку и дату
Вставьте карту питания (или подключите через Power Only кабель) и введите PIN-код.
Перейдите по пути: Advanced -> System Information -> Version.
Посмотрите версию. Если у вас стоит, скажем, v5.1.0 на Mk4, а сид вы генерировали где-то в 2022-2024 годах, дело дрянь, вы под ударом.
Шаг 2: Сверяем адреса
Ребята из Galaxy Research проделали колоссальную работу и выкатили отчет с аналитикой, а также слили пулы скомпрометированных деривационных путей в публичный доступ.
Вы можете проверить свои публичные адреса (xpub / zpub) через специальный открытый скрипт проверки на официальном GitHub-репозитории Coinkite.
⚠️ Правило гигиены: Никогда, запомните, НИКОГДА не вводите свои 12/24 слова на сайтах для "проверки"! Проверяются только публичные адреса (xpub) или отдельные BTC-адреса. Если какой-то сайт просит сид-фразу — это 100% фишинг, вас хотят добрать те, кто не успел взломать через баг.
4. Пошаговый гайд: Как безопасно спасти средства
Черт, я не могу не подчеркнуть это еще раз.
ПРОСТО ОБНОВИТЬ ПРОШИВКУ НЕДОСТАТОЧНО!
Прошивка исправит генератор на будущее, но ваша текущая сид-фраза УЖЕ математически предсказуема для бота-эксплойтера. Ваша задача - немедленно перегнать все BTC на совершенно НОВЫЙ адрес.
Шаг 1: Обновление прошивки (безопасный патч)
- Скачайте последнюю версию прошивки (не ниже v5.3.0X для Mk4/Q) строго с официального сайта
coinkite.com/downloads. - Обязательно проверьте PGP-подпись файла! (Инструкция есть в их официальном блоге Coinkite).
- Запишите .dfu или .bin файл на MicroSD, вставьте в Coldcard и выполните
Advanced -> Upgrade Firmware.
Шаг 2: Генерация НОВОГО сида (Только через Dice Roll!)
Не надейтесь больше только на авто-генератор, даже пропатченный. Сделайте все по уму:
- Выберите
New Seed Words -> 24 Words. - Нажмите кнопку
4(откроется режим ввода бросков кубика). - Возьмите обычный казиношный кубик и сделайте минимум 100 бросков (лучше 50). Честно вбивайте каждое выпавшее число. Это дает настоящую стохастическую энтропию.
- Запишите новые 24 слова на бумагу/металл. Потеряете — я вам не помогу.
Шаг 3: Перевод средств (Спасательная транзакция)
Теперь нужно забрать монеты со старого (опасного) сида и отправить на адрес, сгенерированный на шаге 2.
Вот тут начинается игра со временем. Хакерские боты мониторят mempool 24/7. Если вы отправите транзакцию с низкой комиссией, она зависнет, и бот может перехватить ваши средства, перебив комиссию через RBF (Replace-By-Fee).
Шаг 4: Расчет комиссии и работа с скриптом RBF
Не скупитесь на комиссию. Зайдите на mempool.space, посмотрите текущий High Priority fee и умножьте его на 1.5–2. Средства должны уйти в БЛИЖАЙШИЙ блок.
5. Технический разбор: Как именно произошел взлом?
Черт возьми, как специалист по безопасности я до сих пор сижу в некотором шоке от того, насколько банальной оказалась эта уязвимость. Это классический пример того, как одна маленькая строчка кода или забытый дефайн в C/MicroPython способна обрушить систему стоимостью в десятки миллиардов долларов.
Давайте заглянем под капот и разберем криптографическую анатомию этого факапа.
Суть бага: Куда делась энтропия?
Операционная система Coldcard построена на базе кастомизированного MicroPython. В нормальных условиях, когда устройство генерирует новую мнемоническую фразу (BIP-39), оно должно брать истинно случайные данные (TRNG - True Random Number Generator) прямо с двух независимых аппаратных чипов безопасности (Secure Elements) плюс встроенный генератор микроконтроллера STM32.
Однако в марте 2021 года при очередном рефакторинге исходного кода и обновлении базовой библиотеки MicroPython разработчики случайно переписали инициализацию аппаратного генератора. В файле конфигурации сборщика был случайно сброшен или некорректно переопределен флаг:
#define MICROPY_HW_ENABLE_RNG (0) // Внимание: должно было быть (1)!Что произошло дальше?
Когда пользователь нажимал «Сгенерировать новый кошелек», прошивка пыталась запросить системную энтропию.
Из-за нулевого флага аппаратный драйвер TRNG не инициализировался как следует.
Система не выдавала ошибку (так как fallback-механизмы перехватывали вызов), а начинала сэмплировать псевдослучайный генератор (PRNG), инициализированный фиксированным или крайне предсказуемым сидом, например, системным таймером с миллисекундным разрешением или константным значением регистра после сброса питания!
Простыми словами: Вместо того чтобы вытягивать 256 бит абсолютного хаоса из физических шумов чипа, кошелек генерировал "случайность" из последовательности, где вариативность составляла всего от 216 до 232 возможных состояний.
Для обычного человека 232 комбинаций кажется огромным числом (около 4.2 миллиардов). Но для современного графического процессора (GPU) или специализированной фермы — это работа на 15 секунд!
Как хакеры воссоздали ключи?
Злоумышленникам даже не нужно было ломать конкретные устройства физически.
Они просто проанализировали диапазоны временных меток (timestamps) и версий прошивок, скомпилировали алгоритм предсказания состояния псевдослучайного генератора и сгенерировали все возможные варианты 12/24 слов, которые МАТЕМАТИЧЕСКИ МОГЛА выдать уязвимая версия Coldcard.
Далее - дело техники:
- Хакеры сгенерировали таблицу публичных адресов для всех предсказанных сид-фраз (деривационные пути
m/84'/0'/0'/0/xдля Native SegWit иm/86'/0'/0'/0/xдля Taproot). - Натравили бота на сканирование всей истории блокчейна Bitcoin (UTXO set).
- Как только адреса были сопоставлены с реальными балансами, запустилась массовая автоматизированная подмена приватных ключей и опустошение кошельков.
Именно поэтому атака идет волнами. В первую волну зачистили самые очевидные диапазоны генерации. Во вторую и третью - хакеры расширили брутфорс на менее вероятные временные сдвиги и задействовали дополнительные деривационные пути (например, мультисиг-структуры и нестандартные аккаунты).
Друзья, главный урок этой истории - никогда не полагайтесь на 100% на единственный источник энтропии, даже если это хваленый аппаратный кошелек от топового бренда.
Запомните правило двух "НЕ":
- НЕ используйте автоматическую генерацию ключей без добавления пользовательской энтропии (броски кубиков Dice Roll - наш лучший друг).
- НЕ откладывайте обновление прошивок, но перед обновлением ВСЕГДА проверяйте PGP-подписи релизов.
Берегите свои сатоши, проверяйте адреса и эвакуируйте средства прямо сейчас, если вы в зоне риска.