WordPressのブログ記事に不審なリンクが大量発生!原因はまさかのGoogle AdSense自動広告だった

この記事でわかること

  • WordPressに見覚えのないリンクが挿入されたときの原因調査の流れ
  • エックスサーバーのWordPressリカバリー機能の使い方
  • Google AdSenseの「自動広告」が引き起こすトラブルと対処法
スポンサーリンク


はじめに ― 異変に気づいた日

しばらく更新していなかった自分のWordPressサイト「カモシカのつぶやき」を久しぶりに確認したとき、ブログ記事の本文内に見覚えのない青い文字のリンクが大量に挿入されているのを発見しました。

試しにそのリンクをクリックすると、音声と画像で「PCがロックされました。電話してください」 というメッセージが表示されました。いわゆる「テクニカルサポート詐欺」に誘導するものです(実際にはPCはロックされていません)。

リンクのテキストは記事によって異なり、「機械学習、人工知能」「数学」など、カテゴリーのバッジのように見えました。しかも43件の記事のうち複数に確認されました。

記事本文に青色文字で貼られたリンク


最初の判断:ハッキングを疑う

状況を整理すると以下の通りでした。

項目状況
サイトの状態公開中・アクセス可能
WP管理画面ログインできる
リンクの場所記事の本文内(自分で書いた覚えなし)

これだけ見ると「スパムリンク注入攻撃(ハッキング)」の典型的な症状に見えます。まずはその前提で対処を進めることにしました。


STEP 1:緊急対応 ― 被害の拡大を止める

サイトをメンテナンスモードにする

まず、一般の訪問者がリンクをクリックして被害に遭わないよう、サイトを非公開にしました。

プラグイン「LightStart」をインストールし、ステータスを「有効化」に切り替えます。これにより訪問者には「メンテナンス中」の画面が表示されるようになります。

【LightStartのステータス設定画面】

WordPressの管理者パスワードを変更する

管理画面 → ユーザー → プロフィール → 「パスワードを生成」ボタンをクリックし、自動生成された強力なパスワードに変更・保存しました。


STEP 2:セキュリティスキャン

Sucuri Securityでスキャン実施

Wordfenceも試みましたが設定ポップアップが閉じられずスキャンができなかったため、代わりに「Sucuri Security」をインストールしてスキャンを実行しました。

【Sucuriのスキャン結果画面】

スキャン結果は以下の通りで、一見すると異常なし:

  • WordPressコアファイルの整合性:✅ 正常
  • 悪意あるJavaScript:✅ なし
  • 悪意あるiFrame:✅ なし
  • Googleセーフブラウジング:✅ 正常

ただし、これは「表側(フロントエンド)」のチェックのみ。記事データ(データベース)の中身は別途確認が必要でした。


STEP 3:不正リンクの場所を特定しようとした長い道のり

ここからが試行錯誤の連続でした。

記事本文のHTMLを確認 → 見つからない

編集画面をHTMLモード(コードエディター)に切り替えて「機械学習」で検索しても、該当するコードが見当たりませんでした。

タグ・カテゴリーを確認 → 異常なし

「機械学習、人工知能」というバッジがカテゴリーやタグとして登録されているのかと思い確認しましたが、そちらも正常でした。

ブラウザの検証ツールで調べる

バッジの上で右クリック →「検証」を選んで開発者ツールを開いたところ、div.google-anno-skip.google-anno-sc というクラス名が目に入りました。

「google-anno」という文字列に注目しました。

【検証ツールで表示されたHTMLのクラス名】

ページのソースを確認 → eval・base64・iframeは見つからない

