COLDCARD RNG Incident (2026) は、2026 年 7 月に公表された秘密値生成の不具合とその是正を指します。シード作成時の機種、ファームウェア系列と版、シードの由来、独立したエントロピーの有無が重要です。機器の遠隔乗っ取りでも Bitcoin のコンセンサス不具合でもありません。
損失の報告を受け、Coinkite と Block は 2026 年 7 月 30 日に初期分析を公開しました。メーカーが説明するのは攻撃者による弱い秘密鍵のオフライン導出であり、機器の遠隔操作ではありません。個々の損失原因はウォレットのブランドだけでは判断できません。技術記録と後続の指針は、それぞれの改訂日と合わせて読む必要があります。 [Coinkite — COLDCARD Security Advisory] [Block — Predictable RNG Fallback and 32-Bit Reseed]
libNgU への移行後、ngu.random.bytes は MicroPython の rng_get と Yasmarang 生成器に到達していました。MICROPY_HW_ENABLE_RNG は 0 でしたが、#ifndef はマクロの存在だけを調べ、ハードウェア経路の有効性を確認していませんでした。意図した TRNG コードがバイナリにあっても、シード生成で使われない場合がありました。実行中のハードウェア故障が緊急 fallback を起動したのではありません。 [Coinkite — Technical Deep Dive into the Entropy Issue]
ソフトウェア状態は機器情報、タイマー、呼び出し履歴に由来しました。Mk4、Mk5、Q について Block は追加 reseed が 32 ビットに制限され、残りの状態が固定なら区別できる出力列は最大 2^32 と説明しています。Coinkite は暫定的な全体推定として Mk2/Mk3 で約 40 ビット、新しい機種で約 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 年 3 月の変更も含めており、この記録上の相違を明示します。シードの由来が不明な場合、移行ガイドは慎重な移行手順を勧めています。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 です。異なる系列の番号を一続きとして比較してはいけません。本改訂時点の状態ページは Mk4/Mk5 に Standard 5.6.2、Q に 1.5.2Q を推奨しています。導入前に最新の公式ページとリリースのハッシュ・署名を確認してください。別系列の番号が大きいだけでは不十分です。 [COLDCARD — Current Security Status]
決定的なハッシュ処理は出力の見た目を変えても、可能な入力の集合を増やせません。BIP39 Checksum も不足するエントロピーを追加しません。外部で安全に生成したシードは、COLDCARD にインポートしただけで本件の弱さを受けることはありません。一方、影響を受けたシードは別機器に復元してもそのままです。更新、複製、転送機能で新しいシードになるわけではありません。 [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]
メーカーの例外は、元の Add Dice Rolls 手順で公平かつ独立した非公開の出目を少なくとも 50 回入力し、その追加後に表示された最終単語を使った場合です。回数不足や不確実な場合は移行を推奨しています。強力で固有の BIP39 Passphrase は障壁を増やしますが、弱いシードを修復せず、その利用者にも移行が推奨されます。PIN は passphrase ではありません。現在の新規シード作成要件は、この過去の例外と区別する必要があります。 [Coinkite — COLDCARD Security Advisory]
現行ガイドはバックアップ確認、適切な修正版の導入、本当に新しいシード、機器上での fingerprint と受取アドレス確認、少額のテスト取引を求めています。新しい送金先を確認してから残額を移します。移行全体が承認されるまで旧バックアップを残し、資金のある全口座、passphrase ウォレット、派生子ウォレット、multisig ポリシーを調べてください。不一致があれば削除も送金もせず、秘密の復元情報をウェブフォームに入力しないでください。 [COLDCARD — Seed migration guide]
Multisig は自動的な例外ではありません。十分な数の署名鍵が侵害されれば、旧ポリシーの閾値を満たせます。残る安全な鍵の評価と代替ポリシーの確認が必要です。Block は独立した paper-wallet 鍵や一部の一時暗号鍵など、同じ乱数の他の利用箇所も挙げています。深刻度は具体的なプロトコルと利用可能なデータ次第で、全機能に同一の影響があるという意味ではありません。 [Block — Predictable RNG Fallback and 32-Bit Reseed] [COLDCARD — Seed migration guide]
状態ページは実物 Mk4 のハードウェア RNG テスト、ソースレビュー、特定修正版の再現ビルドを区別しています。経路と仕組みに範囲を限定した確認であり、全バイナリの完全監査や全欠陥がない証明ではありません。現在の Standard は利用者によるエントロピー追加も必須とするため、常に任意という古い説明は誤解を招きます。別途の詳細な技術事後報告は、同ページで引き続き準備中とされています。 [COLDCARD — Current Security Status]
新しいファームウェアでも元のシードのまま
利用者が自分のサイコロ入力なしで Mk3 4.1.9 上にシードを作成しました。後に 4.2.0 を導入し、同じ単語を別機器で復元しましたが、シードの由来は変わりません。是正は移行ガイドに沿って評価します。安全に新しく生成したシード、確認済みのバックアップとアドレス、テスト送金、その後の残額移動です。全資金の確認まで旧バックアップを保持します。
理解を深めるには、この項目とあわせて次もお読みください Cryptographic Entropy, Deterministic RNG, Seed Generation, BIP39 checksum, BIP39 passphrase, Dice Roll Entropy.
01ファームウェア更新や新しいウォレットの購入だけで十分ですか?+
いいえ。どちらも既存のシードを変えません。どこで、どのように生成したかが重要です。影響を受けた資金は移行指針と独立したサイコロ入力の例外条件に沿って対処する必要があり、同じ単語の復元だけでは解決しません。
0232 ビットとは全機種が同じ容易さで攻撃されるという意味ですか?+
いいえ。Block の分析では、残りの状態と呼び出し履歴を固定した追加 reseed の制限です。機器情報やタイミングが未知なら攻撃者の作業は変わります。一律のベンチマークでも、特定の影響を受けたシードが安全だという証明でもありません。