01.08.2027 273 материалов

Уязвимость аппаратных кошельков Coldcard обошлась в $70 млн — и это повод пересмотреть подход к хранению биткоина

Ошибка в прошивке Coldcard 2021 года привела к краже свыше 1082 BTC — и глава Binance напомнил, что даже «холодное» хранение не гарантирует абсолютной безопасности.

Уязвимость аппаратных кошельков Coldcard обошлась в $70 млн — и это повод пересмотреть подход к хранению биткоина

«Ничего не бывает на 100%» — простая истина, которая обошлась держателям Coldcard в $70 миллионов. Даже аппаратный кошелёк с пятилетней репутацией может скрывать дефект, который сводит на нет все преимущества оффлайн-хранения ключей.

Что произошло

30 июля 2026 года в течение 41 минуты — с 01:10 до 01:51 UTC — было опустошено 1196 биткоин-адресов, связанных с аппаратными кошельками Coldcard производства канадской компании Coinkite. Общая сумма хищения составила 1082,65 BTC, что по текущему курсу эквивалентно примерно $70,2 млн.

Для сравнения: первоначальные оценки говорили о 594 BTC (~$38 млн) примерно с 500 кошельков. Таким образом, реальный масштаб потерь оказался почти вдвое больше.

Корень проблемы: баг пятилетней давности

Уязвимость — не результат внешнего взлома в классическом смысле. Проблема зародилась ещё в марте 2021 года, когда при сборке прошивки Coldcard была допущена ошибка. Из-за неё генерация сид-фраз (seed phrases) на затронутых устройствах использовала программный резервный генератор случайных чисел вместо аппаратного. Это критическое отличие: аппаратный генератор черпает энтропию из физических процессов в чипе (шум транзисторов, тактовая нестабильность), тогда как программный полагается на предсказуемые источники — системное время, счётчики процессора и тому подобное.

Практическое следствие: приватные ключи, сгенерированные на таких устройствах, оказались значительно проще для перебора, чем предполагалось. Для атакующего это эквивалент обнаружения мастер-ключа к сейфу, который все считали неприступным.

Важный нюанс: обновление прошивки не спасает уже созданные сид-фразы. Если seed был сгенерирован на уязвимом устройстве с дефектной прошивкой, он скомпрометирован независимо от того, обновили вы впоследствии прошивку или нет. Единственный выход — создать новую сид-фразу на исправленном устройстве и перевести все средства на новые адреса.

Как выглядела атака

Исследователи из Galaxy Research, проанализировавшие транзакции на основе паттерна, идентифицированного инженерами компании Block (основатель — Джек Дорси), обнаружили характерные признаки автоматизированного хищения:

  • Каждая транзакция-вывод платила идентичную комиссию (hardcoded fee), то есть комиссия была прописана в коде скрипта, а не рассчитывалась динамически.
  • Ни одна транзакция не содержала change output — «сдачу». Это значит, что средства списывались целиком.
  • Жертвами стали адреса обоих типов: и современные native SegWit (bc1q…), и устаревшие форматы. Это указывает на то, что инструмент атаки сканировал ключи по нескольким производным путям (multi-path key scanning).

Украденные биткоины были консолидированы в несколько промежуточных адресов в течение нескольких минут после кражи. На момент публикации средства не перемещались — возможный признак того, что атакующий выжидает или уже работает над отмыванием через миксеры.

Рекомендации CZ — и их ограничения

После обнаружения инцидента Чанпэн Чжао (CZ), основатель Binance, опубликовал в X предупреждение держателям криптовалют. Его тезисы сводятся к следующему:

  • Даже аппаратные кошельки могут содержать критические баги. Пятилетняя история Coldcard не застраховала его от фундаментального дефекта.
  • Хранение всех средств в одном кошельке — пусть даже аппаратном — увеличивает единовременные потери при компрометации.
  • Разделение средств на несколько кошельков снижает рисковую экспозицию, хотя и создаёт дополнительную сложность в управлении.
  • Ни одна схема хранения не является полностью защищённой — «Nothing is 100%».

Это разумные рекомендации, но стоит отметить их ограниченность. Стратегия «разделить по нескольким кошелькам» не работает, если проблема затрагивает целую линейку устройств одного производителя — в таком случае диверсификация бесполезна без смены вендора. Настоящая защита — это комбинация диверсификации по производителям, регулярного аудита открытого кода прошивок и, по возможности, использования мультисигнатурных схем, где ни один единственный ключ не даёт полного доступа к средствам.

Позиция Coinkite

Производитель Coldcard выпустил экстренные патчи и призвал пользователей, чьи устройства попали под влияние уязвимости, создать новые сид-фразы и перевести средства. Стоит отметить, что Coinkite исторически позиционировал себя как компания, делающая ставку на открытый код и максимальную прозрачность. Сам факт того, что ошибка прошивки оставалась незамеченной более пяти лет, ставит под сомнение эффективность модели «open source = безопасность» — код может быть открытым, но его аудит на практике зависит от того, насколько пристально за ним следят.

Контекст: что это значит для рынка

Инцидент с Coldcard — не первый и не последний случай компрометации аппаратных кошельков. В 2020 году произошла утечка базы данных клиентов Ledger, хотя сами ключи не были скомпрометированы. В 2023 году обнаружилась критическая уязвимость в Trezor, которую можно было эксплуатировать при физическом доступе к устройству. Каждый такой случай подрывает доверие к категории продуктов, которые должны были бы обеспечивать наивысший уровень безопасности.

Однако масштаб потерь по Coldcard выделяется на фоне предшественников: $70 млн — это не случай отдельного пользователя, а системная проблема, затронувшая более тысячи адресов. При этом характер атаки — полностью автоматизированной, молниеносной и безошибочной — указывает на то, что злоумышленник заранее знал об уязвимости и подготовил инструмент массового извлечения ключей.

Выводы

Инцидент с Coldcard подчёркивает несколько важных принципов безопасности хранения криптовалют:

  1. Аппаратный кошелёк — не серебряная пуля. Он значительно безопаснее горячих кошельков и биржевых аккаунтов, но сам по себе не гарантирует неуязвимость. Ошибка может крыться на уровне прошивки, и проявиться спустя годы.

  2. Диверсификация — не дань паранойе, а инженерный принцип. Использование устройств разных производителей и хранение средств на нескольких независимых кошельках снижает ущерб от единичной точки отказа.

  3. Процедура восстановления критична. Если вы создали seed на устройстве, уязвимость которого обнаружена позже, обновление прошивки не спасёт — нужна полноценная миграция на новый ключ.

  4. Открытый код — необходимое, но недостаточное условие безопасности. Пять лет дефект прожил в открытой прошивке незамеченным. Аудит требует ресурсов и внимания, которых сообщество не всегда может себе позволить.

«Stay SAFU» — традиционный слоган CZ — в этот раз звучит не как маркетинговый плакат, а как холодный расчёт: безопасность не бывает абсолютной, и единственный устойчивый подход — строить систему с учётом того, что любая её компонента может рано или поздно дать сбой.