2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

2年前の問題が再燃:polyfill.ioをドメイン検索とWHOISで調べてみた(2026年7月時点)

2
Posted at

はじめに

2026年5月末から6月にかけて、無印良品・東芝・象印マホービン・ほぼ日など、30社以上の日本企業の公式サイトで不審な認証ダイアログが表示される事象が相次ぎました。
URLは正規のドメイン、HTTPSの鍵マークも表示されているのに、突然「polyfill.ioにアクセスするためにログインしてください」というダイアログが出る——。

原因は、2024年に大規模なサプライチェーン攻撃の舞台となったJavaScriptライブラリ「polyfill.io」の参照を、各社が削除しないまま放置していたことでした。

今回は、polyfill.ioをCriminal IPのドメイン検索とWHOISで実際に調べてみました。また、2026年7月時点でもダイアログが再現できるかどうかローカルで確認してみたので、その結果もあわせて紹介します。

polyfill.ioとは何か、何が起きたのか

polyfill.ioの役割

polyfill.ioは、古いブラウザでも最新のJavaScript機能を使えるようにする「ポリフィル」を配信するCDNサービスです。

<script src="https://cdn.polyfill.io/v3/polyfill.min.js"></script>

この1行を追加するだけで使えるため、世界中の10万件以上のWebサイトが導入していました。

攻撃の経緯

2024年2月
polyfill.ioのドメインとGitHubアカウントが
中国系事業者「Funnull」に買収される
オリジナル開発者が即時削除を警告
       ↓
2024年6月
悪意あるコードの配信が発覚
モバイル端末を狙い撃ち、管理者からのアクセスには
正常なレスポンスを返す巧妙な回避手法が確認される
10万件以上のサイトが影響を受ける大規模攻撃に発展
       ↓
2024年6月27日
レジストラのNamecheapがドメインを停止
polyfill.ioが休眠状態に入る
       ↓
2026年5月21〜22日
WHOISでレジストラがNamecheapからGoDaddyへ移管
ドメインが再活性化
       ↓
2026年5月末〜6月
日本の30社以上の企業サイトで
不審な認証ダイアログが再び表示され始める

「一度停止された脅威が2年後に復活する」という点が、今回の事案の最大の教訓です。

攻撃の仕組み

従来のフィッシングは「偽サイトに誘導して入力させる」手口でした。今回は異なります。

  • 攻撃者がサーバーに侵入したわけではない
  • サイトが読み込んでいた外部JavaScriptが書き換えられただけ
  • 正規のドメイン、正規のHTTPS証明書のまま、偽の認証画面が表示される

URLバーを確認しても正規サイトのドメインが表示されているため、利用者が疑いにくいのが特徴です。

Criminal IPでpolyfill.ioを調べてみた

Criminal IPのドメイン検索でpolyfill.ioを調べてみました。
Criminal IPのドメイン検索結果
(画像:Criminal IPのドメイン検索結果)

①ドメインスコアリング
スコアは20.0%(Safe)と表示されています。一見すると問題なさそうに見えますが、個別の項目を見ると気になるシグナルがあります。

②偽ファビコン: Suspicious!
SafeスコアでもSuspiciousのシグナルが出ている。この「スコアだけで判断してはいけない」という点が、Criminal IPのドメイン検索を使ううえで重要なポイントです。

マッピングされたIP・技術スタック
(画像:マッピングされたIP・技術スタック)

③ ドメイン構成
Cloudflareの背後に隠れているため、実際のオリジンIPが見えない構造

④ 技術スタック
Basic + Cloudflare + HTTP/3

