ブログに戻る

あなたはバンされていない — ゴミを食べさせられた:2026年のターピットと毒ページ

HTTP 200 はもはや「データが収集された」を意味しません。Nepenthes、Iocaine、Cloudflare AI Labyrinth はクローラーに無限に生成されたテキストを供給し、毒されたページは AI エージェントに 27~73.8% の確率で存在しないブランドを推奨させます。データの静かな劣化の三つのメカニズムと、データベースに記録される前にゴミをキャッチする七つのチェックを解説します。

📅2026年9月13日
あなたはバンされていない — ゴミを食べさせられた:2026年のターピットと毒ページ

パーサーは正常に動作しています。HTTP 200が連続して流れ、プロキシは生きており、キャプチャは表示されず、リンクのキューは増え続けています。しかし、1週間後には、収集した価格の半分が虚偽であり、ギガバイトのトラフィックが実際のサイトには存在しないページに消えてしまったことが判明します。これはパーサーの故障でも、悪いIPプールでもありません。これは新しい保護モードです:サイトはあなたをブロックせず、あなたに情報を提供します。

1年半の間に、アンチボット保護の業界は静かに目的を変えました。ブロックは高価で目立つ手段です:スクレイパーは403を見て、フィンガープリンティングを修正し、サブネットを変更して戻ってきます。彼の作業を妨げるのではなく、彼の作業を無意味にする方がはるかに利益があります。以下に、すでに数百万のサイトで稼働している3つのメカニズムと、それらをあなたの側で捕まえるためのチェックリストを示します。

メカニズム1:ブロックの代わりにターピット

ターピット(tarpit、「タールの穴」)は、無限のサイトを生成するジェネレーターです。クローラーは、数十のリンクを持つ有効なHTMLページを受け取り、各リンクは同様に生成されたページに繋がり、巡回のキューは決して空になりません。

最も有名なオープンツールはNepenthesです。その設定は意図をよく示しています:デフォルトでは、サーバーは10秒から65秒の間に応答を保持し、「マルコフの無駄話」というテキストを生成し、決定論的に行います — 同じURLは常に同じゴミを返し、ページは普通の静的ファイルのように見え、罠ではありません。データは小さな部分で提供され、「数バイトずつ」クライアントのタイムアウトを消費します。著者は1時間の作業の測定を示しています:1850の異なるクライアント、10015のリクエスト、56020秒の合計遅延 — 約15時間の無駄な機械時間が消費されました。

Iocaineは異なる方法で機能します:実際のサイトの前に逆プロキシとして機能し、最初のインターセプトでボットにユニークな「毒された」リンクを提供し、それによって戻ってきたときに彼を認識し、テキストはマルコフ連鎖で生成されます — このテキストが学習データセットに入ることを期待しています。

Cloudflareでは、同じ手法が製品化されました — AI Labyrinth、2025年3月に発表されました。誘導ページは即座に生成されるのではなく、Workers AIでの事前生成のコンベアが使用され、結果はR2に保存され、迅速に配布されます。迷路へのリンクは、HTML変換を通じて通常のページに埋め込まれ、誘導ページ自体にはインデックス作成を防ぐメタディレクティブが設定されており、検索結果に影響を与えません。ここでの重要な点は、ボットが消費した時間ではなく、信号です:人間から隠されたリンクを通じて、nofollowでマークされたリンクは自動化されたものであり、その迷路の3レベル深くへの遷移自体が悪いボットのフィンガープリンティングになります。この問題の規模は、Cloudflareによれば、毎日AIクローラーからの500億以上のリクエスト — ネットワーク全体のトラフィックの約1%未満と評価されています。

ターピットがあなたのログにどのように表示されるか

特徴的なパターン:数千のURLのキューが増え続け、応答時間は常に1.5秒以上で安定し、HTTPコードはすべて200で、抽出された有効なレコードの数はゼロです。403は一つもなく、キャプチャもなく、出口もありません:どれだけのページが巡回されても、新しいリンクが古いリンクが閉じられるよりも早く現れます。

メカニズム2:AIエージェント向けの毒されたコンテンツ

最初のメカニズムがリソースを消耗するのに対し、2番目は結果に打撃を与えます。研究者のMinghao LuoとLiang Chenは、2026年6月にFORGE(Fake Online Recommendations in Generative Environments)シミュレーターを使用した研究を発表しました:彼らは12の主要な言語モデル15のカテゴリの225の商品 — 衣料品から電子機器まで — でテストしました。攻撃のメカニズムはシンプルです:ページのテキスト内で、実際のブランドが架空のもので置き換えられます。

結果は、1つの偽造ページが、アシスタントが存在しないブランドを推奨するケースの27%を生み出し、上位3つの検索結果をすべて置き換えることでこの割合が73.8%に上昇することです。モデルは単に偽の名前を繰り返すのではなく、その下にある利点を創作し、コミュニティでの人気を含めていました。提案された3つの防御(懐疑的なプロンプト、モデルの内部知識に基づく合意、文書間の照合)は、機能しなかったか、新たな問題を引き起こしました。著者の結論は、上流での検証が必要であり、推論の段階ではないということです。

