492 / 691CK-RNG

COLDCARD RNG Incident (2026)

Инцидент генерации случайности в кошельках COLDCARD

Раскрытая ошибка интеграции направляла генерацию seed к предсказуемому программному генератору вместо запланированного аппаратного источника. Исправленная прошивка меняет будущую генерацию; уже существующий затронутый seed требует отдельной оценки и миграции по актуальным указаниям.

COLDCARD RNG Incident (2026) обозначает раскрытую в июле 2026 года ошибку генерации секретных значений и её устранение. Важны модель, ветка и версия прошивки при создании seed, его происхождение и независимая энтропия. Это не было удалённым захватом устройства или ошибкой консенсуса Bitcoin.

Coinkite и Block опубликовали первые разборы 30 июля 2026 года после сообщений о потерях. Производитель описывает восстановление слабых приватных ключей атакующими офлайн, а не удалённое управление устройствами. По одной марке кошелька нельзя установить причину отдельной потери. Технические материалы и последующие рекомендации следует читать вместе с датами их пересмотра. [Coinkite — COLDCARD Security Advisory] [Block — Predictable RNG Fallback and 32-Bit Reseed]

После перехода на libNgU вызов ngu.random.bytes достигал rng_get из MicroPython и его генератора Yasmarang. MICROPY_HW_ENABLE_RNG имело значение 0, однако #ifndef проверяло существование макроса, а не включение аппаратного пути. Предусмотренный код TRNG мог присутствовать в бинарном файле, не участвуя в генерации seed. Аппаратный сбой не запускал аварийный fallback во время работы. [Coinkite — Technical Deep Dive into the Entropy Issue]

Программное состояние происходило из данных устройства, таймеров и истории вызовов. Для Mk4, Mk5 и Q Block описывает дополнительный reseed, ограниченный 32 битами: максимум 2^32 различных потока при фиксированной остальной части состояния. Coinkite приводила предварительные общие оценки примерно 40 бит для Mk2/Mk3 и 72 бита для новых моделей. У чисел разные предпосылки; они не определяют универсальную стоимость атаки и не доказывают возможность немедленного взлома каждого кошелька. [Block — Predictable RNG Fallback and 32-Bit Reseed] [Coinkite — Technical Deep Dive into the Entropy Issue]

Официальные рекомендации указывают Mk2/Mk3 4.0.1–4.1.9. Первый анализ Block включает уже 4.0.0 и изменение в марте 2021 года; это расхождение записей явно сохранено. При неясном происхождении seed руководство рекомендует осторожный путь миграции. Mk4/Mk5 и Q были затронуты до исправления своей ветки. Старое утверждение первого разбора обо всех производственных версиях не описывает нынешние исправленные релизы. [Coinkite — COLDCARD Security Advisory] [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

Минимальные исправления — Mk2/Mk3 4.2.0, Mk4/Mk5 Standard 5.6.0, Q Standard 1.5.0Q, Mk4/Mk5 Edge 6.6.0X и Q Edge 6.6.0QX. Номера разных веток нельзя сравнивать как единую последовательность. На момент этой ревизии страница статуса рекомендует Standard 5.6.2 для Mk4/Mk5 и 1.5.2Q для Q. Перед установкой проверьте актуальную официальную страницу, хеш и подпись релиза; большего номера другой ветки недостаточно. [COLDCARD — Current Security Status]

Детерминированное хеширование меняет вид результата, но не расширяет множество возможных входов. BIP39 Checksum также не добавляет недостающую энтропию. Безопасно созданный внешний seed не ослабляется этим инцидентом только из-за импорта в COLDCARD. Напротив, затронутый seed остаётся затронутым после восстановления на другом устройстве; обновление, клонирование или перенос не превращают его в новый seed. [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

Исключение производителя требует не менее 50 честных, независимых и приватных бросков в исходном процессе Add Dice Rolls и использования окончательных слов после добавления бросков. При меньшем количестве или неопределённости рекомендована миграция. Сильная уникальная BIP39 Passphrase добавляет барьер, но не исправляет слабый seed; производитель рекомендует миграцию и её пользователям. PIN не является passphrase. Нынешние требования к созданию seed нужно отличать от этого исторического исключения. [Coinkite — COLDCARD Security Advisory]

Актуальное руководство предусматривает проверку копий, установку подходящего исправления, действительно новый seed, проверку fingerprint и адреса получения на устройстве и небольшую тестовую транзакцию. Остаток переводят только после проверки нового назначения. Сохраняйте старую копию до полного подтверждения миграции и учтите все счета со средствами, passphrase-кошельки, производные дочерние кошельки и политики multisig. При несовпадении ничего не удаляйте и не отправляйте; приватным данным восстановления не место в веб-форме. [COLDCARD — Seed migration guide]

Multisig не является автоматическим исключением: достаточно скомпрометированных ключей подписи могут удовлетворить порог старой политики. Нужно оценить оставшиеся безопасные ключи и проверить заменяющую политику. Block указывает и других потребителей той же случайности, например отдельные ключи paper wallets и некоторые временные ключи шифрования. Серьёзность зависит от конкретного протокола и доступных данных; влияние не одинаково для всех функций. [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]

Страница статуса различает тест аппаратного RNG на настоящем Mk4, ревью исходников и воспроизведённую сборку конкретного исправления. Это ограниченные проверки пути и механизма, а не полный аудит каждого бинарного файла или доказательство отсутствия всех дефектов. Текущий Standard также требует вклада энтропии пользователя; старое утверждение о его постоянной необязательности вводило бы в заблуждение. Отдельный подробный технический отчёт об инциденте страница по-прежнему обозначает как готовящийся. [COLDCARD — Current Security Status]

Пример · CK-RNG

Новая прошивка, но всё ещё исходный seed

Пользователь создал seed на Mk3 4.1.9 без собственных бросков костей. Позже он установил 4.2.0 и восстановил те же слова на другом устройстве. Происхождение seed не изменилось. Исправление он оценивает по руководству миграции: новый безопасно созданный seed, проверенные копия и адрес, тестовый перевод и лишь затем остаток. Старую копию сохраняет до подтверждения всех средств.

Для полной картины прочитайте эту статью вместе с Cryptographic Entropy, Deterministic RNG, Seed Generation, BIP39 checksum, BIP39 passphrase, Dice Roll Entropy.

01Достаточно ли обновить прошивку или купить новый кошелёк?

Нет. Ни один шаг не меняет существующий seed. Важно, где и как он создан. Затронутые средства нужно обработать по рекомендациям миграции и точным условиям исключения для независимых бросков; восстановление тех же слов проблему не устраняет.

02Означают ли 32 бита одинаковую лёгкость атаки на все модели?

Нет. В анализе Block это ограничение дополнительного reseed при фиксированных остальных состояниях и истории вызовов. Неизвестные данные устройства или время меняют работу атакующего. Оценка не является универсальным бенчмарком или доказательством безопасности конкретного затронутого seed.

DOC · 001Coinkite — Technical Deep Dive into the Entropy IssueПервичный источник ↗DOC · 002Coinkite — COLDCARD Security AdvisoryПервичный источник ↗DOC · 003Block — Predictable RNG Fallback and 32-Bit ReseedПервичный источник ↗DOC · 004COLDCARD — Current Security StatusПервичный источник ↗DOC · 005COLDCARD — Seed migration guideДокументация ↗
Сначала источники · Не является инвестиционной рекомендацией