Polymarket、DNS侵害によるDebugBearスクリプトのハイジャックで270万ドルを失う
ハッカーは、侵害されたDebugBear監視スクリプトを通じて悪意あるコードを注入し、Polymarketトレーダーから資金を盗み出しました。これにより390万ドル規模の返金対応が行われました。
英語の原文から自動翻訳されました。
2026年10月29日、ハッカーは予測市場プラットフォームであるPolymarketのサプライチェーン脆弱性を悪用し、ユーザーウォレットから約270万ドルを窃取しました。この攻撃では、パフォーマンス監視プロバイダーDebugBearの第三者スクリプトが侵害されており、ログイン中のトレーダーのブラウザ内で悪意あるコードの実行が可能になっていました。Polymarketはその後、影響を受けたユーザーへの返金を開始し、インフラの保護のために取引を一時停止しました。
何が起きたか
この事件は、攻撃者がドメインレジストラ経由でDebugBearのDNSレコードを侵害したことから始まりました。これにより、Polymarketが使用する特定のJavaScriptファイルへのリクエストが、攻撃者の管理するサーバーへリダイレクトされるようになりました。正当なリアルユーザーモニタリング(RUM)スクリプト(ページ読み込み速度を測定するもの)を提供する代わりに、攻撃者はPolymarketの実装に特化した悪意あるバージョンを提供しました。Hudson Rockの研究チームはこの差し替えられたファイルを特定し、DebugBearが各顧客に固有のスクリプトを提供しているにもかかわらず、今回のケースではPolymarketのコピーのみが置き換えられていたことを指摘しました。
悪意あるスクリプトがユーザーのブラウザに読み込まれると、セッション内に保存されているアカウント詳細や取引APIキーを積極的にスキャンしました。このコードは秘密鍵やパスワードを直接外部送信することはありませんでした。その代わり、既存の認証済みセッションを操作して不正な取引を実行しました。暗号資産ウォレット経由でログインしていたユーザーに対しては、ポジションを攻撃者管理のアドレスへ直接移動させました。メールベースのアカウントに対しては、不利な価格でポジションを売却し続け、その結果生じた資金を流出させました。Oheyによるブロックチェーン分析では、UTC時間17:10から18:02の間、POLトークン2,860万個(価値は約264万ドル)がハッカーのウォレットへ送金されたことが示されました。
Polymarketはこの異常を検知し、UTC時間17:38にステータス更新を投稿しました。UTC時間18:05までに、プラットフォームはキャンセル専用モードへ切り替え、すべてのリレーヤーアクションを一時停止し、悪意あるスクリプトを削除しました。同社はすべてのキャッシュをクリアし、アクティブなログインセッションをリセットし、警察当局へ案件を通報しました。10月30日の時点で、Polymarketは影響を受けた726件のウォレットのうち689件への全額返金を完了し、残りの37件は処理中でした。また、取引停止中またはポジション清算により損失を被った約5,500件のウォレットに対し、追加で119万ドルを配布しており、総補償額は390万ドルに達しています。
仕組み
この攻撃は、ブラウザ、ウェブサイト、そしてユーザーのウォレット署名器との間の信頼関係を悪用したものでした。悪意あるスクリプトは、被害者の開いているPolymarketタブのコンテキスト内で完全に動作していました。ブラウザメモリに保存されている取引APIキーにはアクセスできましたが、Polymarketではすべての注文に対してユーザーのウォレットからの暗号署名が必要であるため、これらのキーだけでは取引を実行できませんでした。
これを回避するため、スクリプトは注文実行を担当するPolymarketインターフェース要素と、トランザクションを承認する署名器オブジェクトと対話しました。これは、ウォレットプロバイダーがユーザーに表示する可能性のあるリクエストをトリガーすることで、署名プロセスを事実上自動化したものです。しかし、その速度と自動化の性質から、一部の署名はユーザーの明示的な認識なしに承認されたか、あるいはウォレットプロバイダーのセッションルールによりバッチリクエストが許可されていたと考えられます。その後、スクリプトはこれらの署名済みリクエストをPolymarketのリレーヤーへ渡し、ブロックチェーンへ送信しました。この方法により、攻撃者はユーザーの秘密鍵やシードフレーズを一切所持せずに資金を移動させることができました。
主要な詳細
- 攻撃経路: DebugBearのドメインレジストラにおけるDNSレコードの侵害により、特定の顧客向けスクリプトが悪意あるサーバーへリダイレクトされました。
- 経済的インパクト: 1時間未満で33件のウォレットからPOLトークン約264万ドル相当が盗まれました。総返金額は390万ドルです。
- 対象範囲: 初期調査では、攻撃はDebugBear全体の顧客基盤ではなく、Polymarket固有のDebugBearスクリプトのみを対象としていたことが示唆されています。
- 技術的手法: スクリプトは既存のセッションAPIキーを再利用し、認証情報の窃取ではなく、不正な取引のためのウォレット署名をトリガーしました。
- 対応時間: Polymarketは最初の不正送金から約30分以内に問題を特定し、取引を一時停止しました。
- 現在の状況: DebugBearは顧客に対し埋め込みコードの削除を推奨しており、11月1日時点ではそのCDNアドレスにDNSレコードが存在しませんでした。
なぜ重要なのか
この事件は、機密性の高い金融オペレーションを扱うページで第三者JavaScriptを読み込むことの重大なリスクを浮き彫りにしています。DebugBearのような評判の良いベンダーであっても、DNSレコードなどのインフラが侵害されれば侵入経路となり得ます。フィンテックや暗号資産アプリケーションを開発するエンジニアにとって、ベンダーの評判だけに頼ることは不十分です。この攻撃は、サプライチェーンの侵害により従来の境界防御を回避できることを実証しています。なぜなら、悪意あるコードはアプリケーション自体と同じ権限で実行されるからです。
さらに、悪用のメカニズムは、秘密鍵の保護だけでは不十分であることを示しています。攻撃者がフロントエンドロジックを操作してユーザーのウォレットから有効な署名を引き出すことができれば、鍵素材に一切アクセスせずに資金を流出させることができます。これはセキュリティの焦点を単なる認証情報保護から、すべてのクライアント側コードに対する厳格な整合性チェックへとシフトさせるものです。認証済みセッション内において、第三者スクリプトがアクセス・実行できる範囲を制限する防御的コーディング慣行の必要性を強調しています。
対策
- すべての第三者スクリプトに対してサブリソースインテグリティ(SRI)ハッシュを実装し、コンテンツが予期せず変更された場合にブラウザがファイルを拒否するようにします。
- スクリプトを実行できるドメインを制限し、インラインコードの実行を禁止する厳格なコンテンツセキュリティポリシー(CSP)を適用します。
- ユーザーが取引、署名、支払い詳細入力などの機密性の高いアクションを行うページからは、不要な第三者スクリプトを削除します。
- サードパーティプロバイダーのDNSレコードを監視し、動的エンドポイントではなく固定バージョンのスクリプトの使用を検討します。
- ユーザーに対し、特に短時間に連続して表示される場合など、自分が明示的に開始していないウォレット署名リクエストはすべて拒否するよう教育します。
- 可能な限り第三者コードをサンドボックス化し、メインページのDOMや機密性の高いAPIオブジェクトへのアクセスを制限します。



