Сбой в генерации случайных чисел Coldcard, как утверждают, раскрыл тысячи биткоин‑адресов, вызвав волны краж и возобновив дебаты о рисках самостоятельного хранения.
Пять лет одна строка кода находилась внутри аппаратных кошельков Coldcard — устройств, которым биткойнеры доверяли защиту своих сбережений — молча подрывая ту самую случайность, от которой зависела их безопасность. Никто не заметил. Ни разработчики, ни аудиторы, ни модели ИИ, за которые Coinkite платила за сканирование кодовой базы. Затем, в 41-минутное окно 30 июля 2026 года, примерно $70 million в биткойне исчезли с 1,195 адресов. Счёт за тот один ошибочный вызов функции пришёл к оплате.
За этим последовал каскад разоблачений, четыре волны предполагаемых краж на общую сумму почти $130 million, и самая большая за одну неделю приток средств в Bitcoin ETF с апреля — $850 million устремились к институциональному хранению, пока трескался ореол самохранения.
Причина коренная — почти мучительно банальна. В марте 2021 года Coinkite перенесла часть криптографического кода на использование библиотеки libsecp256k1 от Bitcoin Core. Во время миграции путь генерации сида — код, создающий мастер-ключ вашего кошелька — был перенаправлен с аппаратного генератора случайных чисел Coldcard на программный псевдослучайный генератор под названием Yasmarang.
Почему? Из-за флага компиляции с именем MICROPY_HW_ENABLE_RNG. Он был установлен в 0, но код проверял только то, определён ли он, а не то, истинно ли он. Флаг существовал, поэтому компилятор выбрал неверный путь. Никаких сообщений об ошибках. Никаких сбоев. Просто кошельки генерировали сиды, которые выглядели случайными, но не были таковыми.
Практический результат: сиды, которые должны были иметь 128 бит криптографической энтропии, на самом деле имели примерно 40 бит на старых устройствах Mk2/Mk3 и около 72 бит на более новых моделях Mk4/Mk5/Q. Пространство поиска в 40 бит — это то, что мотивированный атакующий может перебрать грубой силой на обычном оборудовании. Вам не нужно красть устройство. Вам не нужен физический доступ. Вам просто нужно знать серийный номер устройства и примерное время загрузки — оба этих параметра можно вывести или получить.
Galaxy Research выявила четыре отдельные волны предполагаемых краж. Первая ударила 30 июля — 1,195 адресов были опустошены за менее чем час, все транзакции использовали идентичные комиссии 30 sat/vB без выходов сдачи, отпечаток автоматизированного скрипта. Вторая и третья волны следовали похожим паттернам, но с другими адресами консолидации. К 3 августа четвёртая волна толкнула предполагаемую общую сумму примерно до 1,815 BTC на примерно 5,294 адресах.
Примечательно, что первая волна произошла примерно за 30 часов до того, как Coinkite публично раскрыла уязвимость. Кто-то уже нашёл ошибку и превратил её в оружие.
Реакция рынка была быстрой и структурной. В неделю после раскрытия уязвимости в биткоин-ETF было зафиксировано более 850 миллионов долларов чистого притока — это самый сильный недельный приток с апреля — при том, что цена биткоина практически не изменилась, оставаясь в диапазоне от 63 000 до 64 000 долларов.
Ирония здесь очевидна. Coldcard создавалась для самых убеждённых сторонников самоуправления в биткоине — для тех, кто учит вас принципу «не твои ключи — не твои монеты». И теперь именно эти же пользователи массово переходят в ETF от BlackRock и Fidelity.
Coinkite раскрыла, что за несколько недель до взлома она прогнала свои модели ИИ по кодовой базе, и модели ничего не нашли. Однако после того, как уязвимость стала публичной, участники сообщества сообщили, что Claude Code выявил проблему с генератором случайных чисел примерно за 8 минут, а офлайн-модель GLM-5.2 нашла её примерно за 20 минут.
Урок неприятный: ИИ может пропустить катастрофические ошибки при пассивном сканировании, но способен находить их с поразительной скоростью, если правильно направить его внимание. Проблема не в инструменте — проблема в процессе.
Если вы держите криптовалюту, эта история должна вас встревожить — не потому, что криптография биткоина сломана, а потому, что абстракции безопасности так же надёжны, как и их реализация. То, что аппаратный кошелёк находится в автономном режиме, не означает, что его сид-фраза была сгенерирована безопасно. Обновление прошивки не исправляет сид-фразы, которые уже были созданы с использованием слабого генератора случайных чисел. И открытый исходный код не означает, что код был проверен.
Практические выводы очевидны: если вы использовали Coldcard с уязвимой прошивкой, создайте новый сид на проверенной исправленной прошивке и перенесите свои средства. Энтропия от бросков кубиков добавляет независимую случайность, полностью обходящую генератор случайных чисел устройства. Для крупных сумм мультисигнатурные настройки с использованием оборудования от разных производителей снижают риск зависимости от одного поставщика.