Ctrl+U でページソースを開き、ハッキングの典型的なキーワード(eval(、base64、document.write)を検索しましたが、いずれも見つかりませんでした。

これは重要な手がかりです。コードがHTMLに存在しないということは、JavaScriptで動的に生成されている可能性が高いことを意味します。


STEP 4:エックスサーバーのWordPressリカバリーを実施

念のため、ハッキングによって不正ファイルが設置されている可能性を排除するため、エックスサーバーの「WordPressリカバリー」機能を使いました。

手順

  1. エックスサーバーのサーバーパネルにログイン(https://www.xserver.ne.jp/login_server.php)
  2. 「WordPressリカバリー」をクリック
  3. 対象サイトの「復旧」ボタンをクリック
  4. **「不正アクセスを受けたWordPressの復旧」**を選択して「次へ」

【復旧の種類を選択する画面】

この選択肢は「不正ファイルを設置されたWordPressを、記事などの重要データを残したうえでファイル・ディレクトリの削除・再作成を行う」というもので、記事データは消えません。

  1. 確認画面で「実行する」をクリック

【実行完了後の画面】

復旧完了後、新しいパスワードが発行されるのでメモを忘れずに。

結果

WordPressのコアファイルは修復されましたが、バッジリンクは依然として表示されたままでした。

不正リンクはWordPressのファイルではなく、別の場所にあることがほぼ確定しました。


STEP 5:原因判明 ― 犯人はGoogle AdSenseの自動広告だった

改めて検証ツールで確認していたとき、google-anno というクラス名が気になりました。これは Google AdSense の自動広告 が生成するHTMLクラスです。

gle-anno というクラス名が気になりました。これは Google AdSense の自動広告 が生成するHTMLクラスです。

このサイトにGoogle AdSenseの自動広告設置を設置していたことを改めて確認し、以下のことが分かりました。

つまり、こういうことでした:

Google AdSenseの「自動広告」機能が、記事内にカテゴリーバッジ風のリンクを自動挿入していた。そのリンク経由で悪質な広告(マルバタイジング)が配信されていました。

これはWordPressのハッキングではなく、Googleの広告ネットワークに紛れ込んだ不正広告が原因でした。


STEP 6:Google AdSenseの自動広告をOFFにする

手順

  1. Google AdSenseの管理画面にログイン
  2. 「広告」→ サイト一覧から対象サイトの鉛筆アイコン(✏️)をクリック
  3. 右側パネルの「自動広告」トグルを OFF に切り替える
  4. 「サイトに適用」→「今すぐ適用」→「保存」をクリック

【自動広告をOFFに切り替えた設定画面】

反映まで最大1時間ほどかかります。

結果

約30分後にサイトを確認したところ、バッジリンクが完全に消えました。✅


最終的な対応まとめ

作業結果
メンテナンスモード設定✅ 完了・解除済み
WordPressパスワード変更✅ 完了
Sucuriセキュリティスキャン✅ 異常なし確認
エックスサーバーWordPressリカバリー✅ 不正ファイル除去完了
Google AdSense自動広告をOFF✅ バッジリンク消滅
Sucuri Security 再インストール✅ 完了
エックスサーバーセキュリティ設定確認✅ 全項目ON確認済み

今回の教訓

① 「ハッキング」と決めつけず、広告の仕組みも疑う

今回のリンクはHTMLソースに存在せず、JavaScriptで動的に生成されていました。これはAdSenseの自動広告の特徴です。セキュリティスキャンで「異常なし」と出た場合、広告設定も確認ポイントに加えましょう。

② 自動広告は便利だが「マルバタイジング」のリスクがある

マルバタイジング(malvertising)とは、正規の広告ネットワーク経由で配信される悪質な広告のことです。AdSenseの自動広告を使っている場合、意図せずユーザーを危険なサイトに誘導してしまう可能性があります。

手動で広告コードを設置する方法に切り替えることで、表示される広告をある程度コントロールできます。

③ しばらく放置したサイトは定期的に確認する

今回の問題に気づくのが遅れたのは、サイトをしばらく更新していなかったためです。月1回でも自分のサイトを確認する習慣をつけましょう。

④ エックスサーバーのリカバリー機能は強力

不正アクセスが疑われるときは、エックスサーバーの「WordPressリカバリー」が非常に有効です。記事データを残したままWordPress本体をリセットできます。覚えておくと安心です。


参考:再発防止のセキュリティ設定チェックリスト

エックスサーバーのサーバーパネル → 「WordPressセキュリティ設定」で以下をONに:

  • 国外アクセス制限
  • XML-RPC APIアクセス制限
  • REST APIアクセス制限
  • ログイン試行回数制限

また、セキュリティプラグイン「Sucuri Security」を有効化しておくことで、不審な変更があった際に通知を受け取ることができます。


この記事が同じ問題で困っている方のお役に立てば幸いです。

補足:マルバタイジング

マルバタイジング(Malvertising)とは、正規のWeb広告ネットワークを悪用してマルウェア(ウイルス)を感染させるサイバー攻撃のことです。

マルバタイジング(Malvertising)によって、ブラウザがロックされ、音声アラートでサポート詐欺(サポートセンターへの電話)を促す事例は非常に増えています。

これは「偽警告」「サポート詐欺」と呼ばれる典型的な犯罪手口です。

画面に表示された番号へ電話をかけると、サポート費用の名目でギフトカードや個人情報を要求されます。

対処法

  1. 絶対に電話をかけない(電話しても解決せず、被害に遭います)
  2. ブラウザを閉じる
  3. 閉じない場合は強制終了する
スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です