レポートID CTI-2026-0804-COLDCARD-RNG · 発行日2026-08-04 ·分類TLP:GREEN ·深刻度 CRITICAL
著者 Dennis Kim / HoKwang Kim · [email protected] · @gameworkerkim
🌐 한국어 · English · 日本語(本文書) · 中文
ハードウェアウォレットの安全性は「鍵をどこに置くか」ではなく「鍵をどう作るか」に懸かっていた。Coldcardは前者を完璧に守り、後者を5年間見落としていた。
目次
- 要約(TL;DR)
- はじめに — 隔離は保たれ、生成が崩壊した
- 事案タイムライン
- 根本原因分析 — マクロ存在検査とfail-open構造
- 技術的脆弱性分析 — エントロピー崩壊の定量化
- 攻撃チェーン分析 — オフラインのシード再現とオンチェーンスイープ
- 影響の定量分析 — 3波にわたる攻撃
- 生存者分析 — 何がウォレットを救ったか
- 対応とマイグレーション — パッチが修復できないもの
- 産業的含意 — 信頼モデルの再検討
- 韓国の視点 — 規制整合性と国内取引所への提言
- ビットコイン投資者への提言
- 検知・対応・予防チェックリスト
- 結論
- 参考文献
- 附録A — 影響範囲と修正ファームウェア対照表
- 附録B — 未確認事項と追跡課題
1. 要約(TL;DR)
2026年7月29日から8月2日にかけて、カナダのCoinkite社が製造するビットコイン専用ハードウェアウォレットColdcardで生成されたシードを対象とした大規模な資産窃取が発生した。Galaxy Research基準で観測された被害は1,367.05 BTC(約8,860万ドル、日本円で約133億円)、4,585アドレスに上り、攻撃は3波にわたって進行し、本レポート作成時点でも終息していない。
攻撃の本質は侵入ではなく再現である。攻撃者はいかなる被害者のデバイスにも触れておらず、PINやシードフレーズを窃取しておらず、マルウェアやフィッシングも使用していない。2021年3月、Coldcardファームウェアのビルド設定不整合により、シード生成がSTM32のハードウェア乱数生成器(TRNG)ではなくMicroPythonの決定論的ソフトウェアPRNG(Yasmarang)に配線され、このPRNGはチップ固有ID(UID)とタイマーレジスタ値のみで初期化された後、追加のエントロピーを一切収集しなかった。結果として、Mk2/Mk3の実効エントロピーは128ビットから約40ビットへ、Mk4/Mk5/Qは約72ビットへ崩壊した。
40ビットは民生用ハードウェアでも全数探索が可能な規模である。攻撃者は候補シードをオフラインで列挙し、BIP32/BIP39規則に従ってアドレスを派生させた後、公開ブロックチェーンで残高を照会し、資産のあるアドレスだけを選んでスイープした。ブロックチェーンの透明性が攻撃者の偵察インフラに転用されたのである。
主要事実の要約
| 区分 | 内容 |
|---|---|
| 脆弱性混入時点 | 2021年3月1日のコミット(ckcc.rng_bytes → ngu.random.bytes)、ファームウェア v4.0.0は2021年3月17日リリース |
| 露出期間 | 約5年4か月 |
| 実効エントロピー | Mk2/Mk3 約40ビット、Mk4/Mk5/Q 約72ビット(設計目標128ビット) |
| 第1波 | 2026-07-30 01:10–01:51 UTC、41分間、1,082.65 BTC / 1,196アドレス / 約7,020万ドル |
| 累計被害 | 1,367.05 BTC / 4,585アドレス / 約8,860万ドル(2026-08-02時点) |
| メーカー最初の告知 | 第1波終了から約30時間後 |
| 窃取資金の移動 | なし — 攻撃者管理アドレスに未使用状態で保持 |
| 被害者特性 | 平均休眠期間約3.18年、大半が長期保有の個人 |
| 影響なし製品 | TAPSIGNER、OPENDIME、SATSCARD(別コードベース)、Trezor、Ledger、Block(Bitkey) |
本事案を一文で要約すると: コールドストレージは鍵を守ったが、鍵を作る瞬間は守れなかった。
2. はじめに — 隔離は保たれ、生成が崩壊した
ハードウェアウォレットの安全性モデルは二つの独立した前提の上に成り立っている。
- 隔離の前提 — プライベートキーはインターネットに接続されないデバイスの外に出ない。
- 生成の前提 — その鍵は、いかなる計算資源でも推測できない乱数から派生している。
業界全体のマーケティング、ユーザー教育、規制論議は、ほぼ一貫して最初の前提に集中してきた。「インターネットに接続しない」という文言がハードウェアウォレット広告の核心であり、韓国の仮想資産規制における「コールドウォレット保管比率」という指標もまた、隔離の前提を定量化したものである。
本事案において、隔離の前提は一度も破られていない。 被害者の一人であるカナダのJonathan Goodmanは、銀行の貸金庫に保管され、一度もインターネットに接続されたことのないColdcardを使用し、シードフレーズを誰にも公開していなかった。それにもかかわらず、2026年7月29日の夜、わずか7分間で18.25 BTCを失った。
崩壊したのは二つ目の前提である。そして二つ目の前提が崩れれば、一つ目の前提は何の防御的価値も持たない。 攻撃者は防衛線を越える必要がなかった。防衛線の内側で作られた秘密を、外側で再び作り出しただけである。
この構造は、従来のサイバーセキュリティにおける侵害対応のパラダイムとは根本的に異なる。侵入の痕跡はなく、検知すべきログもなく、事故の発生時点は窃取時点ではなく鍵生成の時点である。被害者は5年前にすでに侵害されており、その事実を知る手段がなかった。
3. 事案タイムライン
| 日時 | イベント | 備考 |
|---|---|---|
| 2021-03-01 | シード生成呼び出しをckcc.rng_bytesからngu.random.bytesに変更するコミットが反映 |
脆弱性混入時点 |
| 2021-03-17 | ファームウェア v4.0.0 リリース | 脆弱ファームウェアの配布開始 |
| 2021-03 ~ 2026-07 | 脆弱シードが継続的に生成・流通 | ユーザー・メーカーともに認識せず |
| 2026-07-29 夜(現地) | 個人被害者Jonathan Goodman、7分間で18.25 BTC流出 | 最初の公開被害証言 |
| 2026-07-30 01:10–01:51 UTC | 第1波: 1,082.65 BTC / 1,196アドレスをスイープ(41分間、6ブロックに分散) | 中間の3ブロックは空白 — バッチブロードキャストの兆候 |
| 2026-07-30(初期10分) | 約3,000万ドル窃取、高額ウォレットを優先攻撃 | Chainalysis分析 |
| 2026-07-31(第1波終了から約30時間後) | Coinkite、最初のセキュリティ勧告を公開(Mk2/Mk3対象) | すでに資金流出が完了していた時点 |
| 2026-07-31 09:33 EDT | 修正ファームウェア配布(Mk4/Mk5 v5.6.0+、Q v1.5.0Q+) | |
| 2026-08-01 | Coinkite勧告を拡大 — Mk4/Mk5/Qも約72ビットのエントロピーで影響を受けると判明 | 影響範囲の拡大 |
| 2026-08-01 | Galaxy Research、第2波を確認 — 累計1,158.66 BTC / 2,673アドレス / 約7,510万ドル | 攻撃者管理アドレス7個 |
| 2026-08-02 | Galaxy Research、第3波を確認 — 207.73 BTC / 1,912アドレスを追加 | 少額ウォレット対象、追跡難易度の高いパターン |
| 2026-08-02 | 累計1,367.05 BTC / 4,585アドレス / 約8,860万ドル | 攻撃進行中 |
| 2026-08-02 | Galaxy、攻撃者疑いのあるアドレス約600個を連邦捜査機関・コンプライアンス企業に通報 | |
| 2026-08-03(現在) | 窃取資金の未移動状態が継続、調査進行中 | 本レポート作成時点 |
4. 根本原因分析 — マクロ存在検査とfail-open構造
4.1 欠陥の構造
Blockのビットコインエンジニアリングチームが公開した分析によれば、欠陥は以下の順序で発生した。
[1] Coldcardプロダクションビルド設定
MICROPY_HW_ENABLE_RNG = 0
(Coinkiteが独自のハードウェアRNGラッパーを提供するため、意図的に0を設定)
↓
[2] libnguライブラリ
マクロが「定義されているか」だけを検査(#ifdef系)
「値が有効になっているか」(#if)は検査しない
↓
[3] 判定結果
マクロは定義されているため「ハードウェアRNGが使用可能」と誤判定されず、
ビルドがMicroPythonの既定フォールバック経路にバインドされる
↓
[4] フォールバックPRNG: Yasmarang
シードソース = チップ固有ID(UID) + タイマーレジスタ
初期化以降、新規エントロピーの収集なし
↓
[5] 2021-03-01のコミット
ckcc.rng_bytes(STM32ハードウェアペリフェラルに直結)
→ ngu.random.bytes(損傷したlibngu経路)
↓
[6] SHA256dハッシュ処理
ハッシュは入力エントロピーを増加させない
2^40個の入力 → 最大2^40個の出力
核心は第6段階である。多くのユーザーや一部の初期報道は「SHA256でハッシュ化しているのだから安全ではないか」という誤解を示したが、暗号学的ハッシュ関数は圧縮と拡散を提供するが、エントロピーを創出しない。 入力候補が2^40個であれば、出力候補も2^40個である。これは2012年以降繰り返し再発してきたRNG失敗事例(Debian OpenSSL、Android SecureRandom、Profanityバニティアドレス生成器など)と同一の構造的誤りである。
4.2 なぜ5年間発見されなかったか
| 要因 | 説明 |
|---|---|
| 出力観察だけでは検知不可能 | Yasmarangの出力は統計的乱数検定(NIST STS、Dieharderなど)を通過する。問題は分布ではなく探索空間の大きさである |
| ビルド時点の欠陥 | ソースコードを読むだけでは露見しない。ビルド設定とライブラリの条件付きコンパイルの相互作用から発生する |
| オープンソースの逆説 | ファームウェアがオープンソースであったため、攻撃者も同様に検証できた。監査可能性は双方向の資産である |
| 再現性検証の不在 | 同一機種2台が異なるシードを生成するかを確認するクロスデバイス・エントロピー検証がリリース手続きに存在しなかった |
| 自動化監査の限界 | Coinkiteは事案発生数週間前に同一コードに対しAIベースの監査を実施したが、欠陥を発見できなかったと明らかにしている |
4.3 攻撃者の発見経路に関する考察
Coinkiteは、攻撃者がオープンソースファームウェアから欠陥を見つけ出すためにAIを活用した可能性を提起した。同時に、自社のAI監査は同一コードから何も見つけられなかった。この非対称性は注目に値する。
防御側のAI監査は「このコードに脆弱性はあるか」という広範で目的の定まらない質問を投げかける。一方、攻撃者側のAI活用は「このデバイスが生成できるシードの総数はいくつか」という狭く目的が明確な質問を投げかける。後者のほうがはるかに答えやすい質問である。LLMは判断を代行する神託ではなく、計算を代行する道具であり、道具の出力品質は投げかける質問の具体性に比例する。防御側のAI監査設計にとって、この点は実務的な教訓となる。
ただし、攻撃者がAIを使用したかどうかは現時点では状況推定であり、確証された事実ではない。
5. 技術的脆弱性分析 — エントロピー崩壊の定量化
5.1 脆弱性の概要
| 項目 | 内容 |
|---|---|
| 脆弱性タイプ | CWE-331(不十分なエントロピー)、CWE-338(暗号学的に弱いPRNGの使用) |
| 影響製品 | Coldcard Mk2、Mk3、Mk4、Mk5、Q |
| 混入時点 | 2021-03-01(コミット)、2021-03-17(v4.0.0リリース) |
| CVSS v3.1(評価値) | 9.1(Critical) — AV:N / AC:L / PR:N / UI:N / S:U / C:H / I:N / A:H |
| 攻撃前提条件 | 対象デバイスへの物理的・論理的アクセス不要 |
| 検知可能性 | 被害者側での検知不可能(侵害の痕跡が存在しない) |
5.2 エントロピー崩壊の規模
| モデル | 設計目標 | 実効エントロピー | 探索空間 | 実務的解釈 |
|---|---|---|---|---|
| Mk2 / Mk3 | 128ビット | 約40ビット | 約1.1×10^12 | 民生用GPUクラスタで数時間~数日以内に全数探索可能 |
| Mk4 / Mk5 / Q | 128ビット | 約72ビット | 約4.7×10^21 | 現行の民生機器では非現実的。国家級・大規模資金の攻撃者にとっては理論上の射程内 |
| 正常なBIP-39 12単語 | 128ビット | 128ビット | 約3.4×10^38 | 全数探索不可能 |
Mk4/Mk5/Qが相対的に良好な理由は、セキュアエレメントが独自のエントロピーをPRNG状態に混入させたためである。ただし、Coinkiteの技術背景文書によれば、これらのモデルも初期混入以降のほとんどの乱数値を、同一の損傷経路から取得していた。
一部の初期報道は探索空間を「約40億個(2^32)」と記述した。これはBlockが言及した「32ビットのリシード脆弱性」から派生した数値と見られ、Coinkite公式勧告の40ビット推定値とは区別して読む必要がある。いずれにしても、全数探索が可能な領域であるという結論は変わらない。
5.3 シード以外への付随的影響
同一の損傷経路は、シード生成以外の機能にも使用されていた。Blockの公開資料が明示した影響機能は以下である。
- 紙ウォレット(paper wallet)のプライベートキー生成
- Seed XOR分割マスクの生成
- デバイスクローニング(複製)キーの生成
すなわちSeed XORでシードを分割保管していたユーザーも、分割マスク自体が予測可能であった可能性がある。 これは「上級ユーザーほど安全だった」という通念が部分的にしか成立しないことを意味する。
5.4 fail-open構造に関する未解決の指摘
Blockは、Mk4/Q/Mk5の構造を「危険なfail-open構造」と規定した。ブートシーケンスの初期段階、リシード実行前に例外が捕捉された場合、デバイスが公開された初期状態のまま、追加エントロピーなしに動作しうるという指摘である。このシナリオが実際のプロダクション環境で発生するかどうかは別途評価の対象であり、本レポート作成時点で未解決の事項として残っている。
これは安全設計原則の観点から重要である。暗号学的乱数生成器はfail-closedであるべきである。エントロピーソースを確保できない場合、値を返す代わりに動作を停止すべきである。値を返しつつ品質が低い構造は、失敗した事実そのものが隠蔽されてしまう。
6. 攻撃チェーン分析 — オフラインのシード再現とオンチェーンスイープ
6.1 段階別分解
| 段階 | 行為 | 観測根拠 |
|---|---|---|
| 1. 欠陥の識別 | オープンソースファームウェアおよびビルド設定の分析、探索空間の算定 | ファームウェア公開リポジトリ |
| 2. 候補シードの列挙 | UID・タイマー状態・先行RNG呼び出し履歴を制約し候補出力ストリームを再現 | Block分析 |
| 3. アドレス派生 | BIP-32/BIP-39/BIP-44・49・84の派生パスごとにアドレスを生成 | 標準規格 |
| 4. 残高照合 | 公開ブロックチェーンデータ(UTXOセット)と対比・マッチング | Galaxy・Chainalysis分析 |
| 5. 優先順位選定 | 高額ウォレットを優先攻撃した後、少額へ拡散 | 初期10分間で3,000万ドル |
| 6. 自動化スイープ | 全トランザクションで同一のハードコードされた手数料率30 sat/vB、おつり出力なし | Galaxy分析 — 自動化ツール使用の兆候 |
| 7. 資金保持 | 7個(第1・2波基準)の攻撃者アドレスに未使用状態で保持 | オンチェーン観測 |
6.2 トラフィックの指紋
Galaxyが自動化ツールの使用を判断した根拠は二つある。第一に、全トランザクションが同一のハードコードされた手数料率(30 sat/vB)を使用していた。正常なウォレットソフトウェアはmempoolの状況に応じて手数料を動的に調整する。第二に、おつり出力(change output)が存在しなかった。 残高全額を単一アドレスへ移動させるスイープパターンである。
この指紋は、今後の類似攻撃の検知ルール策定の基礎資料となる。
6.3 波ごとの差異
| 波 | 時点 | 規模 | 特徴 |
|---|---|---|---|
| 第1波 | 07-30 01:10–01:51 UTC | 1,082.65 BTC / 1,196アドレス | 高額優先、均一パターン |
| 第2波 | 08-01確認 | 累計1,158.66 BTC / 2,673アドレス | 第1波と類似パターン、同一オペレーターと推定 |
| 第3波 | 08-02確認 | +207.73 BTC / 1,912アドレス | 少額対象、複雑で追跡難易度の高いパターン |
Galaxyは各波が単独のオペレーターによる作業のように見えるとしつつ、3つの波が同一主体によるものかはオンチェーンデータのみでは判別できないと明示している。第3波のパターン変化は、ツールの改善、または同一の鍵空間を利用する別の行為者の出現、という二つの可能性をいずれも残す。
6.4 MITRE ATT&CKマッピング
| Tactic | Technique | ID | 本事案での実装 |
|---|---|---|---|
| Reconnaissance | Gather Victim Host Information | T1592 | デバイスUID・タイマー特性の分析 |
| Reconnaissance | Search Open Technical Databases | T1596 | 公開ブロックチェーンUTXOセットの照会 |
| Reconnaissance | Search Open Websites/Domains | T1593 | オープンソースファームウェアリポジトリの分析 |
| Resource Development | Develop Capabilities: Malware | T1587.001 | 自動化スイープツールの作成 |
| Credential Access | Brute Force | T1110 | 縮小されたシード空間の全数探索 |
| Credential Access | Unsecured Credentials: Private Keys | T1552.004 | 再現したシードからのプライベートキー派生 |
| Collection | Data from Information Repositories | T1213 | オンチェーン残高データの収集 |
| Impact | Financial Theft | T1657 | ビットコインのスイープ |
7. 影響の定量分析 — 3波にわたる攻撃
7.1 被害規模
| 項目 | 数値 |
|---|---|
| 累計窃取量 | 1,367.05 BTC |
| ドル換算 | 約8,860万ドル |
| 円換算(1ドル≒150円想定) | 約133億円 |
| 影響アドレス数 | 4,585個 |
| 第1波所要時間 | 41分 |
| 単一最大被害 | 約180万ドル |
| 公開証言の個人被害 | 18.25 BTC(約160万カナダドル) |
| 資金回収 | 0(全額が攻撃者アドレスに未移動で保持) |
| メーカー認知~告知の遅延 | 約30時間 |
7.2 被害者プロファイル
Galaxyの分析によれば、窃取された資産の平均休眠期間は約3.18年である。これは被害者集団が機関投資家ではなく、長期保有の個人(long-term holder)に集中していることを示唆する。
このプロファイルは三つの含意を持つ。
- 検知の遅延 — 数年間ウォレットを開いていないユーザーが多数であったため、流出の認知が大きく遅れた。
- セキュリティ意識と被害の逆相関 — 取引所を信頼せず自己保管を選んだ、相対的にセキュリティ意識の高い集団がむしろ被害者となった。
- 回復不能性 — 個人の自己保管資産には、預金者保護も、取引所の準備金・保険も適用されない。
7.3 進行中のリスク
Galaxyは、攻撃が進行中であり、脆弱なシードで生成されたすべてのアドレスが最終的に空になると警告した。第3波が少額ウォレットを対象としたという事実は、攻撃者が経済性の閾値を下げながら残存ターゲットを消尽していることを意味する。「自分のウォレットは金額が小さいから優先度が低いはずだ」という判断は、もはや成り立たない。
8. 生存者分析 — 何がウォレットを救ったか
8.1 生存条件
| 条件 | 保護レベル | 根拠 |
|---|---|---|
| 独立したサイコロロール50~98回の入力 | 安全(RNG欠陥単独ではリスクなし) | サイコロ入力のみで128ビット以上を寄与 |
| 独立したサイコロロール99回以上 | 安全(約256ビットを寄与) | 同上 |
| サイコロロール50回未満、または記憶が不明確 | 危険 — マイグレーション対象 | Coinkite勧告 |
| 強固かつ固有のBIP-39パスフレーズ | 即時露出は減少するが根本解決ではない | シード単語だけでは到達できない別ウォレットの生成 |
| 脆弱ファームウェア以前に生成されたシード | 安全 | v4.0.0以前 |
| 修正ファームウェアで新規生成されたシード | 安全 | デバイス生成エントロピーのみで十分 |
| マルチシグ(全鍵が脆弱デバイス生成) | 危険 | 全鍵が同一欠陥の影響を受ける |
| マルチシグ(一部の鍵が他ベンダーデバイス生成) | 条件付き安全 | 閾値構成により異なる |
核心は、サイコロロールがデバイス生成エントロピーとハッシュで結合され、このユーザー提供エントロピーはファームウェア欠陥の影響を受けなかったという点である。
8.2 示唆 — ユーザーエントロピーの再評価
サイコロロール機能は、これまで「偏執的なユーザー向けの選択的高度機能」として扱われてきた。本事案は、この機能がベンダー信頼が崩壊した状況で唯一機能した防衛線であったことを示している。
同時に、Casaの経営陣が指摘したように、一般の投資家がサイコロを振ってシードを補完することを期待するのは非現実的である。使いやすさとセキュリティのギャップがそのまま露呈した箇所であり、このギャップをユーザー教育ではなく製品設計で埋めることが業界の課題である。
実務的な提言は明確である。ユーザー提供エントロピーを、選択機能ではなく既定値に転換すべきである。 少なくとも高額保管目的のシード生成時には、必須手続きとして強制することが妥当である。
9. 対応とマイグレーション — パッチが修復できないもの
9.1 修正ファームウェアバージョン
| モデル | リリーストラック | 修正バージョン |
|---|---|---|
| Mk2 / Mk3 | 標準 | v4.2.0以上 |
| Mk4 / Mk5 | 標準 | v5.6.0以上 |
| Mk4 / Mk5 | Edge | v6.6.0X以上 |
| Q | 標準 | v1.5.0Q以上 |
| Q | Edge | v6.6.0QX以上 |
注意: 標準とEdgeは別のトラックである。Edgeのバージョン番号が標準より高いという理由だけで修正版であると仮定してはならない。
9.2 パッチの限界
ファームウェア更新は既存のシードを変更または復旧しない。
この一文が、本事案対応のすべてである。脆弱性はデバイスにではなく、デバイスが既に引き出した数値に存在する。したがって、以下の対処はすべて無効である。
| 無効な対応 | 理由 |
|---|---|
| ファームウェアのみ更新し既存ウォレットを継続使用 | シードはそのまま脆弱 |
| 脆弱シードを別ベンダーのウォレットに復元 | 攻撃者はデバイスではなくシード空間を探索する |
| 脆弱シードを紙・金属バックアップへ再記録 | シードの値自体が問題 |
| 別アドレス(派生インデックス)への資金移動 | 同一シードから派生する全アドレスが露出している |
| 資産を少額に分割 | 第3波は少額を標的化している |
9.3 正しいマイグレーション手順
- モデルとリリーストラックを確認し、該当する修正ファームウェアを先にインストールする。
- 修正ファームウェアのインストールを画面上でバージョン文字列で直接確認する。
- 完全に新規のシードを生成する。修正ファームウェアのデバイス生成エントロピーのみで十分であり、サイコロロールは任意である。
- 新しいシードとパスフレーズをバックアップする。パスフレーズはシード単語と物理的に分離保管する。
- デバイスを電源再投入(power-cycle)した後、ウォレットフィンガープリントと受信アドレスをデバイス画面で検証する。
- 少額のテストトランザクションをまず送信し、到着を確認する。
- 残余資産全額を移動する。
- マイグレーション完了確認までは旧バックアップを廃棄しない。
Coinkiteおよび複数の研究機関が共通して強調しているのは、急いではならないという点である。切迫した状況でのマイグレーションミス(アドレスの誤入力、誤ったバックアップ、検証の省略)がハッキングそのものより大きな損失を招いた事例は繰り返し観測されている。
9.4 メーカー対応の評価
| 措置 | 評価 |
|---|---|
| 修正ファームウェアの全モデルトラック配布 | 適切 — 迅速な配布 |
| 未出荷在庫デバイスの全量廃棄 | 適切 — サプライチェーン汚染の遮断 |
| 出荷済み顧客へのメール個別通知 | 適切だが到達率に限界 |
| 最初の告知まで約30時間の遅延 | 不適切 — 第1波終了後の告知 |
| 初期勧告でMk4/Q/Mk5を「影響なし」と分類後、8/1に訂正 | 不適切 — 初期範囲算定の誤りがユーザー判断を歪めた |
| 影響のない製品(TAPSIGNER/OPENDIME/SATSCARD)の明示 | 適切 |
30時間の遅延は、本事案対応において最も批判されるべき点である。ただし、攻撃が告知に先行していたため、直ちに告知していたとしても第1波を防げなかった可能性が高い。問題は、第2波・第3波の被害者の多くが、その遅延区間で対処の機会を失ったことにある。
10. 産業的含意 — 信頼モデルの再検討
10.1 崩れた前提
| 業界の暗黙の前提 | 本事案による反証 |
|---|---|
| ハードウェアRNGは信頼できる | ビルド設定一行で無効化され、その事実が隠蔽されうる |
| オープンソースファームウェアは十分に監査される | 5年間公開されたコードで誰も発見できなかった |
| 物理的隔離が鍵の安全を保証する | 隔離は完璧であり、資産は消失した |
| コールドストレージはホットウォレットより安全である | 生成段階の欠陥の前ではこの比較は無意味である |
| 自己保管は取引所リスクを排除する | 取引所リスクをベンダーリスクに交換するだけである |
10.2 構造的教訓
第一に、信頼の最小単位はデバイスではなく瞬間である。 ハードウェアウォレットの安全性評価は「このデバイスは安全か」ではなく「この鍵が作られた瞬間は安全だったか」を問うべきである。これは資産保管のデューデリジェンスの質問形式そのものを変える問題である。
第二に、乱数生成器はfail-closedであるべきである。 エントロピーソースの確保に失敗した際に低品質な値を返す設計は、失敗した事実そのものを隠蔽する。NIST SP 800-90Bの継続的健全性検査(continuous health test)要件が存在する理由はここにある。
第三に、監査可能性は監査を意味しない。 オープンソースは「誰かが検討したはずだ」という集団的な思い込みを誘発する。実際に検討されたかどうかは別の事実であり、検証されていないものは存在しないものとみなすべきである。
第四に、透明性は両刃の剣である。 公開台帳は監査と検証の基盤であると同時に、攻撃者にとっての無料の偵察インフラでもある。プライバシー技法(CoinJoin、アドレス再利用の回避)は、本事案において実質的な防御的価値を持っていた。
第五に、ベンダー集中が新たな単一障害点である。分散型システムにおいてユーザーが少数のハードウェアベンダーへ収斂すると、プロトコル層の分散化は維持されるものの、鍵生成層にシステムリスクが蓄積する。 本事案は、そのリスクが実現した最初の大規模事例である。
10.3 プロトコル層には問題がなかった
付随的に確認しておくべき事項がある。ビットコインプロトコル、secp256k1曲線、BIP-32/39標準にはいかなる欠陥も発見されていない。失敗は完全に実装層、それも特定ベンダーのビルド設定において発生した。Trezor、Ledger、Block(Bitkey)は自社製品が影響を受けていないことを確認している。
この区別は市場コミュニケーションにおいて重要である。「ビットコインがハッキングされた」という記述は不正確であり、正確な記述は「特定のハードウェアウォレットメーカーの鍵生成実装が失敗した」である。
11. 韓国の視点 — 規制整合性と国内取引所への提言
11.1 現行国内規制の死角
仮想資産利用者保護法(2024年7月19日施行)は、仮想資産事業者に対し利用者仮想資産の経済的価値の80%以上をコールドウォレットに保管することを求めている。従来の特定金融情報法体系上のISMS認証要件における70%基準から上方修正されたものである。事業者は毎月経済的価値を算出し、比率を維持しなければならない。
2026年2月、金融委員会は国会政務委員会への書面答弁を通じ、第2段階法(デジタル資産基本法)の下位規定策定時にコールドウォレット保管比率を100%水準へ上方修正する案を検討すると明らかにした。あわせて、デジタル資産カストディを別業種として規律する案も検討中である。
問題は、この規制体系全体が隔離の前提のみを規律している点にある。
| 規制指標 | 規律対象 | 本事案を防御できるか |
|---|---|---|
| コールドウォレット保管比率80% | 資産がどこにあるか | 不可能 |
| コールドウォレット保管比率100%(検討中) | 資産がどこにあるか | 不可能 |
| ISMS認証 | 管理体系一般 | 部分的 |
| 準備金・保険(ウォンマーケット30億ウォン、その他5億ウォン) | 事後補償 | 事後対応のみ |
| 鍵生成エントロピー品質基準 | 不在 | — |
コールドウォレット比率が100%であったとしても、この種の攻撃は防げない。 脆弱なシードで生成されたコールドウォレットは、100%コールドの状態のまま空になる。規制指標が実際のリスクと整合していないことを意味する。
11.2 国内取引所・VASPへの提言
| 優先度 | 措置 | 詳細 |
|---|---|---|
| 即時 | 鍵生成出所の全数調査 | 運用中の全コールドウォレットの鍵が、いつ、どのデバイス・ファームウェアバージョン・HSMで生成されたかを一覧化する。Coldcard系列の使用履歴があれば直ちに隔離し、マイグレーションを実施する |
| 即時 | 民生用ハードウェアウォレットの運用資産使用状況の点検 | 民生用ハードウェアウォレットは機関カストディ用途として設計されていない。臨時・非常用途であっても使用履歴があるかを確認する |
| 1週間 | エントロピーソースの二重化検証 | HSMのTRNG単一依存の有無を確認する。最低2つ以上の独立ソースをXOR結合し、いずれかが失敗しても残りがセキュリティを維持する構造を確保する |
| 1週間 | 鍵生成プロベナンス記録体系の確立 | 鍵ごとの生成日時・デバイス識別子・ファームウェアバージョン・エントロピーソース・立会者を署名済みログとして保存する。事後の影響範囲算定の前提条件である |
| 2週間 | マルチシグ・MPC構成の異種混成監査 | 閾値構成のすべての鍵が同一ベンダー・同一ファームウェア・同一ライブラリから生成されている場合、多重化の意味がない。ベンダー・アーキテクチャ・エントロピーソースを交差分散する |
| 2週間 | クロスデバイス・エントロピー検証手順の導入 | 同一モデル2台以上で生成した鍵の統計的独立性検証を鍵生成SOPに組み込む |
| 1か月 | HSM認証要件の再確認 | FIPS 140-2/140-3 Level 3以上、CC EAL4+などの認証の有効性と、認証範囲にRNGが含まれるかを確認する |
| 1か月 | ファームウェアSBOMと変更管理 | カストディインフラの全構成要素のSBOMを確保する。ファームウェア更新時の第三者セキュリティ監査と回帰検証を義務化する |
| 四半期 | 鍵ローテーションポリシーの策定 | 無期限使用の鍵を排除する。定期ローテーション時に新規エントロピーソースで再生成する |
| 常時 | オンチェーン異常出金検知ルールの強化 | 同一手数料率のハードコード、おつり出力の不在、長期休眠アドレスの全額移動などのスイープ指紋に基づくアラート |
11.3 規制当局への政策提言
保管場所規制から鍵ライフサイクル規制への拡張— コールドウォレット比率は必要条件であって十分条件ではない。第2段階法の下位規定には、比率の上方修正とは別に鍵の生成・バックアップ・ローテーション・廃棄の全過程における完全性要件を含めるべきである。
カストディの別業種規律における明文RNG要件 — 金融委員会が検討中のデジタル資産カストディ業の規律において、参入規制要件として認証済みの乱数生成器(NIST SP 800-90A/B/C準拠、または同等の認証)の使用を明示する案を検討する必要がある。
ハードウェアウォレット脆弱性の開示義務検討 — 国内で流通するハードウェアウォレットベンダーに対し、重大脆弱性発見時の利用者通知期限(例: 24時間)を規律する案。本事案の30時間の遅延は、その必要性を実証している。
自己保管利用者への情報提供体系 — 自己保管には預金者保護も準備金補償も適用されない。この事実とベンダーリスクの存在を、取引所の出金案内段階で告知するようにする案。
国内流通履歴の把握 — 国内にColdcardがどれほど流通しており、被害事例があるかについては現時点で公開資料がない。KISA・金融保安院レベルでの実態把握と国文の勧告配布が必要である。
11.4 国内市場の特殊性
韓国市場は、ウォンマーケット5大取引所を中心とした高い取引所集中度と、トラベルルール施行に伴う個人ウォレットへの出金制約により、自己保管比率が相対的に低いと知られている。これは本事案への直接的な露出を減らす要因ではあるが、同時に次の二つのリスクを残す。
- 取引所カストディインフラ自体の鍵生成リスクが集中する。 個人が分散して保有していれば個別事故に留まったであろうリスクが、取引所に集中すればシステムリスクとなる。
- 法人市場開放と機関カストディ拡大の局面で、カストディ事業者の鍵管理標準が確立されなければ、同種の事故がはるかに大きな規模で再現される可能性がある。
12. ビットコイン投資者への提言
12.1 Coldcard保有者向け即時判定手順
Q1. ウォレットのシードをColdcardで生成したか?
いいえ → 影響なし(ただしQ5を確認)
はい ↓
Q2. シード生成時点は2021年3月17日(ファームウェアv4.0.0リリース)以降か?
いいえ → 影響なし
わからない → 影響ありとみなして進める
はい ↓
Q3. シード生成時に独立かつ非公開のサイコロロールを50回以上入力したか?
はい(確実) → RNG欠陥単独ではリスクなし。ただしSeed XOR使用者は12.3を参照
いいえ / 記憶が定かでない ↓
Q4. 即時マイグレーション対象。9.3の手順に従う。
Q5. 紙ウォレット生成、Seed XOR分割、デバイスクローニング機能を使用したことがあるか?
はい → 該当の生成物も予測可能であった可能性がある。別途マイグレーションが必要
パスフレーズ利用者への注意: 強固かつ固有のBIP-39パスフレーズは即時露出を大きく減らすが、脆弱なシードそのものを修復しない。Coinkiteは、パスフレーズ利用者についても実務上可能な限り早くマイグレーションすることを推奨している。
12.2 一般ビットコイン投資者への提言
| 提言 | 根拠 |
|---|---|
| ベンダーを分散させる | 単一ベンダー依存は本事案が実証したシステムリスクである。保有規模が大きい場合は異なるメーカー・アーキテクチャのデバイスへ分散する |
| マルチシグは異種混成で構成する | 2-of-3構成の3鍵がすべて同一モデル・同一ファームウェアから生成されていれば、多重化の効果はゼロである |
| ユーザーエントロピーを習慣化する | サイコロロールやコイントスなど、ベンダーが制御しないエントロピーをシードに結合する。最低50回 |
| パスフレーズを使用するが分離保管する | シード単語とパスフレーズを物理的に異なる場所に保管する |
| アドレス再利用を避ける | 公開台帳が攻撃者の偵察資産となる構造を弱める |
| 定期的に残高を確認する | 本事案の被害者の平均休眠期間は3.18年であった。年1回以上の残高確認ルーティンを確立する |
| ベンダーのセキュリティ告知チャネルを購読する | 30時間の告知遅延も問題であったが、告知を見なかったユーザーは数日を失った |
| 保管方式を規模に応じて階層化する | 少額は利便性優先、高額はマルチシグ・異種混成・ユーザーエントロピー |
| 自己保管の責任範囲を理解する | 自己保管資産には預金者保護も、取引所の準備金・保険も適用されない |
12.3 してはならないこと
| 禁止事項 | 理由 |
|---|---|
| 脆弱なシードを別のウォレットアプリ・デバイスへ復元して「移行した」と判断する | シードの値自体が探索空間の中にある |
| 少額であることを理由にマイグレーションを延期する | 第3波は数千ドル規模のウォレットを標的化した |
| パニック状態で検証なしに大量移転する | マイグレーションミスがハッキングより大きな損失を招いた事例が繰り返し観測されている |
| 「復旧サービス」を標榜する第三者にシードを提供する | 事故直後は二次フィッシングの最盛期である。いかなる状況でもシードを他人に提供してはならない |
| 新規シード生成前のファームウェア確認を省略する | 脆弱なファームウェアで新しいシードを作れば、再び脆弱なシードになる |
12.4 国内被害発生時の対応手順
- オンチェーン証拠の保全 — 流出トランザクションID、時刻(UTC)、送信・受信アドレス、金額を記録する。ブロックエクスプローラーの画面キャプチャも併せて行う。
- 捜査機関への申告 — 警察庁サイバー捜査局または管轄警察署のサイバー捜査隊。国際協力が必要になるため、初期申告の時点が重要である。
- オンチェーン分析会社への通報 — Galaxy Research、Chainalysisなどが攻撃者アドレスのデータベースを構築中である。被害アドレス情報の提供が全体の追跡に貢献する。
- 取引所への凍結要請 — 資金が取引所へ流入する場合に備え、国内外主要取引所のコンプライアンスチャネルにアドレスを事前登録する。現在資金が未移動状態であるため、この措置は実効性を持つ。
- 税務処理の準備 — 盗難損失の税務上の取り扱いは事案ごとに異なり、資産移動記録と盗難証憑を保全しておく必要がある。具体的な判断は税務専門家との相談が必要である。
本項目は一般情報であり、法律助言ではない。個別事案の法的対応は弁護士に相談すべきである。
13. 検知・対応・予防チェックリスト
13.1 個人ユーザー
- 保有するハードウェアウォレットのメーカー・モデル・ファームウェアバージョンを確認する
- 各シードの生成時点および生成デバイスの記録を確認する
- サイコロロールなどのユーザーエントロピー入力の有無を確認する
- 該当する場合、修正ファームウェアのインストール → 新規シードの生成 → 少額テスト → 全額移転
- Seed XOR・紙ウォレット・デバイスクローニングの生成物を別途点検する
- ブロックエクスプローラーの残高アラートを設定する
- ベンダーのセキュリティ告知チャネルを購読する
13.2 取引所・カストディ事業者
- 全コールドウォレット鍵の生成プロベナンスを一覧化する
- 民生用ハードウェアウォレットの運用資産使用履歴を調査する
- HSM認証範囲にRNGが含まれるかを確認する
- 複数の独立エントロピーソースの結合構造を検証する
- マルチシグ・MPC構成のベンダー異種混成を監査する
- クロスデバイス・エントロピー検証を鍵生成SOPに組み込む
- ファームウェアSBOMを確保し、更新前の第三者監査手続きを確立する
- スイープ指紋に基づく異常出金検知ルールを配布する
- 鍵ローテーションポリシーを策定・施行する
- 事故発生時の利用者通知SLAを定義する(24時間以内を推奨)
13.3 ハードウェアウォレットメーカー
- RNG経路をfail-closedに再設計する(エントロピー確保失敗時は動作を停止)
- ビルド設定とライブラリの条件付きコンパイルの相互作用を検証するテストを追加する
- クロスデバイス・シード独立性検証をリリースゲートに組み込む
- NIST SP 800-90Bの継続的健全性検査を実装する
- ユーザーエントロピー入力を選択機能から既定値へ転換する検討を行う
- 脆弱性緊急通知体系を構築する(メール到達率の限界を考慮した複数チャネル)
- ユーザー自己診断ツール(オフライン)を提供する
14. 結論
本事案は、暗号資産セキュリティ議論の焦点を保管から生成へ移動させる。
過去10年間、業界は「どこに置くか」を改善することに資源を集中させてきた。ホットウォレットからコールドウォレットへ、単一署名からマルチシグへ、自己保管から規制されたカストディへ。国内規制もまた、コールドウォレット保管比率という単一指標を中心に発展してきた。この方向自体は正しく、実際に数多くの事故を予防してきた。
しかし本事案は、その改善のすべてが一つの検証されていない前提の上に載っていたことを明らかにした。鍵がそもそも推測不可能に作られているという前提。その前提がビルド設定一行で崩れ、5年間誰も気づかず、その結果、完璧に隔離されたデバイスから8,860万ドルが消失した。
まとめると、以下の四点である。
- コールドストレージは鍵を保管するが、鍵の品質を保証しない。 保管規制は生成規制によって補完されなければならない。
- 乱数生成器は静かに失敗してはならない。 fail-open型のRNGは失敗した事実そのものを隠蔽し、これは失敗そのものより危険である。
- 監査可能性は監査ではない。 検証されていないものは存在しないものとして扱うべきである。
- 分散化はレイヤーごとに評価されるべきである。 プロトコルが分散化されていても、鍵生成層が少数のベンダーに集中していれば、システムリスクはそのまま残る。
「信頼せず、検証せよ(Don't trust, verify)」はビットコインの古くからの原則である。本事案は、この原則がプロトコルのみならず、自分の鍵がどのように作られたかにも適用されるべきであることを示している。そして大半のユーザーは、それを検証する手段を持っていない。その手段を提供することが、メーカーと規制当局の次の課題である。
15. 参考文献
- Coinkite. (2026). COLDCARD Security Advisory — Seed Generation. Coinkite Blog. https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/
- Coinkite. (2026). Technical Deep Dive into the Entropy Issue. Coinkite Blog. https://blog.coinkite.com/entropy-technical-backgrounder/
- CoinDesk. (2026, August 1). How bitcoin cold wallets lost $70 million in an attack that never touched the devices. https://www.coindesk.com/tech/2026/08/01/how-bitcoin-cold-wallets-lost-usd70-million-in-an-attack-that-never-touched-the-devices
- CoinDesk. (2026, August 2). Bitcoin cold-wallet attack spreads to 4,500 addresses as losses near $89 million. https://www.coindesk.com/tech/2026/08/02/bitcoin-cold-wallet-attack-spreads-to-4-500-addresses-as-losses-near-usd89-million
- Decrypt. (2026). Coldcard Bitcoin Exploit Balloons to $88 Million as Attackers Keep Draining Wallets. https://decrypt.co/374817/coldcard-bitcoin-exploit-88-million-attackers-draining-wallets
- The Hacker News. (2026, August). Coldcard Hardware Wallet Flaw Linked to $70 Million Bitcoin Theft. https://thehackernews.com/2026/08/coldcard-hardware-wallet-flaw-linked-to.html
- BleepingComputer. (2026). COLDCARD wallet RNG flaw likely linked to $88 million Bitcoin theft. https://www.bleepingcomputer.com/news/security/coldcard-wallet-rng-flaw-likely-linked-to-88-million-bitcoin-theft/
- Tech Times. (2026, July 31). Coldcard Hardware Wallet Hacked via Firmware Bug That Bypassed RNG for Five Years. https://www.techtimes.com/articles/322392/20260731/coldcard-hardware-wallet-hacked-via-firmware-bug-that-bypassed-rng-five-years.htm
- crypto.news. (2026). A build error in Coldcard's firmware drained $38 million in bitcoin in 25 minutes. https://crypto.news/coldcard-firmware-bug-drains-38-million-bitcoin/
- Bitcoin Magazine. (2026). Coinkite Releases Fixed Firmware After Coldcard Bug; AI Likely Involved In The Breach. https://bitcoinmagazine.com/business/coinkite-releases-fixed-firmware-after-coldcard-bug-ai-likely-involved-in-the-hack
- The Crypto Times. (2026, August 1). Coldcard Hack Hits $75M After Alleged Second Attack Wave: Galaxy Research. https://www.cryptotimes.io/2026/08/01/coldcard-hack-hits-75m-after-alleged-second-attack-wave-galaxy-research/
- TechSpot. (2026). A Coldcard firmware flaw let hackers drain $70 million in Bitcoin in 41 minutes. https://www.techspot.com/news/113322-coldcard-firmware-flaw-hackers-drain-70-million-bitcoin.html
- PrivacyGuides. (2026, August 3). Nearly 1,400 Bitcoin Hacked from Coldcard Wallets. https://www.privacyguides.org/news/2026/08/03/nearly-1400-bitcoin-hacked-from-coldcard-wallets/
- 247wallst.com. (2026, August 1). Coldcard Hacked for $70M: How Do You Keep Bitcoin Safe if Cold Wallets Can Be Hacked? https://247wallst.com/investing/cryptocurrency/2026/08/01/coldcard-hacked-for-70m-how-do-you-keep-bitcoin-safe-if-cold-wallets-can-be-hacked/
- 金融委員会(韓国). (2023). 「仮想資産利用者保護等に関する法律」施行令制定案報道資料. https://www.fsc.go.kr/no010101/81214
- ニュース1(韓国). (2026, February 20). 金融委「取引所仮想資産コールドウォレット保管比率、100%水準へ上方検討」. https://www.news1.kr/finance/blockchain-fintech/6077484
- Decenter(韓国). (2026). 金融委「第2段階法で取引所コールドウォレット保管比率100%へ上方検討」. https://www.decenter.kr/article/20010694
- イートゥデイ(韓国). (2026). 金融委「デジタル資産基本法を最大限速やかに」…法人市場開放と連動. https://www.etoday.co.kr/news/view/2606627
- ブロックメディア(韓国). (2025, January 16). デジタル資産コールドウォレット保管比率80%へ上方、取引所ごとの運用方式は異なる. https://www.blockmedia.co.kr/archives/843516
- ディエレック(韓国). (2025, December 10). Upbit、セキュリティに有利なコールドウォレットを98%以上使用. https://www.thelec.kr/news/articleView.html?idxno=45132
16. 附録A — 影響範囲と修正ファームウェア対照表
| モデル | 影響ファームウェア(Coinkite勧告基準) | 実効エントロピー | 修正バージョン(標準) | 修正バージョン(Edge) |
|---|---|---|---|---|
| Mk2 | v4.0.1 ~ v4.1.9 | 約40ビット | v4.2.0以上 | 該当なし |
| Mk3 | v4.0.1 ~ v4.1.9 | 約40ビット | v4.2.0以上 | 該当なし |
| Mk4 | 修正版以前の全バージョン | 約72ビット | v5.6.0以上 | v6.6.0X以上 |
| Mk5 | 修正版以前の全バージョン | 約72ビット | v5.6.0以上 | v6.6.0X以上 |
| Q | 修正版以前の全バージョン | 約72ビット | v1.5.0Q以上 | v6.6.0QX以上 |
| TAPSIGNER | 影響なし | — | — | — |
| OPENDIME | 影響なし | — | — | — |
| SATSCARD | 影響なし | — | — | — |
出典間の不整合に注意:Mk2/Mk3の影響範囲について、Coinkite勧告はv4.0.1v4.1.9と記載しているが、一部の初期報道はv4.0.0v5.0.3と記述している。確実でない場合は影響ありとみなしてマイグレーションするのが安全である。
17. 附録B — 未確認事項と追跡課題
| 項目 | 現在の状態 | 追跡の必要性 |
|---|---|---|
| 攻撃者の身元および国籍 | 未確認。Galaxyが疑いのあるアドレス約600個を捜査機関に通報 | 高 |
| 3波が同一主体かどうか | 未確定。第1・2波は類似パターン、第3波は異なる | 中 |
| 攻撃者のAI活用の有無 | メーカーの推定、確証なし | 中 |
| Mk4/Mk5/Qの72ビット空間への実際の攻撃有無 | 現時点で未観測 | 高 |
| Blockが指摘したfail-openブート経路の実際の発生有無 | 未解決 | 高 |
| 国内流通量および国内被害事例 | 公開資料なし | 高 |
| 脆弱シードで生成された紙ウォレット・Seed XOR生成物の被害 | 未集計 | 中 |
| 最終的な被害規模 | 進行中、拡大の可能性あり | 高 |
| 規制当局によるハードウェアウォレット認証体系の導入有無 | 議論初期段階 | 中 |
本レポートはTLP:GREEN分類として、コミュニティ内での共有が許可されています。商業利用の際は別途協議が必要であり、引用時は出典を明記してください。ライセンス: CC BY-NC-SA 4.0。
免責事項: 本文書は公開情報源(OSINT)に基づいて作成された脅威インテリジェンス分析であり、投資助言または法律助言ではありません。事案は進行中であるため、数値と影響範囲は変更される可能性があります。