eコマースセキュリティ企業Sansecは2026年6月13日、WordPressのリードジェネレーション・コンバージョン最適化プラットフォーム「OptinMonster」をはじめ、「TrustPulse」「PushEngage」という3つの人気プラグイン(いずれも運営はWordPressの大手プラグインベンダーAwesome Motive)が、CDN(コンテンツデリバリーネットワーク)を経由したサプライチェーン攻撃を受けていることを発見しました。
OptinMonster単体で120万サイト超がアクティブに使用しており、TrustPulse・PushEngageを合わせるとさらに広範囲に影響が及びます。攻撃者はAwesome MotiveのマーケティングサイトでWordPressプラグイン「UpdraftPlus」の既知の脆弱性を悪用してサーバーに侵入し、そこに保存されていたCDN APIキーを窃取、これを用いて顧客に配信されるJavaScript SDKファイル自体を改ざんしました。
重要な点は、プラグイン本体には一切のアップデートが行われておらず、改ざんはCDN側だけで発生したため、完全に最新版にアップデート済みのサイトでも悪意あるスクリプトが配信され続けたことです。
この悪意あるコードはログイン中のWordPress管理者のブラウザ内でのみ発火し、認証トークン・nonceを窃取して不正な管理者アカウントを作成、さらに自己隠蔽型のバックドアプラグインをインストールして攻撃者に完全なリモートアクセス(Webシェル・任意PHPコード実行)を許す仕組みです。本記事ではSansecの技術分析・攻撃の全容・タイムライン・IOC・対応手順を解説します。
サマリー
- 発見:Sansecが2026年6月13日に確認。攻撃は同年6月12日から継続中(執筆時点で進行中)
- 影響を受けたプラグイン:OptinMonster(120万サイト超でアクティブ)・TrustPulse・PushEngage(いずれもAwesome Motive運営)
- 攻撃の起点:Awesome Motiveのマーケティングサイトで稼働していたUpdraftPlusプラグインの既知脆弱性を悪用し、サーバーへ侵入
- 侵害の手段:侵害したサーバーからCDN APIキーを窃取し、顧客向けに配信されるJavaScript SDKファイルを直接改ざん。プラグイン本体・コアファイルは変更されていない
- C2インフラの準備:2026年4月28日に
tidio.cc(正規のチャットサービスtidio.comの偽装ドメイン)を登録。C2 IP:84.201.6.54(Ultahost、AS214036) - 攻撃タイムライン:
- 2026年6月12日22:17 UTC:OptinMonster・TrustPulseで悪意あるコードを初確認
- 2026年6月13日19:02 UTC:OptinMonster・TrustPulseは復旧。PushEngageのみ一部CDNエッジで悪意あるコードを配信継続
- 2026年6月14日:PushEngageも復旧
- マルウェアの発火条件:ログイン中のWordPress管理者がページを開いた場合のみ発火。一般訪問者には影響なし
- マルウェアの動作:認証トークン・nonceを窃取→不正な管理者アカウントを作成→バックドアプラグインをインストール→Webシェル・任意PHPコード実行による完全な遠隔操作を確立
- バックドアプラグインの偽装名:「Content Delivery Helper」(
content-delivery-helper、v2.7.1)・「Database Optimizer」(database-optimizer、v2.9.4)等、ロジックはバイト単位で同一のまま名前をローテーション - データ窃取の経路:XOR暗号化(キー:
jX9kM2nP4qR6sT8v)→Base64エンコード→tidio.cc/cdn-cgi/pe-*へビーコン送信 - Awesome Motiveの対応:本日公式アドバイザリを公開。改ざんファイルの復元・CDNキャッシュの破棄・侵害された鍵/認証情報のローテーション・マーケティングサイトの新インフラへの移行を実施
- Sansecの問い合わせへの応答:Awesome Motiveは現時点で応答していない(Security Affairs確認)
目次
攻撃の全容—「CDNだけが改ざんされた」という巧妙さ
サプライチェーン攻撃の出発点
Awesome Motiveの公式インシデント通知によれば、攻撃者は同社のマーケティングサイトで稼働していたサードパーティプラグイン「UpdraftPlus」の既知の脆弱性を悪用し、そのサーバーへの侵入に成功しました。
このサーバーはマーケティングサイトをホストするものであり、Awesome Motiveの本番インフラ・データシステムとは接続されていなかったとされています。しかし、このサーバー上にCDN APIキーが保存されていたことが、攻撃を本番環境のサプライチェーンへと拡大させる決定的な経路となりました。
なぜ「最新版にアップデート済み」でも防げなかったのか
今回の攻撃の最大の特徴は、改ざんがプラグイン自体ではなく、CDNから配信されるJavaScript SDKファイルに対して行われた点です。
OptinMonster・TrustPulse・PushEngageは、フロントエンド機能の一部をベンダー管理のCDNから読み込む小さなJavaScript SDKを使用する設計になっています。これは同種のプロダクトにおける標準的な構成パターンですが、攻撃者はまさにこの仕組みを悪用しました。
窃取したCDN APIキーを使い、攻撃者はCDNエッジで配信される正規の難読化済みSDKファイルに悪意あるコードを追記しました。元のファイルは正常に動作し続けるため、表面上は何も変わらないように見えます。プラグイン自体へのアップデートは一切プッシュされなかったため、完全に最新版へアップデートしたサイトであっても、CDN側から悪意あるスクリプトが配信され続けるという結果になりました。
マルウェアの動作——「管理者だけ」を狙う4段階の攻撃
Patchstackの技術分析(Sansec引用)によれば、注入されたJavaScriptの動作は以下の4段階で構成されています。
Stage 1:管理者の待機
悪意あるコードはサイト訪問者全員に対して発火するわけではありません。ログイン中のWordPress管理者がアクセスしたページでのみ動作します。これにより一般訪問者への影響を避けつつ、最も価値の高い「管理者権限」を狙う設計になっています。
Stage 2:認証トークン・nonceの窃取
管理者がページを開くと、ブラウザ内で実行されたコードが管理者の認証トークンおよびWordPressのnonce(CSRF対策用トークン)を窃取します。
Stage 3:不正管理者アカウントの作成
窃取した認証情報を使って、攻撃者は新たな不正な管理者アカウントを作成します。
Stage 4:自己隠蔽型バックドアプラグインのインストール
攻撃者は管理者権限を得た後、C2サーバーから生成されたZIPファイルを取得し、POST /wp-admin/update.php?action=upload-pluginを通じてプラグインとしてアップロードします。
このバックドアプラグインの特徴は以下のとおりです。
①名前のローテーション:「Content Delivery Helper」(content-delivery-helper、v2.7.1)や「Database Optimizer」(database-optimizer、v2.9.4)等、ランダムな名前でインストールごとに変化しますが、内部のロジックはバイト単位で同一です。
②徹底した自己隠蔽:プラグイン一覧・ユーザー一覧・アップデート画面・アクティビティログから自身を隠蔽します。WordPressダッシュボードを見ても、このプラグインの存在は表示されません。
③Webシェル機能:?developer_api1_fmパラメータを通じて「WPM File Manager & Shell」というWebシェルを公開し、system($_POST['cmd'])によるコマンド実行を可能にします。
④任意コード実行機能:developer_api1_evalエンドポイントを通じて、Base64デコードされた攻撃者の入力をそのまま実行できます。
データの送信先——tidio.ccへのビーコン
窃取されたデータはXOR暗号化(キー:jX9kM2nP4qR6sT8v)された後Base64エンコードされ、tidio.cc/cdn-cgi/pe-*へビーコン送信されます。この送信にはnavigator.sendBeacon・fetch・XMLHttpRequest、そして最終手段として画像ピクセルを使ったフォールバックという、レジリエント(耐障害性が高い)な複数の通信手段の連鎖が使われています。
tidio.ccというドメインは、正規のライブチャットサービス「Tidio」(tidio.com)を模倣したルックアライク(見せかけ)ドメインです。このC2インフラは攻撃発生の約6週間前(2026年4月28日)にすでに準備されていたことが確認されています。
攻撃タイムライン
| 日時 | 出来事 |
|---|---|
| 2026年4月28日 | tidio.ccが登録され、TLS証明書が発行される。C2は84.201.6.54(Ultahost、AS214036)に解決。この時点で活動は未観測 |
| 2026年6月12日 22:17 | OptinMonster・TrustPulseのコード内で悪意あるマルウェアを初確認 |
| 2026年6月12日 22:42 | OptinMonster・TrustPulseに悪意あるコードが依然存在 |
| 2026年6月13日 19:02 | OptinMonster・TrustPulseのパスはクリーンになったが、PushEngage SDKは特定のCDNエッジから依然として注入済みコードを配信 |
| 2026年6月14日 | PushEngageも復旧 |
Awesome Motiveとは——影響範囲の広さ
Awesome MotiveはWordPressエコシステムにおける大手プラグインベンダーで、今回直接影響を受けたOptinMonster・TrustPulse・PushEngageに加え、以下のような広範なプラグインポートフォリオを運営しています。
- WPForms:アクティブインストール数600万件超
- MonsterInsights:約200万件
- All in One SEO:約300万件
現時点で改ざんが確認されているのはOptinMonster・TrustPulse・PushEngageの3製品のみですが、Sansecは「同社の調査が事案の全容を提供するまでは、Awesome Motiveの製品を使用しているすべての利用者がこれを進行中のインシデントとして扱うべき」と注意を呼びかけています。
対応手順
① 不正な管理者アカウントの確認
WordPressのユーザー一覧を確認し、developer_api1やdev_xxxxxx形式の見覚えのないアカウントがないか確認してください。発見した場合は即座に削除してください。
重要な注意:バックドアプラグインはダッシュボードからの表示を隠蔽するため、管理画面の表示だけでは「異常なし」と誤認する可能性があります。
② ファイルシステムの直接確認(管理画面を信用しない)
管理ダッシュボードのプラグイン一覧ではなく、サーバーのファイルシステムを直接確認してください。
ls -la wp-content/plugins/ | grep -E "content-delivery-helper|database-optimizer"
該当するディレクトリが見つかった場合は即座に削除し、フォレンジック調査を実施してください。
③ プラグインの更新
OptinMonster・TrustPulse・PushEngageを使用している場合、Awesome Motiveが提供する最新のセキュリティアドバイザリの指示に従い、プラグインを最新版に更新してください。なお、今回の攻撃はCDN側で発生したものであるため、プラグイン更新だけでは「過去の被害」を取り消すことはできません。上記①②の対応も必須です。
④ パスワード・APIキーのローテーション
侵害された可能性がある期間にログインしていた管理者アカウントについては、パスワードの変更と、関連するすべてのAPIキー・認証情報のローテーションを実施してください。
⑤ IOC(侵害の痕跡)のブロック
以下のIOCをファイアウォール・WAF・DNSフィルタリングでブロックしてください。
| 種別 | 内容 |
|---|---|
| 偽装ドメイン | tidio.cc(正規のtidio.comではない) |
| C2 IPアドレス | 84.201.6.54(Ultahost、AS214036) |
| バックドアプラグイン名(確認済み) | content-delivery-helper(v2.7.1)・database-optimizer(v2.9.4) |
| Webシェルパラメータ | ?developer_api1_fm |
| コード実行エンドポイント | developer_api1_eval |
| XOR暗号化キー | jX9kM2nP4qR6sT8v |
情報システム担当者への教訓——CDN依存型サプライチェーンのリスク
今回の事案は、WordPressプラグインがCDN経由でJavaScript SDKを配信する設計そのものが新たな攻撃ベクトルになることを明確に示しています。
①ベンダー管理のCDNコンテンツの完全性監視(SRI):自社サイトで外部CDNから読み込むJavaScriptには、Subresource Integrity(SRI)ハッシュの活用を検討してください。CDN側でファイルが改ざんされた場合に、ブラウザがスクリプトの実行を拒否する仕組みを構築できます。
②サードパーティプラグインの脆弱性が招くサプライチェーンリスク:今回の侵入の起点はAwesome Motive自身の運営するマーケティングサイトで稼働していたUpdraftPlusの既知脆弱性でした。自社が運営するすべてのWebサイト(本番・マーケティング・テスト環境を問わず)で使用しているプラグインの脆弱性管理を一元的に行う必要があります。
③管理者アカウントの追加防御:管理者権限を持つアカウントには多要素認証(MFA)を必須化し、管理画面へのアクセスをIPアドレス制限・VPN経由に限定することで、今回のような「ログイン中の管理者を狙う」攻撃の影響を軽減できます。
④ダッシュボードの表示を過信しない文化の醸成:今回のバックドアが示すように、管理画面上の表示は攻撃者によって偽装される可能性があります。定期的なファイルシステムレベルでの整合性チェック(FIMツールの導入)を実施してください。
参考情報
- Sansec「OptinMonster supply chain attack hits 1.2 million sites」(2026年6月13日公開・6月15日更新) ←
- Patchstack「Supply Chain Attack on OptinMonster, TrustPulse, and PushEngage: Tampered CDN Scripts Auto-Creating Rogue Admins」(2026年6月)
- Security Affairs「Attackers compromised Awesome Motive CDN files, backdooring WordPress sites running OptinMonster, TrustPulse, and PushEngage」
- 当サイト関連:Arch Linux AURの408件超のパッケージが侵害——npmサプライチェーン経由の同様の手口との比較
- 当サイト関連:JavaScript polyfill.ioサプライチェーン攻撃——外部スクリプト依存のリスクという共通の構造
- 当サイト関連:UPSIDER OSSサプライチェーン攻撃最終報告——CI/CDパイプラインを経由した同種の攻撃手法との比較








