Взлом Coldcard выявил критический недостаток в одном из самых надежных аппаратных кошельков Bitcoin. В ходе трех волн атак злоумышленники использовали слабую генерацию seed в уязвимой прошивке и вывели примерно 1 367 BTC, что составляет около 89 миллионов долларов США, с тысяч адресов.
В отличие от типичной фишинговой атаки или утечки данных биржи, эта атака была направлена на внутренний процесс генерации ключей кошелька. Конкретно, ошибка в прошивке возрастом пять лет приводила к формированию семян с недостаточной случайностью, что позволило злоумышленникам восстановить закрытые ключи в оффлайн-режиме и изъять средства пользователей. Поэтому в этой статье объясняется, как работала уязвимость, какие модели Coldcard подвержены риску и что должны сделать пострадавшие пользователи дальше.
Что произошло: 89 миллионов долларов в биткоинах были изъяты тремя волнами
30 июля 2026 года взлом Coldcard начался, когда неизвестный злоумышленник начал извлекать bitcoin из аппаратных кошельков Coldcard. Во время первой волны 594 BTC, стоимость которых составляла примерно 38 миллионов долларов США, исчезли из примерно 500 кошельков всего за 25 минут. Злоумышленник сначала атаковал кошельки с наибольшей стоимостью. Вторая волна увеличила потери до 1 082 BTC, что составляет примерно 70 миллионов долларов США, на 1 196 адресах за 41 минуту. К 2 августа три волны атаки извлекли в совокупности 1 367 BTC, что составляет примерно 89 миллионов долларов США, с 4 585 адресов.

