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]
Нова прошивка, але досі початковий 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 за фіксованого решти стану й історії викликів. Невідомі дані пристрою чи час змінюють роботу зловмисника. Оцінка не є універсальним benchmark або доказом безпеки конкретного ураженого seed.