第3のメカニズムは、全体の絵を締めくくります。「A Whole New World: Creating a Parallel-Poisoned Web Only AI-Agents Can See」(Shaked Zychlinski)という研究では、AIエージェントをターゲットにしたクロークが説明されています:サイトはブラウザの属性、オートメーションフレームワークのシグネチャ、ネットワーク特性によってエージェントを認識し、隠された指示と置き換えられた事実を持つ別のバージョンのページを提供します。同じURLを開いた人間は通常のページを見ているため、「私はアクセスした、すべては問題ない」という手動チェックは何も証明しません。

なぜこれはまず予算の問題なのか

ターピットは、各ページがサイトにとって安価で、あなたにとって高価になるように設計されています。トラフィックがギガバイト単位で支払われる場合、無限ページのジェネレーターはあなたの支出のカウンターになります:あなたは決してデータベースの行になることのないマルコフテキストのメガバイトに対して支払います。失敗したリクエストと同じ算数です — ギガバイトの価格は、結果のコストについて何も言いません。成功した1つのレコードのコストを計算するまで、リクエストのコストを考慮しない限り。

ここから最初の実用的なルールが生まれます:トラフィックの制限はドメインとタスクのレベルで設定されるべきであり、アカウントのレベルだけではありません。1ギガバイト以上消費し、1つのレコードも返さないドメインは自動的に停止する必要があります — これがないと、1つの罠が夜のうちに日予算を消費する可能性があります。

ゴミを捕まえるための7つのチェック

  1. レスポンスコードではなく、イールドを数えます。 コンベアの主なメトリックは、有効なレコードを持つリクエストの割合です。200の割合を見ている限り、ターピットは完璧に健康なソースのように見えます。
  2. カナリアURL。 Nリクエストごとに、ドメイン内の存在しないアドレスを要求します — ランダムなパスセグメントを含めて。正常なサイトは404またはリダイレクトで応答し、ジェネレーターはテキストとリンクを持つ完全なページを返します。これは最も安価で信頼性の高いチェックです。
  3. 別のIPプロファイルからのクロスバリデーション。 同じURLを2つの異なるルートで取得します — 例えば、レジデンシャルIP経由とモバイル経由で — そして、主要なフィールドのハッシュを比較します:価格、名前、在庫。リクエストの時間が近い同じURLでの不一致は、異なるバージョンのページが表示されていることを意味し、少なくとも1つは人間向けではありません。
  4. 見えないリンクをクリックしないでください。 nofollow、ゼロサイズ、display:none、または画面の外に配置されたリンクは罠であり、それらをクリックすることがボットのフィンガープリンティングになります。リンク抽出の段階でフィルタリングし、後で行わないでください。
  5. 応答に厳しい上限を設定します。 タイムアウトだけでなく、ボディの最大サイズとエントリポイントからの最大巡回深度も制限します。小さなチャンクでの遅い応答は、遅いサーバーではなく、穴の典型的な兆候です。
  6. テキストのパターンを探します。 マルコフ生成は統計で自らを明らかにします:段落の長さが異常に均一で、異なるページ間で繰り返されるn-グラム、価格、品番、日付などの構造的要素がない場合の数十の外部リンク。隣接するドメインページ間での繰り返しシングルの簡単なチェックは、そのようなソースを一掃します。
  7. 数字の常識をチェックします。 歴史的な範囲外の価格、あなたのブランドデータベースに一致しない商品、突然の品揃えの変化 — これは、データベースに記録される前にチェックされるべきバリデーションルールです。特に、データがモデルや自動的な購入決定に入る場合は重要です。

既に収集されたデータセットに対処する方法

疑念が後から生じた場合、日付ではなくソースでソートします。レコードをドメインごとにグループ化し、必須フィールドのないページの割合、ページあたりの平均外部リンク数、テキストの長さのばらつきの3つの数値を確認します。罠ドメインは通常、すぐに3つのすべてで際立ちます。その後、別のIPプロファイルから疑わしいURLを選択的に再確認します — データが一致しない場合、そのドメインからの全データセットを再構築する必要があります。

エージェントシナリオのルールを再検討することも重要です。モデルが自らページを巡回し、自ら決定を下す場合、1つのページの置き換えが最大の効果を発揮します。奇妙さに気づく中間の人間がいないためです。最小限の保険は、2つの独立したソースからの事実確認を要求し、エージェントが単一のドメインから得たデータに基づいて行動することを許可しないことです。

まとめ

ボットはすでに人間をトラフィックの割合で追い越しています、そして保護はフィルターだけではなく、応答しました:今日、信頼性のあるゴミを自動化に与える方が、ブロックで彼と争うよりも安価です。実際の結果は3つです。レスポンスのステータスではなく、有効なレコードを数えます。カナリアチェックと各ドメインのトラフィック制限を維持します。異なるIPプロファイルから疑わしいページを照合します — 同じページのバージョンの不一致が、ボットのために特別に準備されたインターネットを表示している証拠です。このスキームにおいて、プロキシはページに対する独立した第二の視点を提供する唯一のタスクを果たします;他のすべてはあなたの側でのバリデーションが行います。