JC3が捕捉した69万件の偽ECサイトの背後にあるSEOマルウェアの仕組みを解剖し、クローキングの「出口」が検索ユーザーからAIへと移りつつある構造(B2CからB2C2Bへ)を追う。守るべきは詐欺対策ではなく、自社フロントの完全性だ。
JC3が発表した悪質ECサイトの統計を眺めていて、最初に目を奪われたのは通報件数ではなかった。その裏側にある偽ECサイトの「実数」だ。JC3が収集し、トレンドマイクロらの研究が分析したデータによれば、2022年5月から2024年12月までの約2年半で、偽ECサイトは692,865件にのぼる。
69万件。まず「日本を狙う悪者は、そんなに大勢いるのか」と思った。だが調べを進めるほど、その第一印象は的を外していると分かってきた。問題は悪者の数ではない。手口が自動化されていることだ。少人数のグループが、仕掛けの力で偽サイトを大量生産している。
この記事では、その仕掛けを分解する。そして、この手口の「出口」が、いま静かに移動しつつあることを追う。検索ユーザーから、AIへ。決済被害から、情報汚染と侵入へ。
偽ECサイトの詐欺、と聞くと「攻撃者が偽のショッピングサイトを立てて、そこに客を誘い込む」という絵を思い浮かべる。実際の手口は、もう一段ひねってある。攻撃者は自前のサイトに直接集客しない。正規の企業サイトを侵害し、その検索上の信頼を借りて、そこから偽ECサイトへ送客する。
侵害されたサイトには、SEOポイズニングを目的としたPHPマルウェアが仕込まれる。トレンドマイクロが解析した「CURLHACK」というマルウェアは、この手口を教科書的に実装している。まず、攻撃者側の制御サーバー、いわゆるC2から取得したrobots.txt——検索エンジンに「どこを見に来てよいか」を伝える設定ファイル——を侵害サイトのルートに書き込み、連番のサイトマップ(検索エンジンに読ませたいURLの一覧)をクロール対象に指定する。
検索エンジンのクローラーがそのサイトマップにアクセスすると、マルウェアが応答を横取りする。返されるのは、C2が生成したコンテンツだ。商品名を大量に詰め込んだ、SEO用のページである。1つのサイトマップに数百から数千のURLを列挙し、クローラーに大量にインデックスさせる。
さらに巧妙なのは、受け身で待たない点だ。CURLHACKは、サイトマップのlastmod——「このページはいつ更新されたか」を示す日時——をアクセスした瞬間の時刻に書き換えて「これは最新のデータだ」とクローラーに誤認させ、加えてサイトマップをGoogleに能動的に送信(ping)してクローラーを呼び込む。
ここが手口の本質だ。攻撃者は検索結果を受動的に汚染しているのではない。Googleのクローラーそのものを、自分の宣伝装置として使い倒している。正規サイトが長年かけて積み上げた検索順位と信頼が、そのまま乗っ取られる。
では、攻撃者はどんなサイトを「借りる」のか。答えは、多くの企業が使っているフロントサイトだ。WordPress、Drupal、その他のPHP系CMSは、Web上の膨大なシェアを占める一方で、既知の脆弱性や管理者アカウントの窃取という侵入口を抱えやすい。攻撃者はここを突いてSEOマルウェアを設置する。
侵入後の挙動で厄介なのは、アクセスの横取りがPHPスクリプト単体ではなく、.htaccess(Webサーバーの動作を制御する設定ファイル)を使って仕込まれる点だ。そしてマルウェアは、訪問者を三つに振り分ける。
まずHTTPリクエストのUser-Agentヘッダを見て、検索エンジンのクローラーか一般ユーザーかを判定する。クローラーには、商品名を詰め込んだSEO用コンテンツを返す。一般ユーザーの場合はさらにReferer——「どのページから来たか」を示す情報——を検査する。検索エンジン経由でやってきたと判定したときだけ、METAタグやJavaScriptで偽ECサイトへ転送する。同時に、そのユーザーのIPアドレス・言語設定・アクセスURLをC2へ送信する。そしてどちらでもないアクセス——URLを直接叩いた場合や、サイト管理者自身のアクセス——には、改ざん前の正規ページをそのまま返す。