⑤SSL証明書
証明書の有効期間が2026-05-21〜2026-08-19のわずか2ヶ月です。
この発行日はドメインが再活性化したタイミング(2026年5月21〜22日)と完全に一致しており、再稼働のタイミングを裏付ける情報になっています。
発行者はE7(Let's Encryptの中間CA)で、無料証明書を使っています。

⑥SSLスキャナー
SSLスキャン結果の一部
(画像:SSLスキャン結果の一部)

Criminal IPのSSLスキャナーで確認すると、複数の項目が出てきます。

項目 結果
HSTS not offered(HTTPS強制設定なし)
BEAST VULNERABLE(TLS 1.0の既知の脆弱性)
LUCKY13 potentially vulnerable
Forward Secrecy N/A

⑦不審なHTML要素
不審なHTML要素タブ
(画像:不審なHTML要素タブ)

Criminal IPのDOMスキャンでは「不審なHTML要素」として警告が出ており、返ってきたHTMLは以下の空の骨格のみでした。
通常のWebサービスでは考えにくい、中身のないレスポンスです。2024年のpolyfill.io攻撃でも、解析ツールや管理者からのアクセスには正常なレスポンスを返し、一般ユーザーにのみ悪意あるコードを配信するという回避手法が使われていました。今回のDOMスキャン結果は、そうした構造を想起させます。

WHOISでも確認してみた

また、whoisコマンドでも確認しました。

whois polyfill.io | grep -E "^(Domain Name|Registrar|Updated Date|Creation Date|Registry Expiry Date|Registrant Name|Registrant Organization|Domain Status):" | sed 's/ https:\/\/icann.*//'

WHOISの結果
(画像:WHOISの結果)

結果から読み取れる情報:

項目 内容
Updated Date 2026-05-21 → ドメイン再活性化のタイミングと一致
Registrar GoDaddy.com, LLC → Namecheapから移管済み
Registrant Organization Domains By Proxy, LLC → プロキシで登録者を非公開
Domain Status clientDeleteProhibited / clientRenewProhibited / clientTransferProhibited / clientUpdateProhibited

特に注目したいのが4つのclientProhibitedステータスです。削除・更新・移管・変更のすべてがロックされており、外部から手を加えられない状態に固定されています。

2026年7月時点でも再現できるか試してみた

かつてpolyfill.ioを使う一般的な書き方でHTMLファイルを作り、ブラウザで開いてみました。

<!DOCTYPE html>
<html>
<head><title>polyfill test</title></head>
<body>
<h1>テスト中...</h1>
<script src="https://polyfill.io/v3/polyfill.min.js"></script>
</body>
</html>

これは特殊な設定でも攻撃的な呼び出しでもなく、2024年以前に世界中のサイトで普通に使われていた書き方です。

ブラウザに表示された認証ダイアログ
(画像:ブラウザに表示された認証ダイアログ)

2026年7月時点でも認証ダイアログが表示されました。

開発者ツールのNetworkタブを確認すると、polyfill.ioから**401(Unauthorized)**が返ってきています。

그림7.png
(画像:開発者ツールのNetworkタブ、401の表示)

なお、社内ネットワーク環境では403(Forbidden)が返ってきてダイアログは表示されませんでした。企業のセキュリティ製品がpolyfill.ioをブロックリストに入れている場合、この問題の影響を受けません。一方、個人のWebサイトや対策が十分でない環境では、引き続きリスクが存在します。

自サイトに残っていないか確認する方法

ソースコードで確認

# プロジェクト内をgrepで検索
grep -r "polyfill.io" ./

# HTMLファイルだけ対象にする場合
grep -r "polyfill.io" ./ --include="*.html"

Criminal IPのドメイン検索で調べる

自社ドメインをCriminal IPのようなリアルタイムのドメイン検索にかけると、サイトが読み込んでいる外部ドメイン・技術スタック・接続先IPを確認できます。ソースコードを1行ずつ追わなくても、今回のpolyfill.ioのような外部参照が残っていないかを外から確認する補助として使えます。

まとめ

今回のpolyfill.io問題は、いくつかの重要な教訓を示しています。
「一度対応したら終わり」ではない
2024年に削除した組織でも、テンプレートや古いページに参照が残っていたケースがありました。外部依存の棚卸しは継続的に行う必要があります。

SafeスコアでもSuspiciousシグナルが出ることがある
Criminal IPのドメインスコアリングは20%(Safe)でしたが、偽ファビコンのSuspicious、空のHTMLレスポンス、2ヶ月のSSL証明書有効期間など、個別のシグナルには注意が必要な項目が複数出ていました。スコアだけで判断せず、個別の項目を確認することが重要です。

停止されたドメインが再活性化する
2024年6月に停止されたpolyfill.ioが、約2年後の2026年5月に再活性化しました。「廃止」ではなく「休眠」にすぎない可能性があることを示す事例です。

自サイトにpolyfill.ioの参照が残っている場合は、削除することを推奨します。

参考

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?