7月30日未明、41分間で1,196台のColdcardハードウェアウォレットから合計1,082BTC(約7,000万ドル)が抜き取られる事件が発生した。盗まれたビットコインは4つのアドレスに留まり、現在も動いていない。
被害規模は今年起きた大規模ハッキングに比べれば小さい。しかし攻撃手法はこれまでに例がなく、業界が信頼を置いてきたコールドストレージの根幹を揺るがすものだ。
攻撃者はハードウェアウォレットに一切触れていない。端末がネットに繋がっていなくても、電源が切れて金庫にしまわれていても関係ない。すべてはオフラインの計算だけで完結する新種の攻撃だった。
本記事ではGalaxy ResearchとBlock(旧Square)の調査報告をもとに、攻撃の全容と仕組み、コールドストレージが抱える盲点を詳しく解説する。
1,196台から7,000万ドル、41分の出来事

わずか41分で1,082BTCが移動
Galaxy Researchが8月1日に公開した分析によれば、攻撃はUTC時間7月30日の午前1時10分から1時51分までの41分間に集中している。この間、6つのブロックにまたがって1,196件の送金が確認された。
連続するブロックの中に、取引がまったく記録されていないブロックが3つ挟まっていたことから、攻撃者は手動で送金をバッチ処理していた可能性が高い。盗まれた総額は1,082.65BTC、時価にして約7,000万ドルに達する。
流出が最初に報じられた際の推定額は約4,000万ドルだった。初期報道では盗難先アドレスの一部しか捕捉されていなかったためだ。Galaxy Researchが4つの送金先アドレスをすべて特定したことで、被害額がほぼ倍に修正された。
「40億通り」が落とし穴に
ハードウェアウォレットの安全性は「シード(種)」と呼ばれる乱数の予測不可能性に依存している。シードとは、簡単に言えば「ウォレットの全データを生み出す元になる数字」だ。これさえ安全なら、残高を動かすための秘密鍵も安全という理屈である。
Coldcardの旧モデルMk2とMk3で生成されるシードのパターンは、攻撃者が悪用可能なほど狭い範囲に落ち込んでいた。さらに新モデルのMk4、Q、Mk5では約40億通りの候補に絞られるという、驚くべき事実がBlockの調査で明らかになっている。
40億通りは人間の感覚では膨大に思えるが、コンピューターの計算能力からすれば大した数字ではない。攻撃者は自分のマシン上で全候補を次々に生成し、それぞれのシードから作られるアドレスをブロックチェーン上の実在アドレスと照合できる。要は、端末そのものに触れる必要が一切ないのだ。
「触らない窃盗」を可能にしたファームウェアの欠陥

本来は推測不能なはずのシード
暗号資産の秘密鍵を狙う攻撃の多くは「何かに到達する」ことで成立する。取引所が侵害される、スマートコントラクトが騙される、フィッシングで鍵が抜かれる、といった具合だ。これらの対抗策として重視されてきたのが「物理的距離」であり、ハードウェアウォレットが製品として売り込んできた安心感の源泉でもある。
端末をネットに繋がなければ、理論上は攻撃者の手が届かない。しかし今回の手法はこの前提を無効化した。鍵を「到達して盗む」のではなく「数学的に再構築する」からだ。端末の電源が切れていようが、別の大陸の金庫に保管されていようが関係ない。
乱数生成がスキップされていた
Coldcardのファームウェアは本来、専用のハードウェア乱数生成器からシードを引き出す設計だった。ところが内部ビルドの設定が乱数生成器をスキップするように切り替わっており、しかもサポートライブラリのチェックは「設定項目の有無」だけを確認して、「設定がオンかオフか」までは見ていなかった。
これにより、鍵生成はチップのシリアル番号とクロックレジスタの値をベースにした、簡易なソフトウェア乱数にフォールバックしていた。シリアル番号は工場出荷時に固定されたメタデータであり、クロック値も攻撃者が自分の端末で計測あるいは絞り込み可能な時間情報にすぎない。
つまり、本来は天文学的な広がりを持つはずのシードの組み合わせが、現実的に探索可能な範囲まで縮小していた。これが今回の攻撃を成立させた根本原因である。
3つのアドレス形式にまたがる攻撃の痕跡
Galaxy Researchの分析によれば、被害に遭った1,196件のうち1,183件はモダンなネイティブSegwitアドレス形式、7件はそれより古い標準、さらに6件はもっと旧式のフォーマットだった。
特定の被害者を狙って3つのアドレス形式を横断的に攻撃するのは現実的ではない。これは攻撃者が候補シードを体系的に総当たりし、各シードが生成しうるすべてのアドレス経路を網羅的にチェックしている証拠だ。個別の標的型ではなく、脆弱な範囲全体を自動スキャンする仕組みだったと考えられる。
被害者は自分の危険性を確認できない