この三番目の分岐が、この攻撃が「気づかれない」理由の核心だ。管理者が自分のサイトを直接開いても、何も異常は見えない。検索から来た訪問者にだけ、罠が発動する。実際、別の研究では、日本の偽ECサイト(踏み台)の99.8%が、検索エンジン経由のアクセスのときにだけ偽サイトへリダイレクトすると報告されている。69万件という偽ECの背後には、こうして気づかれないまま使われた企業フロントがある。
ここで一度、技術から離れて構造を見たい。
この攻撃で実際に金を取られるのは、踏み台にされた企業ではない。検索から来た消費者だ。企業は「自社のサーバーから顧客データを直接盗まれた」わけではない。フロントを一時的に間借りされ、集客の道具に使われただけ——そう見えてしまう。だから、対策の動機が湧きにくい。自社は被害者なのか加害インフラなのか、立場すら曖昧になる。
にもかかわらず、この手口が69万件という数字で可視化されたのには理由がある。EC詐欺には、決済という分かりやすい被害が出るからだ。金を振り込んだのに商品が届かない。カード情報を抜かれて不正利用される。被害者は明確に損をし、声を上げる。通報が集まり、統計になり、研究対象になる。私たちが「69万件」を知れたのは、被害者が人間で、財布を痛め、告発したからにほかならない。
では、問いを反転させてみる。送り先が、詐欺ECサイトではなかったら? クローラーとユーザーに別々のものを見せるクローキングという技術の本質は、「相手によって違うものを見せる」ことであって、見せる先が詐欺サイトである必要はない。もし攻撃者が返すのが、偽の情報や、マルウェアだったら——訴える被害者がいなければ、そもそも統計にすらならない。EC詐欺は、氷山のうち海面から出た部分にすぎない。
海面下の一つ目が、B2Bだ。
法人を狙う場合、出口は決済ではなくなる。偽ECサイトの代わりに置かれるのは、偽のソフトウェア配布ページや、偽のアップデート通知だ。近年観測されているのは、検索で「PuTTY」や「Microsoft Teams」の正規配布元を装い、Oyster(別名Broomstick)と呼ばれるバックドアを配布する手口。ある事例では、Bing検索から悪意あるサイトへの到達までわずか11秒——自動化されたリダイレクトチェーンが動いていた。
標的はIT管理者、開発者、情シスといった、ソフトを日常的にダウンロードする層だ。そして狙いは、その場の金銭ではない。企業ネットワークへの初期アクセスである。一度足場を築かれれば、その先には横展開があり、情報窃取、認証情報の悪用、初期アクセス販売、そしてランサムウェアが待つ。
被害の見え方が、B2Cとは決定的に違う。決済詐欺はその場で被害が確定する。だがこちらは、侵入された瞬間には何も起きない。マルウェアは静かに潜伏し、被害はずっと後になって、インシデントとして顕在化する。因果を遡って「あの時の偽ダウンロードが起点だった」と分かる頃には、もう手遅れになっている。
海面下の二つ目は、もっと静かだ。
これまでSEOで騙してきた相手は、B2Cの「C」——検索する人間の消費者だった。そのCが、いま人間からAIに変わり始めている。人々が「〇〇社のサポート窓口は?」「このソフトの正規ダウンロード先は?」といった問いを、GoogleではなくChatGPTやGemini、Copilotに投げるようになったからだ。
攻撃者はそこに合わせて汚染先を変える。ZeroFoxの分析によれば、質問形式のページを作り、.govや.eduのサイトにPDFとして紛れ込ませ、クラウドソース型のフォーラムを使って、LLMに「これは信頼できるデータだ」と誤認させる手口が観測されている。狙いは、AIの口から偽のサポート窓口や偽サイトを「正しい答え」として語らせることだ。
規模の問題も、EC詐欺のときと同じ構図をたどる。ある研究では、事前学習データにわずか250件ほどの悪意ある文書を混入させるだけで、LLMにバックドア的な挙動を仕込める可能性が示されている。RAGや検索連携の汚染とは条件が違うが、「大量でなくても、狙って置かれた少数の文書がAIの出力を歪めうる」という点では、同じ方向を向いている。競合製品の比較を聞かれたときに、特定ブランドを不当に貶めたり、丸ごと除外したり——意図的に仕込まれたハルシネーションだ。クローキングの宛先が、検索結果のページから、AIの回答そのものへと移っていく。
そして、ここで二つの海面下がつながる。
AIの「C」は、消費者としてスマホの中にいるだけではない。企業(B2B)の中にいる。社内文書を検索するRAGとして、業務を代行するエージェントとして、すでに多くの組織に入り込んでいる。個人(C)を騙し、その個人を踏み台に企業(B)の中枢へ届く——いわば B2C2B。かつて偽ECサイトが正規サイトを踏み台にしたのと同じ構図が、今度は「AIという名の個人」を踏み台に、企業の内側で再演される。しかもこのAIは、ときに人間の新人より遥かに大きな権限を持つ。社内データを読め、コードを実行でき、外部にアクセスできる——入社初日から、そういう鍵束を渡された新人のようなものだ。
この新人は、騙されやすい。エージェント専用のクローキングという手口も登場している。人間には無害なページを見せ、AIエージェントにだけ、視覚的に同一のページへ隠した指示——間接プロンプトインジェクション——を読ませる。人間にもセキュリティのクローラーにも見えないまま、データ窃取やコード実行を引き起こす。
つまりSEO汚染は、「検索する人間を騙して詐欺サイトに送る話」から、「企業内で権限を持って動くAIエージェントを、外部から操る話」へと変質しつつある。宛先は、財布を持った消費者ではない。鍵束を持った、疑うことを知らない新人だ。
改めて振り返ると、69万件という数字が見えたのは、いくつもの偶然が重なった結果だった。被害者が人間で、決済という明確な損害が出て、そして声を上げたからだ。三つが揃ったから、通報になり、統計になり、研究になった。
だが、AIは違う。騙されても、AIは「被害者」として声を上げない。 財布を痛めないし、告発もしない。B2Bの侵入は遅れて顕在化するだけまだましで、情報汚染に至っては、汚染された答えが意思決定に混ざり込んでも、因果を辿る手段すらない。
EC詐欺で私たちが見た69万件は、被害者が声を上げたからこそ見えた、氷山の一角にすぎない。声を上げないAIが宛先になったとき、氷山は海面下に沈む。
だからこそ、守るべきは偽EC対策だけではない。自社のフロントが、AIに偽情報を配る発信源にされないことだ。侵入口を塞ぎ、Web資産の完全性を監視する。かつては「詐欺の踏み台にされない」ための防御だった。AI時代にはそれが、「汚染された情報の発信源にならない」ための防御になる。
Aikido Community Japan
公開日: 2026/7/1
最終更新: 2026/7/1
セキュリティの最新情報をお届けします。