Мы используем такие технологии, как файлы «куки», для хранения и/или доступа к информации об устройстве. Мы делаем это, чтобы улучшить удобство просмотра и показывать (не-)персонализированную рекламу. Согласие на использование этих технологий позволит нам обрабатывать такие данные, как поведение при просмотре или уникальные идентификаторы на этом сайте. Несогласие или отзыв согласия может отрицательно повлиять на определенные функции и возможности.
Техническое хранение или доступ строго необходимы для законной цели предоставления возможности использования конкретной услуги, явно запрошенной подписчиком или пользователем, или с единственной целью осуществления передачи сообщения по сети электронных коммуникаций.
Техническое хранение или доступ необходимы для законной цели хранения предпочтений, которые не запрошены подписчиком или пользователем.
Техническое хранилище или доступ, используемый исключительно для статистических целей.
Техническое хранилище или доступ, который используется исключительно для анонимных статистических целей. Без повестки в суд, добровольного согласия со стороны вашего интернет-провайдера или дополнительных записей от третьей стороны информация, хранящаяся или полученная только для этой цели, обычно не может быть использована для вашей идентификации.
Техническое хранилище или доступ необходимы для создания профилей пользователей для отправки рекламы или отслеживания пользователя на веб-сайте или на нескольких веб-сайтах в аналогичных маркетинговых целях.
Как взломали Coldcard и почему обновление прошивки не спасает сид
30 июля 2026 года началась серия краж из Bitcoin-кошельков, сиды которых были созданы на уязвимых версиях прошивки Coldcard. Во время первого крупного эпизода за 41 минуту с 1 196 адресов вывели 1 082,65 BTC. Для атаки не требовались ни физический доступ к Coldcard, ни фишинг, ни подпись транзакции владельцем.
Причиной стала ошибка интеграции в прошивке: при создании кошелька код обращался не к аппаратному генератору случайных чисел STM32, как было задумано, а к программному псевдослучайному генератору MicroPython. Из-за этого сиды, созданные штатным генератором на уязвимых версиях прошивки, могли иметь значительно меньше энтропии, чем при корректной генерации.
Разбираемся, что именно произошло с Coldcard, какие версии прошивки затронула проблема, почему обычного обновления недостаточно для уже созданного сида и как безопасно перенести средства на новый кошелёк.
Как взломали Coldcard: что произошло 30 июля
Первый крупный эпизод: 1 082,65 BTC за 41 минуту
Galaxy Research отследила группу похожих транзакций, проведённых 30 июля между 01:10:20 и 01:51:26 UTC. За это время средства были выведены с 1 196 Bitcoin-адресов, а общая сумма составила 1 082,65 BTC — около $70,2 млн по курсу на тот момент.
У транзакций были характерные общие признаки, в том числе одинаковая завышенная комиссия 30 sat/vB и похожая структура. Это помогло исследователям отделить связанные переводы от обычной активности в сети и оценить масштаб атаки.
Физический доступ к Coldcard для такой атаки не нужен. Возможные сиды можно перебирать офлайн, получать из них Bitcoin-адреса и проверять, совпадают ли они с адресами, которые уже видны в блокчейне.
Атаки продолжились
После первого эпизода появились новые группы краж. 31 июля Galaxy зафиксировала ещё 76,16 BTC, выведенных с 1 478 адресов, а следующий крупный эпизод, продолжавшийся с 31 июля до 1 августа, добавил примерно 208 BTC с 1 912 адресов.
В своих обновлениях Galaxy называет крупнейшие группы связанных транзакций «волнами», а отдельно отслеживает меньшие группы и другие следы атак. То есть речь идёт не о четырёх конкретных переводах, а о серии краж, связанных с одной уязвимостью.
По обновлению Galaxy Research от 14 августа, с высокой степенью уверенности подтверждена кража 1 778,84 BTC с более чем 8 600 адресов — примерно $112,7 млн. Если учитывать эпизоды со средней степенью уверенности и ещё не подтверждённую четвёртую крупную группу транзакций, оценка может вырасти до 2 417,35 BTC — примерно $153 млн.
После 6 августа Galaxy не зафиксировала новых подтверждённых атак, но это не означает, что уязвимые сиды стали безопасными. Исследователи прямо предупреждают, что новые кражи могут возобновиться, и рекомендуют владельцам кошельков с одной подписью (single-sig), чей сид был создан на уязвимом Coldcard, как можно скорее перенести средства на новый сид.
Исследователи также пришли к выводу, что уязвимостью, вероятно, пользовались несколько разных атакующих. Точная итоговая сумма потерь всё ещё может измениться, поскольку новые пострадавшие продолжают сообщать о своих адресах.
Если средства уже украли
По состоянию на 14 августа из как минимум 1 778 украденных BTC около 1 531 BTC оставались неподвижными на адресах, контролируемых атакующими, а примерно 246 BTC уже были перемещены. Galaxy Research сообщает, что находится в прямом контакте уже со 190 пострадавшими.
Если вы уже потеряли средства, не выбрасывайте Coldcard и не уничтожайте старые бэкапы. Coinkite отдельно просит сохранить уязвимое устройство, поскольку оно может понадобиться в ходе дальнейшего расследования или возможного возврата средств. Сохраните также адреса, TXID украденных транзакций и другие данные кошелька, которые не раскрывают приватные ключи.
Что сделал Coinkite
Родольфо Новак (NVK) публично взял на себя ответственность за ошибку в прошивке и извинился перед пострадавшими. Coinkite опубликовала официальное предупреждение по безопасности, а затем выпустила исправленные прошивки для всех затронутых моделей и отдельное пошаговое руководство по миграции.
После подтверждения проблемы компания остановила отгрузки и уничтожила остатки устройств Coldcard, произведённых с уязвимой прошивкой, а команда начала напрямую работать с клиентами, которым требовалась помощь с миграцией. TAPSIGNER, OPENDIME и SATSCARD эта конкретная ошибка не затронула, поскольку они используют другую кодовую базу.
При этом история ещё не завершена: на актуальной странице COLDCARD Security Status Coinkite прямо указывает, что официальный технический разбор инцидента всё ещё готовится. Исправление генерации уже доступно, но полный разбор того, как ошибка прошла предыдущие проверки и какие процессы компания изменит после инцидента, пока не опубликован.
В чём заключалась ошибка при генерации сида Coldcard
Как должен создаваться сид
В основе любого нового Bitcoin-кошелька лежит случайное число, которое должно быть практически невозможно предсказать. В BIP-39 фраза из 12 слов основана на 128 битах исходной энтропии, а из 24 слов — на 256 битах. Слова, которые видит пользователь, — это удобное для записи представление этого секрета.
Поэтому важна не только длина seed-фразы, но и то, насколько непредсказуемыми были данные, из которых она создана. Если генератор выдаёт значительно меньше возможных результатов, атакующему уже не нужно перебирать всё теоретическое пространство BIP-39.
Что пошло не так
В марте 2021 года Coldcard изменила часть кода, отвечавшего за получение случайных данных при создании кошелька. Как объясняет Coinkite в собственном техническом разборе инцидента, из-за ошибки интеграции вызов, который должен был использовать аппаратный генератор STM32, фактически привязался к программному генератору Yasmarang из MicroPython.
Аппаратный генератор случайных чисел не «сломался» во время работы устройства. Ошибка возникла при сборке прошивки: вызов генератора привязывался не к той реализации функции, при этом сборка завершалась без ошибки.
Технический отчёт Block связывает появление уязвимого пути с кодом v4.0.0, появившимся в марте 2021 года. При этом актуальные рекомендации Coinkite для пользователей определяют затронутый диапазон Mk2/Mk3 как 4.0.1–4.1.9. Именно на эту актуальную матрицу следует ориентироваться при проверке своего кошелька и миграции.
Почему это позволило подбирать сиды
Yasmarang — детерминированный программный генератор: если воспроизвести его начальное состояние, он повторит ту же последовательность значений. В Coldcard это состояние зависело от идентификатора микроконтроллера и временных параметров работы устройства. Такие данные могут усложнять поиск, но не являются полноценным криптографическим источником случайности.
В Mk2 и Mk3 к этим данным вообще не добавлялся отдельный криптографический источник случайности. В Mk4, Mk5 и Q при запуске добавлялись данные из защищённых элементов, но из-за особенностей реализации в состояние программного генератора попадали только 32 бита этого значения. Это существенно сокращало количество вариантов, которые нужно было проверять атакующему.
Coinkite оценивает эффективное пространство поиска примерно в 40 бит для Mk2/Mk3 и около 72 бит для Mk4, Mk5 и Q. Это намного меньше, чем должна обеспечивать корректная генерация. Block отдельно предупреждает, что практическая сложность зависит от того, сколько информации атакующий знает о конкретном устройстве и моменте генерации. Поэтому эти числа не означают одинаковое количество попыток для каждого кошелька.
После получения кандидата атакующему не нужно взаимодействовать с Coldcard. Из возможного сида можно получить Bitcoin-адреса и сравнить их с публичными данными блокчейна. Если адреса совпадают, атакующий получает правильный ключ и может самостоятельно подписать транзакцию.
Почему обновление прошивки не спасает уже созданный сид
Исправленная прошивка меняет то, как Coldcard генерирует сид после обновления. Она не может изменить сид, который уже был создан на уязвимой версии. Если такой сид всё ещё контролирует средства, нужно создать совершенно новый кошелёк с новым сидом и перевести Bitcoin на его адрес.
Перенос тех же слов восстановления на Trezor, BitBox, другой Coldcard или программный кошелёк проблему не решает. Вы восстановите тот же секрет и тот же набор ключей, который уже может быть проще подобрать.
Кого касается уязвимость Coldcard
Важно смотреть не только на модель устройства, но прежде всего на версию прошивки, на которой был создан конкретный сид. Обновить Coldcard сегодня недостаточно, если кошелёк был сгенерирован раньше на уязвимой версии.
Какие прошивки уже исправлены
Перед созданием нового сида проверьте актуальный статус на странице COLDCARD Security Status и загружайте прошивку только с официальной страницы прошивок Coldcard.
Standard и Edge — это две отдельные ветки релизов. Номер 6.x выглядит выше 5.6.0, но старый Edge-релиз от этого не становится исправленным. Для Edge нужен именно 6.6.0X или новее на Mk4/Mk5 и 6.6.0QX или новее на Q.
Если при создании сида вы добавляли броски кубика
Ошибка касалась случайности, которую генерировало само устройство. Независимые броски кубика, добавленные пользователем через Add Dice Rolls, давали отдельный источник энтропии. По актуальной оценке Coinkite:
Coinkite не считает сид уязвимым именно к этой проблеме RNG, если при его создании было добавлено не менее 50 честных, независимых и приватных бросков, а их последовательность не была записана или раскрыта. Если вы не уверены, что эти условия соблюдены, безопаснее создать новый сид.
Проблема затрагивала не только сиды
Block также обнаружил, что тот же проблемный механизм получения случайных данных использовался не только при создании сида. Он применялся при генерации приватных ключей бумажных кошельков, случайных Seed XOR-масок и ряда служебных ключей и паролей Coldcard. Уровень риска для этих функций различается, но сама проблема была шире обычного сценария New Wallet.
Что с мультисигом
Мультисиг защищает от этой проблемы только тогда, когда атакующий не может восстановить достаточное количество ключей для подписи. Например, в схеме 2-из-3 одного скомпрометированного ключа недостаточно. Но если два или три сида были независимо созданы на уязвимых Coldcard без дополнительной энтропии, атакующий потенциально может получить необходимый кворум.
Поэтому для защиты от ошибок одного производителя важно не просто количество устройств, а независимость ключей и реализаций, на которых они были созданы.
Что делать владельцу Coldcard сейчас
Если сид был создан на уязвимой прошивке и на него не распространяется исключение с независимыми бросками кубика, главная задача — перенести средства на совершенно новый сид. Делайте это последовательно, чтобы не потерять доступ во время самой миграции.
Coinkite опубликовала отдельную официальную инструкцию с проверками для разных сценариев: COLDCARD Migration Guide. Если у вас есть кошельки с passphrase, дочерние кошельки BIP-85, мультисиг или несколько аккаунтов от одного уязвимого сида, проверьте в руководстве раздел Special Cases — перенести нужно каждый кошелёк, который реально контролирует средства.
Если Mk2 или Mk3 — ваше единственное устройство
Покупать новый Coldcard только ради миграции необязательно. Coinkite подтверждает, что Mk2 и Mk3 на прошивке 4.2.0 или новее уже могут корректно создать новый сид.
Если второго устройства нет, миграция всё равно возможна, но придётся несколько раз переключаться между старым и новым кошельками. Coinkite рекомендует такой порядок:
Если на любом этапе XFP или адрес не совпадают с ожидаемыми, не отправляйте средства и не уничтожайте ни один из бэкапов. Если есть второе устройство с исправленной прошивкой, официальный гайд рекомендует использовать его — так не придётся постоянно восстанавливать два сида на одном Coldcard.
Пасфраза: когда спасает, а когда нет
Пасфраза BIP-39 — это не PIN устройства. Она используется вместе с seed-фразой и определяет отдельный кошелёк. Те же слова с другой пасфразой дают другой набор ключей и другие адреса.
Сильная, уникальная и нигде не раскрытая пасфраза создаёт дополнительный независимый барьер. Coinkite прямо пишет, что она снижает непосредственный риск, но не исправляет уязвимый сид. Короткую, распространённую, шаблонную или повторно используемую пасфразу атакующий может пытаться подобрать вместе с кандидатом на сид.
Пасфраза не исправляет уязвимый сид. Даже если она достаточно сильная, Coinkite рекомендует перейти на новый сид, как только это можно сделать безопасно. Саму пасфразу нужно хранить отдельно и точно: её потеря означает потерю доступа к соответствующему кошельку.
Как снизить риск подобных проблем в будущем
Дополнительная независимая энтропия
Для Coldcard с исправленной прошивкой кубики не нужны, чтобы устранить именно эту уязвимость: штатная генерация нового сида уже исправлена. Но приватные броски можно добавить как независимый дополнительный уровень защиты. Если используете этот метод, не фотографируйте и не сохраняйте последовательность бросков в цифровом виде и соблюдайте официальные условия Coinkite.
Мультисиг с независимо созданными ключами
Смысл мультисига не в количестве ключей, а в независимости отказов. После этого инцидента практический вывод простой: если вы используете мультисиг как защиту от проблем одного производителя, ключи должны создаваться независимо, а схема восстановления должна быть заранее проверена. Иначе дополнительная сложность сама становится источником риска.
Как другие производители генерируют сид
После истории с Coldcard полезно смотреть не только на наличие «аппаратного RNG», но и на то, есть ли в системе независимые источники случайности и что произойдёт при ошибке одного из них.
Несколько источников сами по себе не гарантируют безопасность — важно, как именно они объединены и реализованы в коде. Но независимость источников может не позволить одной ошибке автоматически снизить защиту всего сида.
Если после этой истории вы решите перейти на аппаратный кошелёк другого производителя, главное правило не меняется: не восстанавливайте на нём старую seed-фразу Coldcard как способ «избавиться» от уязвимости. Новый аппаратный кошелёк должен создать новый сид, после чего средства нужно перевести на новые адреса обычной Bitcoin-транзакцией.
Перед созданием нового кошелька проверяйте актуальную версию прошивки, а не только состояние устройства на момент покупки. Новое устройство также стоит проверить и при необходимости обновить до того, как на нём будет создан сид, на который вы планируете переводить средства.
Открытый код не означает отсутствие багов
Уязвимый код Coldcard годами был публичным, но сам факт наличия открытого репозитория не гарантирует, что каждую критически важную строку уже кто-то внимательно проверил. Открытый код позволяет проводить независимый аудит и воспроизводить сборки, но не является сертификатом отсутствия ошибок.
На актуальной странице COLDCARD Security Status Coinkite собрала результаты независимых точечных проверок исправления: тест на реальном Mk4, проверку исходного кода и воспроизводимую сборку для части релизов. Там же прямо указано, что это проверка конкретных механизмов исправления, а не полный независимый аудит всей прошивки.
Помог ли атакующим ИИ
Точно неизвестно, с помощью какого именно инструмента нашли уязвимость. Однако Galaxy Research считает почти несомненным использование атакующими ИИ-моделей без ограничений на выполнение киберзадач и приводит Kimi K3 как пример такого класса моделей. Coinkite со своей стороны также предполагает, что старые версии открытого кода могли анализироваться с помощью ИИ.
При этом это не означает, что конкретная модель гарантированно нашла именно этот баг. В техническом разборе Coinkite пишет, что за несколько недель до инцидента сама проверяла код с помощью одной из самых сильных доступных ИИ-моделей — и та не обнаружила эту проблему. Поэтому корректный вывод здесь не «ИИ взломал Coldcard». Этот случай скорее показывает, что ИИ стал ещё одним инструментом для масштабного поиска ошибок в коде, но сам по себе не гарантирует обнаружение критической уязвимости.
Означает ли взлом Coldcard, что аппаратные кошельки не работают
Нет. В этом инциденте не взломали Bitcoin и не обошли проверку подписей. Сеть принимала корректно подписанные транзакции — проблема возникла раньше, в момент создания секрета, которым можно подписывать эти транзакции.
Аппаратный кошелёк хорошо изолирует приватные ключи от смартфона или компьютера, но эта изоляция не помогает, если сам ключ изначально был создан с недостаточной случайностью. Именно поэтому атакующим в случае Coldcard не требовался доступ к устройству: они пытались самостоятельно восстановить ключи.
Этот инцидент показывает, что генерация сида — такая же часть модели безопасности, как и последующая защита ключей. Прошивка, источники энтропии, бэкап и процедура восстановления работают как единая система.
Итог
Если ваш сид был создан на уязвимой версии Coldcard и вы не добавляли как минимум 50 честных, независимых и приватных бросков кубика по условиям Coinkite, создайте новый сид и перенесите средства. Если вы не можете установить, как именно был создан сид, официальный гайд рекомендует выполнить миграцию. Установка исправленной прошивки необходима перед генерацией нового кошелька, но она не меняет уже существующий сид.
Не восстанавливайте старые слова восстановления на другом устройстве в надежде «перегенерировать» ключи — это будет тот же кошелёк. Проверьте новый бэкап и адрес на экране устройства, сделайте тестовый перевод и только после этого перемещайте основной баланс.
Если вы ещё не разобрались с базовыми правилами хранения seed-фразы, начните со статьи «Топ-5 способов безопасно хранить seed-фразу» в этом же блоге.
Похожие записи
Что такое passphrase или 25-е слово и как им пользоваться
Что такое passphrase и зачем она нужна владельцу аппаратного кошелька? Начнём с базовой схемы: стандартный аппаратный кошелёк генерирует seed-фразу из 12 или 24 слов. Классическая схема Ledger и большинства современных сетапов использует 24 слова. Этого достаточно, пока seed никуда не утекла и пока никто физически не заставляет Вас показать всё, что у Вас есть. Passphrase, …
Хранение seed-фразы: 5 безопасных способов в 2026
Seed-фраза это не просто набор слов. Это единственный ключ ко всему, что у тебя есть в крипте. Всех твоих средств, которые защищены этой фразой. Если ты её потеряешь — шансов вернуть доступ почти нет.Существуют white hat хакеры, которые восстанавливают доступ к потерянным кошелькам — известны случаи, когда они возвращали людям десятки миллионов долларов. Но это …
Лучшие приватные мессенджеры со сквозным шифрованием. Топ приложений в 2026 году
Лучшие приватные мессенджеры 2026 года защищают переписку сквозным шифрованием, но далеко не каждое популярное приложение действительно приватно. Многие сервисы хранят сообщения на сервере в открытом виде: компания-владелец может их прочитать, передать по ордеру или потерять при утечке. В приватных — нет. Между этими двумя категориями есть большая серая зона, где маркетинг говорит «зашифровано», а на …
Что такое Shamir Backup и SLIP39?
Приветствую! В этой статье мы разберемся в принципе шифрования Shamir Backup. Узнаем, почему это один из лучших способов защитить ваши криптоинвестиции. Сравним стандарт шифрования SLIP39 и BIP39 и ответим себе на вопрос “Как защитить свою криптовалюту от кражи и спокойно спать ночью?”. Я попробую уместить всю полезную и важную инфу в короткий и простой текст. …