CoinkiteとBlockで異なる影響範囲
Coldcardの製造元であるCoinkiteは、Mk3ユーザーに警告を発している。同社は新モデルは影響を受けていないと説明するが、Blockの調査ではMk2、Mk4、Q、Mk5も対象範囲に含まれると指摘されている。
影響範囲の見解が一致しないこと自体が、問題の深刻さを物語っている。モデル名だけで「自分は安全」と断言できる状況ではないのだ。
シードが危険かどうか検証する手段がない
さらに厄介なのは、所有者が自分でリスクを判定できない点だ。自分のウォレットに保存されているシードが「再現可能な範囲」に入っているかどうかを確かめる検査方法は存在しない。
脆弱なファームウェアでシードを生成したユーザーは、安全を確認できないまま「最悪の事態を想定する」しかない。つまり、該当端末で作られたウォレットは、たとえ今は無事でも、将来いつでも攻撃者に資産を抜かれる可能性を抱えている。
Galaxy Researchは「資金を移動させなければ、さらなる被害が発生する可能性が高い」と警告している。残高があるなら、一刻も早く新たな安全なウォレットに移す以外に確実な防御策はない。
攻撃者のわずかなミスが追跡の糸口に

攻撃者はほぼ完璧に振る舞ったが、ひとつだけ足跡を残した。BlockのClay Garrett氏がX(旧Twitter)で明かしたところによると、攻撃者は送金元アドレスの照会に「ある著名なブロックチェーンデータ提供企業」の有料アカウントを使用していたという。
Garrett氏の説明では、このプロバイダーの内部ログに攻撃者のクエリが「並外れた精度」で記録されていた。リクエストの回数、タイミング、順序までもが、Galaxy Researchの推測する攻撃ワークフローと一致したという。
プロバイダー側は通常のサービス提供の一環として、攻撃を意図しないクエリに応答していたにすぎない。Blockはこの情報をすでに当局に提供している。攻撃の捜査はまだ初期段階だが、資金が動いておらず4つのアドレスに留まっていることもあり、追跡は継続中だ。
「鍵は推測不能」から「鍵は到達不能」へ、すれ違う前提

コールドストレージは長年、「秘密鍵は推測できない」という建前で販売されてきた。しかし市場とユーザーはこれを「秘密鍵には誰も到達できない」という意味で受け取ってきた。今回の事件は、この前提のすれ違いを痛烈に浮き彫りにした。
乱数生成の脆弱性を突いた攻撃は、ハードウェアの安全神話の盲点だった。鍵を厳重に保管しても、そもそも鍵が「弱い」状態で生成されていれば、保管の厳重さは無意味になる。
しかも、こうした欠陥を発見し悪用するコストは下がり続けている。Anthropicが7月29日に公開した研究では、同社のAIモデルが、2年間の専門家レビューを生き延びてきた耐量子暗号アルゴリズムの安全性を、わずか60時間で半減させたことが示された。
秘密鍵を安全に保管すること自体は、もはや問題の半分にすぎない。鍵がいかに生成されるか、そのランダム性が本物かどうかを検証できる仕組みこそが、次世代の課題となるだろう。
この記事のポイント
- Coldcardハードウェアウォレットのファームウェア欠陥により、シード(秘密鍵の元となる乱数)が探索可能な範囲に縮小
- 攻撃者は41分間で1,196台から1,082BTC(約7,000万ドル)をオフライン計算のみで抜き取る
- 端末に触れず、ネット接続も不要。「鍵を推測可能にしてしまった」こと自体が脆弱性だった
- 被害者は自分のシードが脆弱かどうかを自力で判定できない。資金移動が唯一の確実な防御策
- ブロックチェーンデータプロバイダーのログから攻撃者の痕跡が見つかり、当局に情報提供済み

暗号資産とブロックチェーンの可能性を追求するエミリー。
暗号資産投資、DeFi、NFT、WEB3、メタバースといった最先端分野を深く理解し、「エミリーズ・クリプト・インサイダー」を運営。
分かりやすい解説で、ブロックチェーン革命の潮流を一般に広めることを目指す。初心者から上級者まで、最新情報を求めるすべての人に役立つ情報発信を心がけている。