Атакующий не выбирал кошельки случайным образом. Согласно Chainalysis, оператор отдавал приоритет самым богатым целям и собрал более $30 млн за первые 10 минут. Один кошелек потерял примерно $1,8 млн. Эта закономерность указывает на то, что атакующий уже заранее определил ценные адреса и осуществил кражу в определенной последовательности.
В это время более широкий масштабный процесс продолжался почти 30 часов до тех пор, пока Coinkite не опубликовало свое первое общественное предупреждение. Galaxy Research позже идентифицировала примерно 600 подозреваемых адресов злоумышленников и сообщила о них следователям. Исследовательская фирма также обнаружила схожие операционные паттерны в первых двух волнах, в то время как третья волна использовала другие методы сбора.
Самое главное, взлом Coldcard не был фишинговой атакой, утечкой данных биржи или случаем физического кражи частных ключей пользователей. Злоумышленнику никогда не требовался прямой доступ к затронутым устройствам Coldcard. Вместо этого кошельки генерировали слабые семена при инициализации пользователями, что позволило злоумышленнику восстановить частные ключи в оффлайн-режиме.
Это различие делает инцидент особенно серьезным. Пользователи покупали устройства Coldcard, чтобы изолировать свои ключи Bitcoin от онлайн-угроз. Однако аппаратное обеспечение генерировало эти ключи с недостаточной случайностью. Другими словами, продукт, созданный для защиты пользователей, сам создал уязвимость. Ошибка безопасности существовала с момента генерации семян затронутыми кошельками.
Уязвимость прошивки Coldcard и хронология кражи bitcoin
| Дата | Событие | Источник |
|---|---|---|
| 1 марта 2021 года |
Фиксация прошивки изменяет генерацию семени с ckcc.rng_bytes, использовавшего аппаратный RNG, на ngu.random.bytes — программный ПСЧ.
|
Совет Coinkite; Анализ блока |
| 17 марта 2021 года | Прошивка v4.0.0 поставляется с багом в коде. Каждый seed Mk2 и Mk3, сгенерированный с этого момента, имеет примерно 40 бит энтропии. | Совет Coinkite |
| 2021–2026 | Ошибку не обнаруживают в течение пяти лет обновлений прошивки, проверок безопасности и аудита с использованием ИИ. |
crypto.news; Bitcoin Magazine |
| 30 июля 2026 года Примерно 12:00 UTC | Волна 1: Злоумышленник перечисляет 594 BTC, что составляет примерно 38 миллионов долларов США, из примерно 500 кошельков за 25 минут. Злоумышленник сначала атакует кошельки с наибольшей стоимостью, включая один кошелек с 1,8 миллиона долларов США, и собирает 30 миллионов долларов США в течение первых 10 минут. |
Lookonchain; Блок; Chainalysis; 24/7 Wall St |
| 30 июля 2026 года Тот же день | Волна 2: Атака расширилась до 1 082 BTC, что составляет примерно 70 миллионов долларов США, на 1 196 адресах в течение 41 минуты. |
Galaxy Research; The Hacker News |
| 30–31 июля 2026 года | Coinkite публикует свой первый информационный бюллетень по безопасности, призывает пострадавших пользователей перенести свои семена и выпускает исправленную прошивку. |
Блог Coinkite; Bitcoin Magazine |
| 31 июля 2026 года | Block, компания Джека Дорси, публикует независимый технический анализ уязвимости генератора случайных чисел. | Анализ блока |
| 1–2 августа 2026 года | Волна 3: Совокупные потери достигли 1 367 BTC, что составляет примерно 89 миллионов долларов США, по 4 585 адресам. Coinkite обновила свое предупреждение, включив устройства Mk4, Mk5 и Q. |
PYMNTS; CyberInsider; Galaxy Research |
| 2–3 августа 2026 года | Galaxy Research сообщает примерно 600 подозреваемых адресов атакующих федеральным следователям, компаниям по соблюдению нормативных требований и командам кибербезопасности. |
The Hacker News; Galaxy Research |
Ошибка: Одна строка кода, пять лет незамеченной
Представьте, что вы покупаете высокобезопасный замок, который обещает генерировать каждую комбинацию с помощью настоящего физического генератора случайных чисел. Вместо этого производитель устанавливает предсказуемую формулу, создающую комбинации из ограниченного набора входных данных. Как только кто-то обнаруживает эту формулу, он может перебрать все возможные комбинации, пока не найдет вашу. Именно так стала возможной атака на Coldcard.
1 марта 2021 года один коммит кода изменил функцию, отвечающую за генерацию семян кошельков. Изначально ckcc.rng_bytes собирал настоящую случайность из аппаратного генератора случайных чисел, встроенного в чип STM32 устройства. Однако разработчики заменили его на ngu.random.bytes — программный псевдослучайный генератор, основанный на детерминированных входных данных.
В частности, программный ПСЧ использовал серийный номер устройства, значения внутреннего таймера и историю предыдущих вызовов ГСЧ. Прошивка затем обрабатывала эти входные данные с помощью криптографического хеширования SHA256d. Хотя хеширование может перемешивать существующие данные, оно не может создавать новую случайность. Следовательно, если система начинает с всего лишь 2^40 возможных входов, она может генерировать только 2^40 возможных выходов.
В результате затронутые устройства Mk3 генерировали семена с примерно 40 битами энтропии. В то же время устройства Mk4, Mk5 и Q получили дополнительный ввод от безопасного элемента, что повысило их эффективную энтропию до примерно 72 бит. Тем не менее, оба показателя остались ниже уровня безопасности в 128 бит, ожидаемого при генерации семян bitcoin.
Генеральный директор Foundation Devices Зак Герберт заявил, что ошибка появилась во время крупного переписывания прошивки в марте 2021 года, когда оставшийся код GPL был заменен новыми криптографическими библиотеками. Другими словами, это изменение стало частью обновления лицензирования, а не сознательного решения в целях безопасности.
Несмотря на это, ошибочный код оставался активным в течение пяти лет. Coinkite провела аудит прошивки с использованием ИИ всего за несколько недель до атаки, но проверка не выявила проблему. Кроме того, несколько обновлений прошивки, включая релизы, ориентированные на безопасность, также не заметили её.
В конечном итоге кошелек должен был использовать физический источник случайности для генерации непредсказуемых ключей. Вместо этого он использовал ограниченную и предсказуемую формулу. Как только злоумышленник понял эту формулу, он смог начать восстанавливать семена пользователей и осуществить атаку на Coldcard.
Как злоумышленник это сделал: перебор 40-битных семян
Злоумышленник, стоящий за взломом Coldcard, не должен был красть устройство или подключаться к нему удаленно. Вместо этого злоумышленник мог оценить ключевые переменные, такие как UID устройства, состояние таймера и последовательность предыдущих вызовов RNG. При этих ограничениях злоумышленник мог воспроизвести возможные потоки выходных данных семян полностью в автономном режиме.
Затем злоумышленник преобразовал каждый подходящий семенной фразу в bitcoin-адреса и сравнил их с данными публичного блокчейна. Этот процесс работает как перебор комбинаций на замке. При примерно 40 битах энтропии затронутые семенные фразы происходили из пула примерно одного триллиона возможностей. Хотя это число кажется большим, современное вычислительное оборудование может просканировать такое пространство за разумное время, особенно когда злоумышленник сужает целевой набор.
Злоумышленник, вероятно, сосредоточился на адресах, связанных с семенами Coldcard, созданными в уязвимый период с 2021 по 2026 год. Затем злоумышленник сгенерировал кандидатские семена, вывел соответствующие им адреса и произвел поиск совпадений в блокчейне. Как только кандидатское семя порождало адрес с биткоинами, злоумышленник получал контроль над соответствующим закрытым ключом и изымал средства. Таким образом, этот переборный процесс составлял суть атаки на Coldcard.
В то же время Galaxy Research обнаружила, что волны 1 и 2 могут принадлежать одному и тому же оператору. Однако волна 3 продемонстрировала другое поведение в цепочке. В результате другой злоумышленник мог независимо обнаружить и эксплуатировать уязвимость.
Устройства Mk4, Mk5 и Q обладали более высокой энтропией, составляющей примерно 72 бита. Тем не менее, они все еще не достигали ожидаемого стандарта в 128 бит. Блок описал конструкцию как «опасную структуру с открытым сбоем», поскольку определенные условия загрузки могли сократить перебор до всего лишь 2^32 возможных значений. На данный момент злоумышленники не эксплуатировали эту уязвимость в масштабе. Тем не менее, оставшаяся структура показывает, что затронутые устройства не обеспечили уровень случайности, которого пользователи ожидали от аппаратного кошелька.
Кто затронут? Полный охват
Взлом Coldcard по-разному влияет на каждую модель в зависимости от версии прошивки, сгенерировавшей семя кошелька. Устройства Mk2 и Mk3 находятся под наибольшим риском, поскольку受影响ая прошивка создавала семена с примерно 40 битами энтропии. В то же время устройства Mk4, Mk5 и Q получили дополнительную энтропию от безопасного элемента, что повысило их эффективную безопасность до примерно 72 бит. Однако этот уровень все еще оставался ниже стандарта в 128 бит, ожидаемого для генерации семени bitcoin.
Затронутые модели Coldcard, уязвимые прошивки, энтропия и риск
Критически важно, что версия прошивки, установленная на момент создания устройства семени, определяет, подвержен ли пользователь риску из-за уязвимости Coldcard. Текущая версия прошивки не изменяет безопасность существующего семени. Например, пользователь, который сгенерировал семя на уязвимой прошивке, а затем обновил устройство, по-прежнему использует слабое семя. Уязвимость существует внутри числа, которое устройство уже сгенерировало. Следовательно, обновление прошивки защищает только будущее создание семени. Оно не может исправить старые семена или сделать их связанные адреса безопасными.
Однако пользователи, которые ввели не менее 50 независимых и частных бросков костей при настройке семени, добавили внешний источник истинной энтропии. Эта дополнительная случайность нивелирует слабость в программном генераторе случайных чисел устройства. В результате у этих пользователей минимальный риск, связанный с этой конкретной уязвимостью. Надежный пароль BIP-39 также затрудняет атаки методом перебора, но не усиливает и не восстанавливает само семя. Следовательно, Coinkite по-прежнему рекомендует переместить средства, сгенерированные с использованием затронутой прошивки.
Наконец, взлом Coldcard не затрагивает все аппаратные кошельки. Trezor, Ledger и Block, производящий Bitkey, подтвердили, что их продукты используют другие системы генерации энтропии. Следовательно, этот конкретный сбой прошивки не влияет на семена, созданные этими устройствами.
Ответ Coinkite: что они сделали, а что нет
После взлома Coldcard компания Coinkite опубликовала свой первый информационный бюллетень по безопасности 30 и 31 июля, примерно через 30 часов после начала первоначального вывода средств. Затем компания выпустила обновленную прошивку для всех затронутых моделей, включая v4.2.0 для Mk3, v5.6.0 для Mk4 и Mk5, а также v1.5.0Q для Q. Кроме того, Coinkite опубликовала технический анализ уязвимости и предоставила руководство по миграции, чтобы помочь пользователям перевести средства с слабых семян.
Кроме того, Coinkite обновила свое уведомление 1 августа, признав, что устройства Mk4, Mk5 и Q также столкнулись с пониженной энтропией. Хотя атакующие в ходе взлома Coldcard в первую очередь нацеливались на семена Mk2 и Mk3, более поздние модели все же не соответствовали ожидаемому стандарту безопасности в 128 бит. Раскрыв более широкий масштаб проблемы и выпустив исправления для всех затронутых линеек продуктов, Coinkite предоставила пользователям более четкий путь к обеспечению безопасности своих bitcoin.
Однако ответ также вызвал законную критику. Ошибка оставалась в продакшене в течение пяти лет, несмотря на внутренние проверки, релизы прошивок с акцентом на безопасность и аудит, проведенный с помощью ИИ незадолго до атаки. Более важно, что изъятие продолжалось почти 30 часов до того, как Coinkite опубликовало первое предупреждение. В результате пострадавшие пользователи не получили официальной информации, которая могла бы помочь им переместить свой bitcoin до того, как злоумышленник достиг их кошельков.
В то же время обстоятельства, связанные с первоначальным изменением кода, вызвали дополнительные вопросы. Генеральный директор Foundation Devices Зак Герберт утверждает, что ошибка появилась во время пересмотра лицензирования, а не в ходе переработки, ориентированной на безопасность. Следовательно, инцидент вызвал внимание к тому, как Coinkite управляла рисками безопасности во время переписывания кода в 2021 году. Аналогично, исследователь безопасности Wizardsardine Кевин Лоэак говорит, что пользователям следует рассматривать многоподписные решения, содержащие затронутые ключи Coldcard, как подвергшиеся риску — вопрос, который не полностью освещен в официальном уведомлении Coinkite.
В конечном итоге Coinkite выпустила рабочие исправления, технические детали и инструкции по миграции после того, как взлом Coldcard стал общественностью. Тем не менее, эти действия не стирают пятилетний сбой в обнаружении и запоздалое предупреждение, которые помешали некоторым пользователям вовремя защитить свои средства.
Как перевести свои средства (пошагово)
Обновление прошивки Coldcard само по себе не обеспечит безопасность существующего кошелька. Уязвимая прошивка уже сгенерировала слабый сид, и эта уязвимость остается встроенными в сам сид. Поэтому пользователям, затронутым этой проблемой, необходимо создать новый сид и перевести свой bitcoin на адреса, полученные из него. Рекомендации Coinkite и руководство Shinobi в Bitcoin Magazine предлагают следующий процесс миграции.
- Обновите прошивку Coldcard. Установите последнюю исправленную прошивку, доступную для вашей конкретной модели Coldcard и канала выпуска. Убедитесь, что вы скачали прошивку с официального сайта Coinkite перед установкой.
- Сгенерируйте совершенно новый seed. Создайте seed на обновленном устройстве, а не импортируйте или восстанавливайте старый. Для дополнительной энтропии используйте как минимум 50 независимых и приватных бросков костей при генерации seed.
- Проверьте новую резервную копию seed. Запишите новые seed-слова в правильном порядке и завершите процесс верификации на устройстве. Затем сгенерируйте адрес для получения и убедитесь, что адрес, отображаемый в программном обеспечении вашего кошелька, совпадает с адресом на экране Coldcard.
- Переведите весь bitcoin в новый кошелек. Отправьте все балансы BTC, контролируемые старым seed, на адреса, производные от нового сгенерированного seed. Внимательно проверьте адрес назначения и детали транзакции на Coldcard перед подписанием.
- Подтвердите миграцию. Используйте надежный Проводник блоков bitcoin, чтобы проверить, что транзакции подтверждены. Затем убедитесь, что на старых адресах не осталось bitcoin, и что новый кошелек показывает полную переведенную сумму.
- Безопасно уничтожьте старую резервную копию семени. Уничтожайте старую копию только после подтверждения всех переводов и проверки доступа к новому кошельку. Удалите все физические и цифровые копии скомпрометированного семени, чтобы никто не мог использовать его снова.
Не обновляйте прошивку и не предполагайте, что существующий кошелек стал безопасным. Обновление исправляет генерацию будущих семян, но не может усилить семя, созданное устройством ранее. Кроме того, каждая миграция требует блокчейн-транзакции bitcoin, поэтому пользователям следует учитывать сетевые комиссии и избегать выбора чрезмерно низкой комиссии при срочном переводе.
Пользователи мультиподписи сталкиваются с дополнительной сложностью. Каждый ключ, полученный из затронутого seed-ключа Coldcard, должен быть заменен. Пользователям следует проверить порог подписи кошелька, заменить каждый уязвимый ключ и проверить новую конфигурацию мультиподписи перед перемещением значительных средств.
Что это означает для самоконтроля: более широкая картина
Самоконтроль зависит от двух отдельных требований безопасности. Во-первых, пользователи должны контролировать свои закрытые ключи. Во-вторых, кошельки должны генерировать эти ключи с использованием истинной, высококачественной случайности. Компании, производящие аппаратные кошельки, традиционно акцентировали внимание на первом требовании, поскольку оно поддерживает знакомый принцип «не твои ключи — не твои монеты». Однако они гораздо реже обсуждали второе требование. Как показывает эксплуатация Coldcard, пользователи могут полностью контролировать свои ключи и всё равно потерять средства, если устройство сгенерировало эти ключи на основе предсказуемых входных данных.
Кроме того, этот инцидент является третьим крупным сбоем генератора псевдослучайных чисел в криптовалюте за последние годы, после Milk Sad в 2023 году и Ill Bloom в 2026 году. В каждом случае сбой происходил во время генерации ключей — процесса, который обычные пользователи не могли проверить самостоятельно. Интерфейс кошелька может отображать действительную seed-фразу и создавать рабочие адреса, в то время как под капотом используется опасно слабая энтропия. В результате пользователи могут не обнаружить проблему до тех пор, пока злоумышленник не восстановит seed-фразу и не переведет средства.
В то же время инцидент осложняет дискуссию вокруг открытых и закрытых аппаратных кошельков. Coldcard публично доступен исходный код своей прошивки, хотя не выпускает программное обеспечение под полностью открытую лицензию. Разработчики могли проверить уязвимый код, однако уязвимость оставалась незамеченной в течение пяти лет. Следовательно, публичный код не гарантирует безопасный код. Тем не менее, доступность исходного кода остается необходимой для значимого аудита сообществом, поскольку исследователи не могут проверять программное обеспечение, к которому они не имеют доступа.
В то же время CoinDesk сообщила, что эксплуатация уязвимости может направить некоторых инвесторов к Bitcoin ETF. ETF устраняют операционные риски, связанные с созданием, хранением и защитой частных ключей. Однако инвесторы заменяют эти риски зависимостью от регулируемого хранителя и финансового учреждения. Другими словами, компромисс не устраняет риск хранения. Вместо этого он передает ответственность от индивидуального держателя институциональному провайдеру.
В конце концов, Blockaid обнаружил, что компрометированные ключи и сбои в операционной безопасности стали основной причиной потерь криптовалют в первой половине 2026 года, а не эксплуатации смарт-контрактов. В этом контексте инцидент с Coldcard соответствует общей тенденции, поскольку злоумышленник нацелился на процесс генерации ключей, а не на сам bitcoin. Холодное хранение по-прежнему является правильным выбором для большинства держателей bitcoin в долгосрочной перспективе. Но «холодное» не означает «неуязвимое». Доверяйте принципу. Проверяйте реализацию.
Эта статья предназначена исключительно для информационных и образовательных целей и не является финансовой, инвестиционной, юридической или безопасностной консультацией. Всегда проводите собственное исследование перед принятием решений, связанных с криптовалютами.
