DCENT Wallet 不正送金事件とXDC資金フローの調査
- 調査対象アドレスの出典: @alwaysbplottnによるX投稿
- 作成日: 2026-10-11(JST)
- 調査対象チェーン: XDC Network
- 主対象アドレス:
0x64705697bbc905416dd01237ad925b6c52e21dc2 - ステータス: 継続監視が必要
[!WARNING]
本文は公開オンチェーンデータ、DCENT公式発表、第三者による技術解析を突き合わせた調査記録である。オンチェーンだけでは、各送信元がDCENT利用者であったことや、各アドレスを操作する自然人・法人を最終確定できない。「確認済み事実」「強い推定」「未確認事項」を区別して読むこと。
エグゼクティブサマリー
2026年9月に発覚したDCENT Walletの不正送金事件は、現時点ではDCENTのハードウェアウォレット自体が突破された事件ではなく、旧バージョンのスマートフォン内蔵 App Wallet(ソフトウェアウォレット) の署名処理に起因する秘密鍵漏えい事件と考えられている。
DCENT公式は、次の条件を満たすアドレスに影響可能性があるとしている。
- リカバリーフレーズがApp Walletへ入力されたことがある。
- そのアドレスで送金、Approve、NFT送信、DApp取引などの署名をしたことがある。
- 署名時のアプリがv8.1.0未満だった。
- Bitcoin、Ethereum、XRPL、TRON、EVM系チェーンなどを利用していた。
独立したリバースエンジニアリングでは、旧App WalletがECDSA署名用nonce k を暗号学的に安全な方法で生成せず、時刻で初期化した通常の rand() を利用していた可能性が指摘されている。この場合、公開済みの過去の署名から k を総当たりし、秘密鍵を逆算できる。DCENTは具体的実装の詳細を公式確定情報としては開示していないため、これは有力な第三者解析として扱う。
XDC Network上では、0x6470...1dc2 に短期間で大量の単純XDC送金が集中している。同期済みのXDC Indexerからカーソルで全件取得した結果は、入金4,685件・出金9件の計4,694件(全TXハッシュがユニーク)だった。入金元は4,681アドレス、入金間隔の中央値は2秒である。これは手作業ではなく、取得済み秘密鍵のリストをスクリプトで処理した挙動と考えるのが妥当である。なお、XDCScan Web画面は12,329件と表示するが、Indexerの全走査および残高計算とは一致せず、この表示件数は分析の母数に採用しない。
対象アドレスは、合計8,231,410 XDCを 0xff5d...c029 へ送金した。同アドレスは受領後おおむね3〜7分で、XDCScanが Huobi 1 とラベル付けする 0x43b9...dcaa へほぼ全額を転送している。0xff5d...c029 の送信21件はすべてHuobi 1宛てで、合計約17,859,046.949 XDCに達する。オンチェーンで確認できる重要な資金出口は、0xff5d...c029 を経由したHTX(旧Huobi)側への流れである。
1. DCENT Walletに何が起きたか
1.1 App Walletとハードウェアウォレットの違い
DCENTアプリは複数のウォレット形態を同じ画面で管理する。
| 種別 | 秘密鍵の保存・署名場所 | 今回事案との関係 |
|---|---|---|
| App Wallet | スマートフォン内 | 主な影響対象 |
| Biometric Wallet / DCENT X | ハードウェアのセキュアエレメント内 | 単独利用なら現時点で侵害未確認 |
| DCENT S | カード内のセキュアエレメント | 単独利用なら現時点で侵害未確認 |
ただし、ハードウェアウォレットの24単語をApp Walletへ入力した場合、またはApp Walletの24単語をハードウェアウォレットへ復元した場合は、同一秘密鍵を共有する。この場合、ハードウェア自体が安全でも鍵は隔離されておらず、影響対象となる。
1.2 推定される署名脆弱性
ECDSA署名では、秘密鍵 d のほかに署名ごとの秘密値 k を使用する。
s = k⁻¹ × (z + r × d) mod n
ここで r、s、z、n は署名またはトランザクションから得られる公開情報である。k が判明すると、次の式で秘密鍵を計算できる。
d = (s × k − z) × r⁻¹ mod n
第三者解析によれば、旧DCENT App Walletでは k の生成に、現在時刻で初期化された32ビットの通常の rand() が使用されていた可能性がある。候補は最大でも約43億通りで、トランザクション時刻によりさらに探索範囲を絞れる。
この方式では、被害時点でスマートフォンがオンラインである必要はない。秘密鍵をすでに復元されていれば、攻撃者は別環境から正規の署名を作成できる。アプリを最新版へ更新しても、旧秘密鍵と過去に公開された署名は変わらないため、旧鍵から新しい鍵へ資産を移す必要がある。
1.3 公式に示された影響条件
DCENT公式が示す主要条件は以下のとおり。
重要なのは「現在のバージョン」ではなく「その署名を行った時点のバージョン」である。v8.1.0は2025年11月5日に公開された。
1.4 既知の事件時系列
2. XDC上の主対象アドレス
2.1 基本情報
| 項目 | 値 |
|---|---|
| アドレス | 0x64705697bbc905416dd01237ad925b6c52e21dc2 |
| Indexerで全取得したトランザクション | 4,694件(TXハッシュ重複なし) |
| 入金トランザクション | 4,685件 |
| 送信トランザクション | 9件 |
| ユニーク入金元 | 4,681アドレス |
| XDCScan Web画面の表示 | 12,329件(Indexer・残高計算と不一致) |
| 活動開始 | 2026-10-02 21:59:21 UTC |
| 確認できる最終入金 | 2026-10-10 13:07:48 UTC |
| Indexer集計の総流入 | 11,565,752.004172885205624842 XDC |
0xff5d...c029への送金 |
8,231,410 XDC |
| 2026-10-11確認時残高 | 3,334,341.999759 XDC |
Indexerで合計した総流入は、残高から逆算した値とも一致する。
総流入 ≒ 現在残高 + 9件の送金額 + 送金手数料
≒ 3,334,341.999759 + 8,231,410 + 約0.004414
≒ 11,565,752.004173 XDC
2.2 自動化を示す統計
同期済みXDC IndexerのカーソルAPIを使い、対象アドレスの全4,694件を取得した。以下は入金4,685件すべてを対象にした集計である。
| 指標 | 結果 |
|---|---|
| 解析対象の入金件数 | 4,685件(全件) |
| ユニーク送信元 | 4,681アドレス |
| 入金間隔中央値 | 2秒 |
| 1秒以内の連続入金 | 1,233件 |
| 同一タイムスタンプの最大件数 | 212件 |
| 入金額中央値 | 約5.498486 XDC |
| 最大入金 | 約801,049.899 XDC |
Indexerが返す4,685件はすべてネイティブXDCの入金である。別途XDCScan APIから取得できた初期1,972入金では、全件のガス使用量が21,000だった。トークンコントラクト、Approve、複雑なDApp呼び出しではないため、オンチェーン挙動としては「攻撃者が各送信元の秘密鍵で直接署名した」形に一致する。
2.3 波ごとの挙動
全入金データでは、次の波を確認した。
| UTC日付 | 入金件数 | 合計 | 特徴 |
|---|---|---|---|
| 2026-10-02 | 2,284 | 約7,548,386.939 XDC | 初回の大規模回収 |
| 2026-10-03 | 864 | 約183,026.855 XDC | 小口・残余残高中心 |
| 2026-10-07 | 1,030 | 約12,478.577 XDC | ダストを含む大量回収 |
| 2026-10-08 | 475 | 約3,801,091.417 XDC | 高額アドレスを含む追加波 |
| 2026-10-10 | 32 | 約20,768.216 XDC | 最終確認波 |
10月8日の冒頭では、約801,050、789,221、449,300、303,641 XDCなどの高額残高が数秒間隔で送られた。これは、攻撃者が取得済み鍵のリストを残高で優先順位付けした可能性を示す。
3. Funded Byに表示される先行履歴
3.1 誤解しやすい Funded By
XDCScanは、0x6470...1dc2 の Funded By として 0xaa1c...ddc9 を表示する。これは対象アドレスへ最初にXDCを送ったアドレスを示す表示であり、それだけで本件への関与や資金提供主体を意味するものではない。
以下は確認できたオンチェーントランザクションを時系列に並べたものである。Bitrue 3はXDCScanのExplorerラベルをそのまま記載している。
この図はトランザクション履歴の記録であり、Bitrueまたは各アドレスの管理者が本件に関与したことを示すものではない。
4. HTX / Huobiへの資金出口
4.1 一次集約先から取引所入金先へ
0x6470...1dc2 は9回、合計8,231,410 XDCを次へ送った。
0xff5d04dc4c07958df0fc3fd5654fa6368a48c029
その後、0xff5d...c029 は受領額に近い金額をXDCScanラベル Huobi 1 へ数分で転送している。
0x43b96a1bbe34ccf6d67b334ee86405fb950bdcaa
4.2 送金と取引所スイープの時間差
0x6470... → 0xff5d...
|
0xff5d... → Huobi 1 |
時間差 |
|---|---|---|
| 500,000 XDC | 499,999.999524 XDC | 4分28秒 |
| 1,000,000 XDC | 999,999.999855 XDC | 3分34秒 |
| 1,000,000 XDC | 999,999.999714 XDC | 5分28秒 |
| 1,000,000 XDC | 999,999.999685 XDC | 6分31秒 |
| 800,000 XDC | 799,999.999561 XDC | 4分30秒 |
| 1,000,000 XDC | 999,999.999855 XDC | 3分43秒 |
| 1,000,000 XDC | 999,999.999698 XDC | 4分30秒 |
| 1,431,410 XDC | 1,431,409.997424 XDC | 3分32秒 |
| 500,000 XDC | 500,000.001307 XDC | 3分27秒 |
一部の金額が完全一致しないのは、0xff5d...c029 が対象アドレス以外の集約先からも受領し、残高を合算して送っているためである。ネイティブXDCは口座残高型であり、UTXOのように個別コインを一対一で追跡できない。ただし、受領直後に近似額を同じHuobiホットウォレットへ送る反復パターンは明瞭である。
4.3 アドレスの役割評価
| アドレス | 推定役割 | 確度 |
|---|---|---|
0x6470...1dc2 |
被害XDCの一次集約先 | 非常に高い |
0xff5d...c029 |
同一主体が利用するHTX/Huobi入金・スイープ前アドレス | 高い |
0x43b9...dcaa |
XDCScanラベル「Huobi 1」のホットウォレット | Explorerラベルで確認 |
0x1f15...65fe |
少数の上流アドレスを束ねる中間集約先 | 高い |
0x1f6e...d6959a |
66アドレスを短時間で束ねる並行集約先 | 非常に高い |
4.4 別集約先の検証
Indexerから両アドレスの全トランザクションを取得すると、次の挙動が確認できる。
| 指標 | 0x1f15...65fe |
0x1f6e...d6959a |
|---|---|---|
| 完全なアドレス | 0x1f15fe8b4fed258b4c08bf97f02f2a31a45465fe |
0x1f6e81c24ce690e25cfef0cfc8e7575f58d6959a |
| 外部からの入金 | 4件・3アドレス | 66件・66アドレス |
| 外部からの総流入 | 約3,593,617.447 XDC | 約6,034,019.515 XDC |
| 入金集中時間 | 2026-10-02 21:42:44〜21:45:16 UTC | 2026-10-02 21:52:26〜21:55:40 UTC |
| 入金間隔中央値 | 6秒 | 2秒 |
0xff5d...c029への送金 |
6回・約3,593,617.445 XDC | 6回・約6,034,019.512 XDC |
| その他の外部送金先 | なし | なし |
| 主対象アドレスとの入金元重複 | なし | なし |
0x1f15...65fe には自分自身への約983,617.445 XDCの送金が1件あるが、これは純流入ではないため上表から除外した。外部から受け取った約359万XDCは、手数料相当を除いて6回に分けて 0xff5d...c029 へ送られている。
0x1f6e...d6959a は66の異なるアドレスから約603万XDCをわずか3分14秒で受領している。これは主対象 0x6470...1dc2 の大量・高速集約と近い挙動であり、受領額のほぼ全額を同じ 0xff5d...c029 へ送っている。
両アドレスの入金元は主対象アドレスの入金元とは重複しないが、同日・近接した時間帯に資金を集約し、外部送金先を同じ 0xff5d...c029 に限定している。このため、同一または協調する主体が使った並行回収経路である可能性が高い。一方、各入金元がDCENT利用者だったことはオンチェーン情報だけでは確認できないため、DCENT事件への帰属は未確定である。
5. DCENT事件との関連性評価
5.1 関連を支持する要素
- DCENT公式の影響範囲にはEVM系チェーンが含まれる。
- XDCはEVM互換で、secp256k1署名を使用する。
- 数千の異なるアドレスから、単純なネイティブXDC送金が同一先へ集中している。
- 送金は各アドレスの秘密鍵で直接署名された形式である。
- 同じガス条件、数秒間隔、残高全額に近い金額という共通パターンがある。
- XRPで確認された「準備済み秘密鍵リストを自動処理する」挙動と類似する。
- DCENTの警告後も、旧鍵を使った不正送金が続いている。
5.2 オンチェーンだけでは確定できない点
- 各送信元が実際にDCENT App Walletで作成・インポートされたこと。
- 各アドレスがv8.1.0未満で署名したこと。
-
0x6470...1dc2を操作する人物・組織の身元。 -
0xff5d...c029に紐づくHTX内部アカウントとKYC情報。 - XRP事件とXDC事件の実行者が同一人物・同一組織であること。
最終的なDCENT帰属には、被害者申告、DCENT側のウォレット生成・利用記録、署名時バージョン、捜査機関・取引所の非公開情報を照合する必要がある。
6. 対応優先順位
6.1 最優先: HTXへの凍結・記録保全依頼
0xff5d...c029 が入金先として使用され、全21送信がHuobi 1へ到達しているため、HTXへ次を提出する価値が高い。
- 一次集約先:
0x64705697bbc905416dd01237ad925b6c52e21dc2 - HTX入金先とみられるアドレス:
0xff5d04dc4c07958df0fc3fd5654fa6368a48c029 - Huobi 1:
0x43b96a1bbe34ccf6d67b334ee86405fb950bdcaa -
0xff5d...c029からHuobi 1への全21件のTXID - 該当入金を受けた内部ユーザーIDの特定依頼
- KYC、ログインIP、端末、APIキー、出金先、内部振替履歴の保全依頼
- DCENT、警察、捜査機関の事件番号
0xff5d...c029 の残高は調査時点でほぼゼロだが、取引所内部台帳には入金先アカウントとの対応関係が残っている可能性がある。
6.2 DCENT、XDC関係者、捜査機関への共有
- DCENT Supportへ対象アドレス群とTXIDを共有する。
- XDC FoundationおよびXDCScanへ不正資金疑いのラベル付けを依頼する。
- 被害者ごとに送信元、TXID、金額、発見日時、使用ウォレット形態、OS、署名時アプリバージョンを整理する。
- 日本国内の被害は警察のサイバー犯罪相談窓口へ届け出る。
- リカバリーフレーズ、秘密鍵、PINはDCENT、取引所、捜査機関を含め誰にも送らない。
6.3 継続監視
調査時点で 0x6470...1dc2 には約3,334,341.999759 XDCが残る。以下を監視対象とする。
7. 調査手法と制約
使用データ
- XDCScanアドレス・トランザクションページ
- XDCScan Account API
- 同期済みXDC Indexer API(全件カーソル取得)
- XDC公式JSON-RPC
- DCENT公式インシデント報告・FAQ
- 独立したDCENTアプリのリバースエンジニアリング分析
- XRPL上の独立オンチェーン集計
データ上の注意
- XDCScan Account APIは対象アドレスについて1,980件で結果が固定され、ページ指定を無視する挙動が見られた。この制約はXDC IndexerのカーソルAPIによる全件取得で解消した。
- XDCScan Web画面は12,329件と表示する一方、同期率100%のIndexerを全走査すると4,694件(入金4,685件・出金9件、TXハッシュ重複なし)だった。Indexerの入出金合計は現在残高および手数料と精密に整合するため、本稿の件数・金額統計はIndexerの結果を採用した。XDCScan側の表示差の原因は未確定である。
- APIで欠落した送信nonce 1はXDCScanの送信一覧から補完した。
- ネイティブXDCは口座残高型であり、取引所入金先で他資金と混合した後は、一対一のコイン追跡はできない。
- XDCScanの取引所ラベルは有力な公開情報だが、最終的な管理主体の確認は各取引所に依存する。
8. 主要TXID
先行トランザクション履歴(参考)
以下はオンチェーン履歴とExplorerラベルを事実として記録したものであり、取引所の本件への関与を示すものではない。
| 内容 | TXID |
|---|---|
0xaa1c... → 0xe90b...、46,634.29999999 XDC |
0x2c0e...afc6 |
0xe90b... → XDCScanラベル「Bitrue 3」、46,634.29998231 XDC |
0xd023...bf15 |
0xaa1c... → 一次集約先、55,148.499684 XDC |
0x2e56...badf6 |
一次集約先から0xff5d...への送金
| 金額 | TXID |
|---|---|
| 500,000 XDC | 0x2f8f...3954 |
| 1,000,000 XDC | 0x622c...bf85 |
| 1,000,000 XDC | 0xdf9a...6793 |
| 1,000,000 XDC | 0x07d4...b4d7 |
| 800,000 XDC | 0xe5fd...f6e3 |
| 1,000,000 XDC | 0xf4ed...79f8 |
| 1,000,000 XDC | 0x2165...fbdd |
| 1,431,410 XDC | 0x987c...3da2 |
| 500,000 XDC | 0x2d88...4774 |
0xff5d...からHuobi 1への例
| 金額 | TXID |
|---|---|
| 499,999.999524 XDC | 0x3fc0...49d |
| 999,999.999855 XDC | 0x3ebb...430a |
| 999,999.999714 XDC | 0xa38a...f371 |
| 1,431,409.997424 XDC | 0x6385...a72 |
| 500,000.001307 XDC | 0xaf3e...b9eb |
9. 参照情報
- 調査対象アドレスの出典: @alwaysbplottnによるX投稿
- DCENT公式: App Wallet不正資産移動の経過報告
- DCENT公式: App Walletの対象確認方法
- DCENT公式FAQ: App Wallet Security Issue
- DCENT公式: 資産移行ガイド
- 第三者技術解析: DCENT XRP Incident
- XRPL.to: 12.4 million XRPのオンチェーン集計
- XDCScan: 主対象アドレス
- XDCScan: 中間集約先
0x1f15...65fe - XDCScan: 並行集約先
0x1f6e...d6959a - XDCScan: Bitrue 3
- XDCScan: Huobi 1
- XDC公式JSON-RPCドキュメント
10. 最終評価
本件のオンチェーン挙動は、個別フィッシングや誤送金ではなく、多数の秘密鍵を事前に取得した主体による一括回収を強く示している。DCENT App Walletの既知署名問題との整合性は高いが、最終帰属にはDCENT側・被害者側のオフチェーン記録が必要である。
現在の資金出口として重要なのは、0xff5d...c029 とHuobi 1の関係である。HTXは内部台帳から入金アカウントを特定できる可能性があるため、凍結・KYC・アクセスログ・出金先記録の保全要請を最優先すべきである。
また、一次集約先には調査時点で約333万XDCが残る。次回送金時に新たな取引所、ブリッジ、DEXまたは別チェーンへ移動する可能性があるため、リアルタイムに近い監視が望ましい。