AIブロックチェーンプロジェクトQubic(キュービック)は18日、シード作成時の乱数不足によってQUBIC(
QUBIC)が不正流出したと発表した。被害は1,404件のウォレット、約2兆9,400億QU(QUBICの数量単位)に及んでおり、執筆時点でネットワークの取引処理は一時停止している。
流出QUの87.1%、ネットワーク停止で移動できず
今回の流出が起きたのは、日本時間18日午前8時42分から10時26分までの約1時間44分。攻撃者は推測されやすいシードを悪用し、各種ウォレットにアクセスしたとみられる。キュービックはブロックチェーン自体の不備ではなく、シードを作る工程での不具合が原因だと説明した。
被害拡大を防ぐため、ネットワークの運営参加者が取引処理を停止。停止時のティック(取引処理の区切りを示す番号)は85,371,949となっており、執筆時点の公式エクスプローラーでも現在のティックは同じ値を示している。
なお、流出したQUの87.1%は攻撃者のアドレスに残っており、ネットワーク停止で動かせない状況だという。残る12.9%は暗号資産(仮想通貨)取引所MEXCへ送られたが、MEXCが受取口座を凍結。各取引所もQUBICの入出金を停止している状況だという。
シードの作り方を修正、被害対応は今後決定
ネットワークの停止に加え、キュービックは今回の被害で影響を受ける可能性があるシードの作成環境と時期も示した。対象は次の通りとなっている。
- 2026年10月18日より前に、iPhone・iPadのブラウザーで作成したシード
- 2026年10月18日より前に、MacのSafariで作成したシード
- 2025年7月より前に、キュービックのiOSアプリで作成したシード
しかし、この差が生じた技術的な理由、対象環境で作成された全シードが影響を受けるか否かについては明言されていない。
一方、新たに作るシードについては、キュービックがウォレットのバージョン4.26.4で乱数の取得方法を修正した。公開されたコードの変更履歴では、次の変更を確認できる。
| 項目 | 修正前 | 修正後 |
|---|---|---|
| 乱数の作り方 | Math.random()を使用 | 暗号用途のcrypto.getRandomValues()を使用 |
| 暗号用乱数を使えるかの確認 | なし | あり(使えない場合は生成を中断) |
キュービックによれば、この修正によって新たに弱いシードが生成されるリスクは解消されたという。一方、修正前に対象環境で作成されたシードは、引き続き影響対象として挙げている。
流出した資金への対応については、ネットワーク運営参加者による合意で決定される予定だ。詳しい技術報告は復旧対応がまとまった後に公表する予定としている。
キュービックは被害者に、ウォレットID・被害額・取引履歴のリンクを添えて警察に届け出るよう求めた。さらに、同プロジェクトを名乗る連絡やシード要求、有料の復旧案内への警戒と報告を呼びかけて投稿を締めくくった。
