要点
- 予測市場の Polymarket で悪いスクリプトが動いた件について、配信元の DebugBear は「ドメインの登録業者を通じて DNS の記録を書き換えられた」と説明した。
- Polymarket は、お金を抜かれた人への返金と、取引を止めたことで損をした人への補償を合わせて、総額を390万ドルとした。
- 自分のサイトでほかの会社のスクリプトを読み込んでいると、その会社のドメインが乗っ取られただけで、自分のサイトの利用者が被害にあうことがある。
何が起きたか
2026年10月29日(UTC)、Polymarket の国際版サイトで、利用者のウォレット(暗号資産の口座)から身に覚えのない出金が起きた。Polymarket の状況ページによると、17時38分(日本時間30日2時38分)に「ウォレットに影響する不正な動き」を見つけた。そのあと取引を止め、「One of our third party providers was compromised」(外部の提供会社の1つが乗っ取られた)と発表した。翌日の事後報告では、攻撃者がその会社のスクリプトを、Polymarket の利用者をねらうものにすり替えたと説明している。
調査会社の Hudson Rock は、問題のスクリプトが cdn.debugbear.com から配られていたと報告した。DebugBear は、サイトの表示の速さを測るサービスを提供している会社だ。Hudson Rock は、取り出したファイルを動かさずに中身を読んで調べた。それによると、このコードは Polymarket の画面にもともとある注文や署名の機能を探し出して使う。そして、建玉(予測に賭けた持ち分)を受け取り先へ移すか、売り注文を出して代金を移そうとする。ログインに関わる情報は読むが、パスワードや秘密鍵を外へ送る処理は見つからなかったという。Hudson Rock は、署名を求める処理があっても、それだけで盗みが済んだ証拠にはならないとも断っている。
前の記事を書いた時点では、スクリプトがなぜすり替わったのかが分かっていなかった。今回 DebugBear は、LinkedIn と X で次のことを明らかにした。
- 「Our DNS server records were compromised through our domain registrar」と書いた。ドメインの登録業者(ドメインの名義と設定を預かる会社)を通じて、DNS の記録を書き換えられたという意味だ。登録業者のところで何が起きたのか、くわしい説明はまだ無い。
- 自社のドメインあてのメールを、今は受け取れない。
- 最初の調べでは、攻撃はある1つの顧客のサイトをねらったものだった。その顧客の名前は出していない。社内のシステムが侵入された様子は見つかっていない。ただし調べは続いている。
Polymarket は10月30日に事後報告を出した。返金と補償の内訳は次のとおりだ。
- お金を抜かれたウォレットと、勝手に売られた持ち分への返金が270万ドル。
- 取引を止めたあいだに出た損への補償が120万ドル。
- 合わせて390万ドル。申請は要らず、ブロックチェーンの記録と取引の記録から対象を決めた。
Polymarket は、外部のスクリプトを、すり替わりを確かめる仕組みを足してから置き直しているという。警察にも届け出た。
日本の利用者への影響
日本の利用者や組織に被害があったかは分からない。Polymarket の利用者のうち日本の人がどれだけいるかも分からない。Search Engine Journal によると、DebugBear は SEO の専門家に広く使われている。日本のサイトで DebugBear を使っているところがどれだけあるかは分からない。DebugBear は利用者全体に、スクリプトをサイトから外すよう呼びかけた。
今すぐやること
- DebugBear の表示の速さを測るスクリプト(RUM)を入れているなら、DebugBear の呼びかけどおり、サイトから外す。タグ管理ツールやプラグイン経由で入れたものも探す。
- Polymarket を使っていたなら、注文・持ち分・ウォレットの動きを、公式の画面で確かめる。金額が違うと思うなら、Polymarket の事後報告にある公式の窓口から問い合わせる。「返金を手伝う」と言って近づいてくる相手には応じない。
- 自社サイトで読み込んでいる外部のスクリプトを一覧にする。ログイン後の画面や支払いの画面で、本当に要るものだけを残す。Hudson Rock も、ログイン後の取引の画面から要らない外部スクリプトを外すよう勧めている。
- 自社のドメインを預けている登録業者のアカウントを守る。パスワードのほかにスマホなどでも本人確認する仕組み(MFA)を入れる。登録業者が「ドメインの設定を勝手に変えられないようにする鍵」(レジストリロック)を出しているなら使う。
- 外部のスクリプトの中身が変わったら気づける仕組みを入れるよう、サイトの担当者に頼む(中身は下の技術者向けの詳細に書いた)。
背景
DNS は、インターネットの住所録のような仕組みだ。cdn.debugbear.com という名前を、実際のサーバーの番地に変える。この住所録を書き換えられると、名前は同じなのに、別のサーバーへつながってしまう。
DebugBear の説明では、今回は登録業者を通じて DNS の記録が書き換えられた。こうなると、配信元の会社のサーバーに一度も侵入しなくても、名前の行き先を攻撃者のサーバーに変えられる。スクリプトを読み込むサイトから見ると、名前はいつもどおりの配信元のままだ。だから、すり替わりに気づきにくい。
Polymarket の事後報告によると、すり替えられたスクリプトは、ログイン中の利用者のセッションを使って持ち分を売り、資金をウォレットから移した。パスワードや鍵を盗まなくても、開いている画面からお金が動いたことになる。
Polymarket では、2026年6月25日にも外部の会社がからむ事件があり、約300万ドルが盗まれたと報じられた。Hudson Rock はこれを背景として挙げているだけで、6月の数字は今回の被害の大きさを示すものではないとしている。
技術者向けの詳細
- Hudson Rock が見つけたスクリプト:
cdn.debugbear[.]com/C7xcKKrjUnXK.js。報告の送り先はdata.debugbear[.]comの/metrics/の下。Hudson Rock は、ホスト名だけでは善し悪しを決められないとして、実際に届いた中身を確かめるよう勧めている。 - 自社サイトで読み込んでいるかを確かめる例(ソースの置き場で):
grep -rn "debugbear" ./ --include="*.html" --include="*.js" --include="*.tsx" --include="*.php"
タグ管理ツール(GTM など)の中や、CMS の設定に入っているものは、それぞれの管理画面で探す。
- SRI(Subresource Integrity):
<script>にintegrity属性でハッシュを付けると、中身が変わったときにブラウザが読み込みを止める。ただし、配信元が更新し続けるスクリプトには付けにくい。その場合は、確かめた版を自分のサーバーに置き、更新は手で取り込む。 - CSP(Content Security Policy): 読み込んでよい配信元を絞れる。ただし、許した名前そのものが乗っ取られた場合には防げない。SRI と組み合わせる。
- ログイン後・支払い・署名の画面は、外部スクリプトを置かない別のページに分ける。どの操作で利用者に改めて確認を求めているか、信頼できないコードが署名の仕組みに届くかを見直す(Hudson Rock の勧め)。
- 自社ドメインの守り: 登録業者のアカウントに MFA を入れ、使える人を絞る。レジストリロック、DNSSEC、DNS の記録が変わったときの通知を入れる。自社ドメインで知らない証明書が出ていないかを、Certificate Transparency のログで見張る。
- 事件が起きたら、上書きされる前に、届いたスクリプトの中身・ハッシュ・応答のヘッダ・リクエストの記録を残す(Hudson Rock の勧め)。
- 時刻(UTC、10月29日): 17:38 不正な動きを見つけた → 18:05 注文の取り消しだけ受け付ける状態にした → 18:37 原因を外部の会社と特定した(Polymarket の状況ページ)。



