ビットコイン用のハードウェアウォレット「Coldcard(コールドカード)」を製造する Coinkite が2026年7月30日、端末が作り出す「シード」の生成に不具合があったと公表しました。2021年3月以降の特定のファームウェアで作られたシードは、乱数の質が設計上の想定より大きく落ちており、第三者が計算で言い当てられる可能性があるとされています。ファームウェアを更新しても、すでに作られたシードは直りません。
暗号資産のウォレットは、最初に端末が「サイコロを大量に振る」ような処理をして、現実的な計算では推測できないようにした秘密の数字の並びを作ります。これが資産を守る根っこです。
Coldcard の一部のファームウェアでは、この「サイコロ」を呼び出す部分が、組み立て時の設定ミスによって、本来使うはずの部品ではなく、暗号用途に設計されていないソフトウェアの計算に結び付いてしまっていました。結果として、当てるための組み合わせの数が設計の想定よりはるかに少なくなり、条件しだいで第三者が言い当てられる状態になっていた、というのが今回の内容です。
重要なのは、ファームウェアを新しくしても、すでに作ってしまった秘密の数字は元に戻らないという点です。公式は、修正版を入れたうえで新しく作り直し、資産をそちらへ移す手順を案内しています。
Coinkite は、利用者に実際の損失が生じたこと自体は認めていますが、件数や金額は公表していません。また、影響を受けた端末は処分しないよう案内しています。
この記事で分かること
- 何が起きたのか(原因と時期)
- 対象になる機種とファームウェアのバージョン
- サイコロを使って作った場合・パスフレーズを付けていた場合の扱い
- 公式アドバイザリに記載されている移行の手順(Mk2 / Mk3 が唯一の端末である場合)
- 影響を受けた端末を処分しないよう案内されている件
- 損失について公表されていること・いないこと
- 顧客データの保持方針が一時変更されている件
- 現時点で未確定の事項
公表資料の整理であり、特定の製品の利用・不利用や、資産の移動を推奨するものではありません。まず、何が起きたのかから見ていきます。
何が起きたのか
Coinkite は2026年7月30日、「Coldcard Security Advisory」を公開しました。同アドバイザリは2026年8月1日 14:35(EDT/日本時間の8月2日 03:35)に更新されています。
ハードウェアウォレットは、新しいウォレットを作るときに端末内部でシードを生成します。このとき、予測できない値を作り出す専用の部品(ハードウェア乱数生成器)を使うのが設計上の前提です。
技術解説によると、プログラムを端末用に組み立てる工程(ビルドとリンク)の統合ミスによって設定が意図した効果を持たず、乱数を呼び出す部品が、MicroPython に既定で入っている一般用途の擬似乱数(Yasmarang)に結び付いていたと説明されています。
ここで注意が必要なのは、これは専用部品が故障したという話ではないという点です。原因は、どの実装を呼ぶかが組み立て時に取り違えられていたことにあります。また Mk4 の開発時には、SE1 と SE2 という安全部品が持つ乱数の値も、予備の予備として擬似乱数の内部状態へ混ぜ込む処理が入っていたと説明されています。つまり「専用部品を一切使っていなかった」という単純な構図ではなく、それでも最終的に取り出される値は擬似乱数側から作られていたため、想定の128ビットには届かなかった、という説明です。
擬似乱数には暗号用途に設計されたものと、シミュレーションなど一般用途のものがあります。今回結び付いていたのは後者です。
この代替実装自体は2018年5月に上流のプロジェクトへ導入されたもので、Coldcard のシード生成の経路に入ったのは2021年3月の libNgU 移行のときだと説明されています。
どれくらい弱くなったのか
シードの強さは、当てるために試す必要のある組み合わせの多さで測ります。単位はビットで、1ビット増えるごとに組み合わせは2倍になります。設計上の想定は128ビットです。
Coinkite の技術解説には、実効的な探索空間の推計として次の数値が記載されています。いずれも現在の攻撃の想定に基づく予備的な推計であり、分析が進むにつれて変わりうると明記されています(原文「This is a preliminary estimate and may change as analysis continues.」)。確定した測定値ではありません。
| 機種 | 実効的な強さ(推計) | 想定 |
|---|---|---|
| Mk2 / Mk3 | 約40ビット | 128ビット |
| Mk4 / Mk5 / Q | 約72ビット | 128ビット |
アドバイザリは Mk4・Mk5・Q について「影響は同程度に深刻ではないが、それでも深刻である」と記載しています。
たとえば128ビットと40ビットの差は、単純に88回ぶん2倍していく差にあたります。手が届かない量だったものが、条件しだいで計算しきれる量に落ちる、という関係です。
対象になる機種とファームウェア
アドバイザリに記載されている対象は次のとおりです。
| 機種 | 影響を受けるバージョン | 修正版 |
|---|---|---|
| Mk2 / Mk3 | 4.0.1(2021年3月)〜 4.1.9(この範囲を含む) | 4.2.0 以降 |
| Mk4 / Mk5(standard) | 5.6.0 より前 | 5.6.0 以降 |
| Mk4 / Mk5(Edge) | 6.6.0X より前 | 6.6.0X 以降 |
| Q(standard) | 1.5.0Q より前 | 1.5.0Q 以降 |
| Q(Edge) | 6.6.0QX より前 | 6.6.0QX 以降 |
アドバイザリは、standard と Edge が別々のリリース系統であることに注意を促しており、「Edge の古い 6.x が、standard より数字が大きいというだけで修正済みだと考えないように」と明記しています。
TAPSIGNER、OPENDIME、SATSCARD については、コードベースが異なるため今回の不具合の影響を受けないと記載されています。
🔴 この表は2026年8月10日時点のアドバイザリに記載されていた対象です。その後の2026年8月20日、Coinkite は Mk4・Mk5 に 5.6.1、Q に 1.5.1Q を公開し、該当する全機種の利用者に更新を強く推奨しています。詳細は後述の追記にまとめています。
ファームウェア更新では既存のシードは直らない
アドバイザリで繰り返し書かれているのがこの点です。原文は「Updating the firmware does not change or repair an existing seed.」で、更新は新しく作るシードを正しくするだけで、すでに作られたシードには手を触れないという説明です。
修正版がインストールされるまで、対象機種で新しいシードを生成しないことも記載されています。
サイコロを使った場合・パスフレーズを付けていた場合
今回の不具合は、端末が作り出した部分の乱数に関するものです。利用者が自分で足した乱数まで失われるわけではない、とアドバイザリは説明しています。
ダイスロールを追加していた場合
対象のファームウェアでも、端末が生成したシードと、Add Dice Rolls から入力されたサイコロの目のすべてを合わせて計算していたと記載されています。
| 公正な6面のサイコロを、独立かつ非公開で振った回数 | アドバイザリの記載 |
|---|---|
| 50〜98回 | サイコロの入力だけで128ビット以上を供給していた |
| 99回以上 | サイコロの入力が約256ビットを供給していた |
| 50回未満/回数・独立性・非公開かどうか・最終的に使ったシードのいずれかが不確か | 移行の案内に従う対象 |
「公正かつ独立した50回以上を入力し、その目が記録されたり外部に出たりしていない場合、そのシードは今回の乱数の問題だけを理由としてリスクがあるとは考えない」と記載されています。ただしこれは、サイコロを足したあとに表示された最終的なシードの語句に対するものだ、という但し書きが付いています。
BIP-39 パスフレーズを使っていた場合
アドバイザリは、強く、使い回しがなく、秘密が保たれており、シードのバックアップとは別に管理されているBIP-39 パスフレーズは独立した壁として働き、シードの強度低下だけではその資産に到達できないと説明しています。原文は「The passphrase must be strong, unique, secret, and separate from the seed backup.」です。攻撃側はパスフレーズも突き止める必要がある、という整理です。
条件は4つそろって初めて満たされます。複雑であっても、シードの控えと同じ場所に書いてある場合や、すでにどこかに漏れている場合は、独立した壁になりません。
アドバイザリは、短い・ありふれている・規則的である・引用句である・使い回している・すでに露出している・確かでない、といったパスフレーズはこの条件に該当しないと明記しています(原文「A short, common, patterned, quoted, reused, exposed, or uncertain passphrase does not qualify.」)。その場合や強度に自信がない場合はリスクがあるものとして扱う、と記載されています。また「強いパスフレーズは目先の露出を減らすが、影響を受けたシードを修復するものではない」とし、パスフレーズの利用者も移行の対象として案内されています。
ここでいうパスフレーズは BIP-39 のパスフレーズであって、Coldcard の PIN ではないことも明記されています。
公式アドバイザリに記載されている移行の手順(Mk2 / Mk3 が唯一の端末である場合)
以下は Mk2 / Mk3 を1台だけ持っている場合の手順です。修正版のバージョンは機種ごとに異なるため、Mk4 / Mk5 / Q の利用者が 4.2.0 を自分の機種向けの修正版として読むことはできません(機種ごとの修正版は前掲の表のとおりです)。
全機種に共通する流れは、①自分の機種向けの修正版ファームウェアを入れる → ②新しいシードを生成する → ③資産を新しいシードへ移す、という3段階です。その具体化として、アドバイザリには次の流れが記載されています。修正版の 4.2.0 は Mk2 / Mk3 でも新しいシードを正しく生成できるため、新しい端末を買い足さなくても移行は完了できる、という説明です。
- 影響を受けたシードについて、書き留めたバックアップとウォレットの指紋を確認する
- ファームウェア 4.2.0 以降をインストールし、端末上でバージョンを確認する
- 中身が空の状態の端末で新しいシードを生成し、そのバックアップ・指紋・受取アドレスを記録して検証する
- 影響を受けたシードに戻し、検証済みのアドレスへ少額のテスト送金を行う
- 新しいシードに戻し、指紋が一致することとテスト分が届いたことを確認する
- 影響を受けたシードに戻し、残りを移す
- 新しいシードに戻して移行を確認する。全額が届いて確定するまで、古いバックアップは保管しておく
修正版のファームウェアが生成するシードで足りるため、ダイスロールの追加は任意であり、今回の問題への対応として必須ではない、とも記載されています。
なお、1台で古いシードと新しいシードを切り替えながら行う作業になるため、修正版が入った2台目がある場合はそちらを使う方法が案内されています。
影響を受けた端末は処分しないよう案内されている
Coinkite は2026年8月2日付の「Update, Sunday.」で、影響を受けた端末を処分しないよう案内しています。原文は「If you have an affected device, please do not dispose of it. It may become essential if funds are recovered.」で、資金が回収された場合に端末が必要になる可能性があるという理由が示されています。同じ告知には、複数の法域の法執行機関と連携する方針も記載されています。
損失について公表されていること・いないこと
Coinkite が公開したアドバイザリと技術解説には、流出額の記載がありません。
複数のメディアが、オンチェーン分析に基づく集計として流出したビットコインの量を報じていますが、これらはいずれも第三者による推計であり、金額も集計時点によって異なります。本記事では、発行元が公表していない数値を確定した被害額としては扱いません。
一方で、Coinkite は2026年8月4日付の「Adding to the public record」の中で、利用者に実際の損失が生じたこと自体は認めています。原文は「Users have suffered real losses, and for those impacted, no public statement is enough.」です。
つまり、損失が発生したという事実は同社が認めており、公表されていないのは件数・ビットコインの数量・金額である、という整理になります。
Coinkite が正式なセキュリティ更新を公表(2026年8月23日 追記)
Coinkite は2026年8月20日、「COLDCARD Security Update: Seed Generation, Transaction Integrity, and Data Isolation」を公開しました。7月31日の緊急修正のあと3週間続けた見直しを反映したもので、乱数の処理だけでなくシステム全体を対象にした、と記載されています。
同社はこの中で、Mk4・Mk5・Q のすべての利用者に対し、ただちに公式のダウンロードページからファームウェアを更新することを強く推奨すると記載しています。示されているバージョンは Mk4・Mk5 が 5.6.1、Q が 1.5.1Q です。
🔴 更新しても、すでに作られたシードは安全にならないという説明は変わっていません。原文は「Installing this update does not make an existing vulnerable seed safe.」で、2021年から2026年7月までの対象ファームウェアで作られた可能性があるシードについては、修正版で新しいシードを作り直して資金を移すという案内のままです。7月31日のファームウェアで新規シードの不具合自体は修正されており、今回の版は「作り直しのための、より入念に検証された土台」を提供するものだと位置づけられています。
新しいシードには、利用者が入れる乱数が必須になった
今回の版から、新しく生成するシードには次のいずれか1つの入力が必須になったと記載されています。
- 予測できない間隔でのキー押下を65回以上
- 物理的な6面サイコロを50回振る
- 物理的なコイン投げを128回
同じ要件は、生成される Temporary Seed と CCC Key C にも適用されるとしています。標準の手順では、この入力と端末側の複数の乱数生成器(SE1・SE2・TRNG)から取った値を組み合わせる、という説明です。
予備の擬似乱数生成器は Yasmarang から SHA-256 Hash_DRBG に変更されました。起動時に端末のハードウェア乱数生成器で初期化し、SE1 と SE2 から取った256ビットのダイジェストで再度シードを与え、出力にもハードウェア乱数を混ぜる、と記載されています。
端末側の乱数を一切使わない上級者向けの選択肢 Dice Rolls Only は引き続き用意されており、12語で50回、24語で99回のサイコロが要るとされています。キーを押しっぱなしにしたときにサイコロの目が繰り返し入力されたと数えられてしまう問題も修正されたと記載されています。
乱数以外の変更も含まれている
同社は、今回の版には最初の乱数の不具合とは関係のない変更も含まれると明記しています。主なものは次のとおりです。
- 署名の直前に取引データを再検証する。画面で確認したあとにパソコン側が取引を書き換えた場合、署名を止めて「Transaction modified」と表示します。USBポートが乗っ取られていた場合の理論上の弱点への対応だと説明されています
- SIGHASH_SINGLE と SIGHASH_SINGLE|ANYONECANPAY を既定で拒否する。後続の出力があとから変更されうるためだとしています。必要な利用者は設定を「Warn」に変えられます
- BIP-39 パスフレーズのウォレットを使っているとき、View Seed Words は親のシードの単語ではなく、そのウォレットの拡張秘密鍵を表示するようになった
- バックアップ、Clone Coldcard、Key Teleport の完全バックアップが、いま有効になっているウォレットを対象にするようになり、書き出しの前に警告が出るようになった
- USB経由で取り出せるデータを直近の結果だけに限定し、暗号化されたセッションを必須にした。新しいアップロード・取引・セッションが発生した時点で、それまでのデータは無効になる
- Delta Mode から Seed Vault へ Seed XOR・Key Teleport・CCC Key C の取り込み・BIP-85 を経由して到達できないようにした
- 起動時に、動作しているビルドの
rng_get()が意図したハードウェア乱数の読み出し経路に入るかを確認し、確認に失敗した場合は通常の動作に入らず停止するようにした
🔴 同社はこの自己テストの限界も併せて書いています。起動時の確認で分かるのは「呼び出しが意図した経路に届いたこと」であって、すべての出力の質を独立に証明するものではなく、有限の試験で任意の乱数性を証明できるという主張として読むべきではない、と記載されています。
状態を確認するためのページが新設された
同社は「COLDCARD Security Status」という公開ページを新設したと発表しました。修正済みバージョンの一覧、移行の案内、第三者による検証の証拠とその限界、確認済みの事案の更新がここにまとめられ、機械が読み取れる形式でも提供されるとしています。従来の Security & Transparency のページからも、アドバイザリ・開示の履歴・ファームウェアの検証方法・非公開での報告手順とあわせて辿れる構成です。
調査の状況として書かれていること
法執行機関が今回の窃取について調査を続けており、責任を負う者の特定に取り組んでいる、と記載されています。同社は当局から重要な進展の連絡を受けているとしています。
一方で、損失の件数・ビットコインの数量・金額は、この発表でも公表されていません。本記事の前の節で扱った数値は、いずれも第三者による暫定の推計です。
あわせて、外部の研究者からの報告として、staged PSBT の問題、Seed XOR の問題などが謝辞とともに挙げられており、今回のレビューには複数のAIモデルによる支援も使ったと記載されています。
更新の手順として記載されていること
- ファームウェアは公式のダウンロードページからのみ入手する
- SHA-256 のハッシュと PGP 署名を検証する
- microSD からの手順で導入する
- 再起動後に「Advanced > Upgrade > Show Version」で 5.6.1(Mk4・Mk5)または 1.5.1Q(Q)と表示されることを確認する
そのうえで、7月のシードのアドバイザリが当てはまる場合は更新だけでは足りず、別途シードの移行が要ることが改めて書かれています。サポートへの問い合わせが通常より多く、返答に時間がかかっている状況だという説明も添えられています。
第三者の分析会社が公表している推計(2026年8月19日 追記)
ブロックチェーン上の取引を追跡して分析する会社の TRM Labs が、2026年8月5日付で「The Largest Hardware Wallet Exploit of 2026」という分析を公開しています。Coinkite の発表ではなく、第三者による推計です。
内容は次のとおりです。
- 流出は2026年7月30日に始まった。最初の25分で約500のウォレットから約594 BTC(当時の価格で約3,800万ドル)が1つの集約先へ移動した
- その後4日ほどのあいだに合計4回の波が続いた。Galaxy Research の集計として、約1,816 BTC(約1億1,600万ドル)が5,200を超えるアドレスから流出したとされている
- 2026年に確認された暗号資産の流出事案としては3番目の規模にあたり、同年の累計は276件・12億ドル超とされている
- 流出した資金の大半は少数のアドレスにとどまっており、資金洗浄とみられる動きは64.9 BTC の Wasabi への入金と、2026年8月4日の 200 ETH の Tornado Cash への送金に限られている
- 波ごとに取引の作り方が異なることから複数の攻撃者が関与している可能性があるとし、TRM Labs は特定の主体に結びつけていない
- この不具合は端末を物理的に触らなくても秘密鍵を割り出せる性質のものだとしている
🔴 この数値は確定値ではありません。TRM Labs 自身が「funds are still moving」「the current figures should be treated as preliminary rather than final」と書いており、暫定値であると明示しています。被害の申告は数か月から数年かけて出てくることがある、とも記載されています。
あわせて日付についての注記です。この1億1,600万ドルという数値は2026年8月5日時点のものです。8月中旬に「被害が拡大した」という趣旨で伝えた報道がありますが、そこで挙げられている金額は、この8月5日付の分析に記載されている数値と同じです。円建ての金額が記事によって違うのは、換算に使った為替レートが異なるためです。本記事では、確認できた発表日と発表元をそのまま示しています。
Coinkite 自身が件数・数量・金額を公表していないという状況は、この追記の時点でも変わっていません。同社のブログの最新の記事は2026年8月7日付で、予告されている正式な技術レビューは2026年8月19日時点でまだ公開されていません。
顧客データの保持方針が一時変更されている
Coinkite は2026年8月7日付の「Update on Customer Data Retention」で、顧客記録の自動消去を一時停止したと公表しました。
同社の通常の運用は、120日が経過した顧客記録を自動的に空にし、メールアドレスと居住国だけを残すというものだと説明されています。今回、2026年7月30日に開示したセキュリティインシデントに関連して、法的手続きに関係しうる記録を保存する法的義務が生じたため、この自動消去を一時停止した、という内容です。
同社は、従来の保持方針の適用を希望する利用者についてはこの取り扱いから除外するとしており、連絡先として support@coinkite.com を挙げています。あわせて、保持している記録へのアクセスは権限のある担当者に限ること、法的義務以外の目的には使わないこと、法的に可能になり次第、通常の運用に戻すことを説明しています。
現時点で未確定の事項
- 損失の件数・ビットコインの数量・金額(損失が生じたこと自体は Coinkite が認めていますが、同社からは規模が公表されていません。上に挙げた第三者の推計は、公表元が暫定値と明示しているものです)
- 40ビット・72ビットの推計が最終的にどうなるか(現在の攻撃の想定に基づく予備的な推計とされています)
- 自動消去の一時停止がいつまで続くか(期限は公表されていません)
- Coinkite の調査結果の全容(予告されていた正式なレビューは2026年8月20日に公開されましたが、損失の件数・数量・金額は同社からは示されていません。法執行機関の調査は継続中と記載されています)
- 日本国内の利用者にどの程度の影響が及んでいるか(公表資料からは確認できません)
この記事のまとめ
- Coldcard製造元のCoinkiteは2026年7月30日、2021年3月以降の一部ファームウェアで作られたシードの乱数生成に不具合があったと公表しました
- 原因は組み立て時の設定ミスで、専用の乱数生成部品ではなく暗号用途に設計されていない一般用途の擬似乱数(Yasmarang)に結び付いていたためと説明されています
- 実効的な強さの推計はMk2/Mk3で約40ビット、Mk4/Mk5/Qで約72ビット(設計上の想定は128ビット)とされていますが、これは予備的な推計であり確定値ではないと明記されています
- ファームウェアを更新しても既存のシードは直らず、修正版で新しいシードを作り直して資金を移す手順が案内されています
- Coinkiteは利用者に実際の損失が生じたことは認めていますが、件数・数量・金額は公表していません。第三者のTRM Labsが被害額の推計を公表していますが、暫定値であることが明示されています
この記事に出てくる言葉
- ハードウェアウォレット
- 暗号資産を動かすための秘密の情報を、インターネットにつながっていない専用の小型機器の中に保管する道具。パソコンやスマホが乗っ取られても、その秘密の情報自体は取り出されにくい、という考え方で作られています。
- シード(シードフレーズ)
- ウォレットのすべての鍵のもとになる、単語の並び。ふつう12語か24語で表されます。パスフレーズを使っていない場合、これを知っている人は機器そのものがなくても資産を動かせます。逆に、機器とこの控えの両方を失うと資産を取り戻せなくなります。
- 乱数生成器
- 予測できない数字を作り出す仕組み。専用の部品を使うもの(ハードウェア乱数生成器)と、計算式で作り出すもの(擬似乱数生成器)があります。擬似乱数生成器には暗号用途に設計されたものと、シミュレーションなど一般用途のものがあり、後者は暗号の用途に必要な予測しにくさを備えていません。今回は一般用途の実装が誤って使われていた、と説明されています。
- ファームウェア
- 機器そのものを動かすために内蔵されているプログラム。パソコンのアプリと違い、機器の基本的な動作を担います。Coldcard では、機能の系統として standard と Edge の2つが別々に配布されており、バージョンの数字は系統ごとに独立しています。
- ビット
- ここでは「当てるために試す必要がある組み合わせの多さ」を表す単位。1ビット増えるごとに組み合わせが2倍になります。128ビットは40ビットの2の88乗倍にあたります。
- BIP-39 パスフレーズ
- シードの単語とは別に、利用者が自分で決めて追加する合言葉。シードが同じでも、パスフレーズが違えば別のウォレットになります。機器を開くための暗証番号(PIN)とは別のものです。
- バックアップ
- ここではシードの単語を紙などに書き留めて保管したもの。機器が壊れたときに資産を取り戻すための控えです。
- ウォレットの指紋(フィンガープリント)
- そのシードから作られたウォレットを見分けるための短い識別子。表示された指紋が一致するかどうかで、いま機器に入っているのがどちらのシードかを確認できます。
情報は2026年8月10日時点で公表されている資料に基づきます(第三者の分析に関する追記は2026年8月19日、Coinkite の2026年8月20日付セキュリティ更新に関する追記は2026年8月23日に確認しました)。本記事は制度・公表資料の整理であり、特定の製品の利用・不利用や資産の移動を推奨するものではありません。
※本記事は投資に関する一般的な情報・注意喚起を目的としたものであり、特定の個人・団体・商品を指すものではありません。投資の最終判断はご自身の責任で行ってください。元本保証はなく、損失が生じる可能性があります。
運営: 株式会社シンセイサービス
まずは、投資の基礎を無料で学ぶ
AGITOアプリで、解説記事・用語集・市場情報を確認できます。学習コンテンツと市場情報は無料です。
記事の内容に誤りを見つけた場合は、info@agito-investor.com までお知らせください。確認のうえ訂正します。










コメント