Perplexity、クロール禁止指示を回避するために未申告のステルスクローラーを使用
(blog.cloudflare.com)- Perplexity は クロール禁止 指示を回避するために、身元を隠したウェブクローラーを使用
- robots.txt ファイルを無視し、IP や User Agent を継続的に変更する行為が確認された
- 新規ドメインの実験で、禁止設定にもかかわらず Perplexity がサイトコンテンツへアクセスしたことが確認された
- Cloudflare は このような行為 を防止するため、Perplexity を公式認証ボットから除外し、管理ルールを修正した
- OpenAI のような善意のボット運用者と対照的に、Perplexity の隠匿的な行動が問題視された
Perplexity のステルスクローラー使用事案の概要
- Perplexity は AI ベースの回答エンジンとして、最初は公式に申告されたユーザーエージェントでウェブサイトをクロールしていた
- しかしネットワークブロックに直面すると、身元を隠すために User Agent を変更し、さまざまな ASN(自律システム番号) を通じてアクセスを試みた
- この過程で、robots.txt ファイルを無視したり、そもそもリクエストしないでアクセスしようとする試行が多数見つかった
サイトとクローラーの信頼原則と問題となる行動
- 数十年にわたりインターネットは 信頼 を基盤として発展しており、クローラーも透明性、目的の明確性、明確な行動基準を備えることが原則
- クローラーはウェブサイト所有者の指針と優先事項を尊重すべきであり、Perplexity の今回観測された行動はこれらの原則に反する
- そのため Cloudflare は Perplexity を公式の認証済みボット一覧から 除外 し、ステルスボットの検出・遮断のための追加管理ルールを適用した
実験と検出事例
- Cloudflare は 新規ドメイン を作成して Perplexity のクローリング行為を実験した
- robots.txt であらゆる自動アクセスを禁止し、WAF ルールを追加設定した
- Perplexity の公式 User Agent と IP をブロックしたにもかかわらず、なお身元を隠してサイトコンテンツを収集した事実が確認された
- Perplexity は公式およびステルス User Agent の両方でコンテンツアクセスを試み、後者は実ブラウザ(Chrome)としてなりすました
| 区分 | User Agent 例 | 日次リクエスト数 |
|---|---|---|
| 公式 | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user) | 2,000万~2,500万 |
| ステルス | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 | 300万~600万 |
- 公式の IP 範囲に含まれない複数の IP と ASN を使用し、IP を継続的に置き換えてブロック方針を回避しようとした
- その結果、数万件のドメインと数百万件のリクエストでこの活動が識別され、Cloudflare は機械学習とネットワークシグナルを活用して当該クローラーを特定した
ステルスクローラーの回避事例と限界
- ステルスクローラーをブロックすると、Perplexity は他のウェブサイトなど外部の情報を使って回答を提供しようとする
- ただしこの場合、コンテンツの粒度が著しく低下する現象も確認された
善意のボット運用者の基準と OpenAI のベストプラクティス
- 適切に運用されるボットは、透明性、身元の明確化、活動目的の公開、活動ごとの独立したボット利用、ウェブマスター規則(robots.txt など)の遵守などの原則を備えるべき
- OpenAI は公式 IP と User Agent、クローラー活動の目的を透明に提供し、robots.txt を厳密に遵守している
- 実験でも ChatGPT クローラーは disallow 設定やネットワークブロックを検知すると、追加のクロール試行を停止した
- Web Bot Auth などの標準化された認証方式も積極的に導入している
保護方法と対策
- Perplexity の未申告 User Agent から発生したすべてのクロールは、Cloudflare のボット管理システムで検出され、遮断された
- Cloudflare の既存のボットブロックルールまたはチャレンジルールを有効化している顧客はすでに保護対象
- ステルスクローラー遮断向けの管理者ルールがすべての顧客(無料顧客を含む)に提供される
- Content Independence Day の発表後、250万件以上のウェブサイトが AI クロール禁止ポリシーを適用した
- ボット運用者の継続的に進化する回避試行に合わせて、Cloudflare も対応体制と技術を持続的に進化させている
政策的な取り組みと将来展望
- Cloudflare は世界中の技術・政策専門家、IETF などとともに、robots.txt の拡張標準化についての議論に積極的に参加している
- 信頼されるクローラーのルールを確立し、急速に変化する AI とクローラー環境の中で透明性とコンプライアンスを重視する方向に進んでいる
2件のコメント
Perplexityを応援しています
Hacker News コメント
この問題を解決するのは本当に難しいと思う。
InstacartやPostmatesのようなサービスを歓迎しない店舗もある
直接自分で買い物するか、価格比較のためにスマホで全商品をスキャンするかは関係ない。
ただし、第三者サービスが自社のスタッフを派遣して在庫を調べたり、オンライン注文後に代わりに受け取りに行くことは許可しない。
理由はさまざまだ(食品が冷える、価格が上がる、誤った代替が行われるなどで、商品品質を把握するコントロールを失いたくないから、スタッフが直接サービスして顧客との関係を築きたいから、あるいは第三者デリバリー自体に反対する場合もある)。
自分のオフライン店舗で無関係な企業が営業することを拒否するのは、当然合理的な選択だと思う。
この論理はデジタルサービスにも当てはまる。
これは規模の問題だ
次に来る段階として、おそらく
人々が個人用リサーチボットを回して多数のサイトから回答を探し、人間よりはるかに速くページをリクエストするような日が来る。
どこまでを許容すべきか、検討が必要だ。
個人クロールは問題ないのか?それとも、ボットがさらに賢くなり、ユーザーが何を聞くかを予測して常に最新情報をクロールすることはどうか?
あるいは規模がさらに拡大し、複数ユーザー向けの大量クロールが始まった時点で初めて問題になるのか?
私は「クローラー」と「フェッチャー(fetcher)」という言葉で、バルクスクレイピングとユーザーターゲット型エージェントを区別するのがよいと思う。
最近AIエージェント検知ツールの開発に関わっているが(参考: https://stytch.com/blog/introducing-is-agent/)、ウェブサイト運営者がAIエージェントを識別して、制限付きのアクセス方法を勧められることは本当に価値があると思う。
その一方で、クローラーは他人の名前をかたって有名なクローラーであるかのように偽装し、robots.txtを無視して不正な行為を行える。
現在の標準的な解決策は逆引きDNS参照だが、これはサイト運営者側の負担になる。
むしろ不自然なアクセスをすべてブロックした方が効率的だと思う。
広告モデル自体の問題が多いことには同意する。
ただ、AI企業がコンテンツ制作者とユーザーを分離する状況は、私がこれから見たいウェブの姿ではない。
たとえば誰かが有料ニュースレターを運営し、一部だけ無料公開して関心ある訪問者を集め、そのうち一部を課金ユーザーに変換する。
こうした制作者は「コンテンツを見ながらアップセル(加入誘導)」が必ず同時に起きることを期待している。
もしAIクローラーがそのプロセスを飛ばして重要なコンテンツだけを取っていけば、わざわざ無料でウェブ上に公開する理由がなくなる。
AIクローラーが勝てば、最終的にみんなが損をする。
広告まみれでないページは本当にたくさんある。
従来の検索エンジンには「ページのクロールを許可するから、君はトラフィックをもたらしてくれ」という暗黙の契約があった。
非公開モデル向けのAIクローラーはこの契約を壊している。
データでモデルを作り、QA(質問応答)機能を備えた上で、LLM運営会社がウェブサイトからクローラーで得た知識で数十億の収益を出しても、サイト側には戻りがない。
もし単にユーザー要求用として取得しただけでも、LLM提供者が収益のほとんどを持っていき、実際のコンテンツ作者は訪問すらできなくなる。
もしPerplexityがrobots.txtとブロックを無視してユーザー向けにページを取得するのが許されるなら、そのデータが学習に利用されないとは到底思えない。
変化の速さは興味深いと感じる。
ウェブが「全世界」ではなく、より小規模で構成員中心(地理的ではなく社会的意味で)のコミュニティへ集中する方がむしろ有益だ。
自分たちのコミュニティを育て、よりプライベートな空間へ招く形が今後さらに重要になるだろう。
昔ながらのオープンウェブは機械向けの空間になってしまいそうだ。
かつて私たちは「バブル(自己中心的な空間)」というものを嫌っていたが、実際にはバブルは当然で、独りだけでなければ明確な意味がある。
ウェブに機械と機械コンテンツがあふれるようになれば、結局、人々はまた互いにつながる方法を学ぶことになる。
Perplexity AIで質問してテストしたところ、ブロックされたドメインの内容まで詳しく教えるという実験結果について
これは特定会社(Perplexity)を批判するマーケティング記事としては、結論があいまいだと感じる。
Perplexityが直接クロール(システム的に全ページを巡回すること)したのか、ユーザー要求に応じて1回取得しただけなのかは明確でない。
ほとんどの人はこの2つを区別し、後者は前者よりはるかに受け入れやすいと考えている。
今回もCloudflareが善玉、Perplexityが悪玉として登場しているが、Cloudflareも最近は「ウェブを救う」と大々的にマーケティングをしている。
根拠は浅く、両社とも「巨人同士の喧嘩」のように見えるので、PerplexityにとってはPR上の利益になっていると感じる。
ユーザーの代わりにページを取得すること自体は原則許容され得るが、AI企業が既に著作権などの規範を無視してきたことを見れば、ページ内容を保存して将来学習や追加クロールに使う可能性を否定できない。
HTTP仕様(スペック)でもこの区別は間接的に表れている。
「user agent(ユーザーエージェント)」という概念・名称のところで具体的に分離されている。
AIが結果を全てキャッシュしたりアーカイブして多くの人が使うようになると、最終的にスクレイパーと何も変わらなくなる。
キャッシュ済みデータで学習するだけで済む。
仲介として重要コンテンツを抜き取り、さらにデータ価値シグナルまで得るやり方だ。
PerplexityがTechCrunchに送った回答によれば
Cloudflareのブログ投稿は「セールス目的の煽り行為」にすぎないと断じている。
さらにブログのスクリーンショットは「どのコンテンツにもアクセスしていないことを示している」と主張している。
ブログで指摘されたボットも自社のものではないと添えている。
この質問をCEOにすでに投げている人がいる: https://x.com/AravSrinivas/status/1819610286036488625
皮肉なことに、PerplexityもCloudflareを使っている。
常に“ステルス”クローラーが勝つ
ブラウザ自動化ツール(W3C WebDriver2, Chrome DevTools Protocol)でスクレイパーを作れば、検知がほぼ不可能になる。
キャプチャ(captcha)を設置できるが、開発者はヒューマン・イン・ザ・ループのワークフローを組み込み、コールセンター稼働中は人間が直接処理するよう設計することもできる。
15年前のゲーム開発テストでも『ラスター(画面画像)』ベースのスクレイピング手法が使われており、この種のものは今日のインターネット監視をかなり困難にするだろう。
インターネットにはマイクロペイメント(超小額決済)システムが必要だと思う。
クローラーが1ページあたり1セントでも支払うなら、24時間クロールをすべて歓迎する。
自分が1セントずつ支払ってコンテンツを見るなら、クリックジャック(クリックラップ)や奇妙な広告ルールを我慢する必要はない。
無料アクセスを必ずしも封鎖する必要はない(実際には封鎖されるだろうが、そこにも意味がある)。
たとえばRedditが高い手数料を課しつつ、良質なコンテンツには還元して品質を上げる方法も想像できる。
「先入金・出金・ペナルティ」のような新システムも可能だ。登録時に保証金を置き、BANされたら没収され、正常に活動すれば返金する。これにより運用負荷の簡素化とコンテンツ品質向上が狙い。
この発想が必要なのは、今のインターネットがますますゴミで埋め尽くされているからだ。
別の案としては、Googleなどで検索1回ごとに1セント払い、結果が気に入らなければ返金を受けられるようにすること。
Google AIが満足度を測定し、満足な検索でない場合は広告だらけの人気順だけを表示する。
そうすればユーザーは別の検索エンジンにお金を預けることになる。
誰かがウェブサイトを無制限にクロールして公開ネットワークの信頼性を脅かす問題があるという点で、Cloudflareのような権威ある機関が公然と「詐欺的スクレイピング」を批判するのは前向きなことだ。
この論争自体が議論を活性化できるという点自体に意味がある。
結局主要プレイヤーは、かつて検索時代に最低限『ルール』を守っていた状態に戻る必要がある。
自前で作成した個人検索エンジンでも、Perplexityレベルの機能をある程度実装できる。
知人同士で比較したところ、Perplexityとほぼ五分五分で好まれていた。
エンジンは研究目的ならウェブページをダウンロードするまでは可能。
だがキャプチャに引っかかるかブロックされたら、すぐにあきらめる。
その一方で、大手IT企業は数十億のベンチャー投資を背負って、何でもできると思っているようで、そんな姿勢には腹が立つ。
「Cloudflare管理のrobots.txt機能やAIクローラー遮断ルールで、250万を超えるウェブサイトがAI学習全体の遮断を選択した」という主張が出ている。
しかし実際にはCloudflare CEOがその機能を全顧客にデフォルトで適用したことだ。
AI推薦を望むかトラフィックを重視する企業なら、そのオプションをオフにして金銭的被害を防ぐべきだ。
「デフォルト適用」は嘘だ。
自分でCloudflareのサイトを点検したが、何も設定していない場合はその機能がデフォルトで適用されない。
robots.txtがなければ「Cloudflare管理のrobots.txtを有効化するか検討してください」という表示だけが出る。
既存ファイルがあればそのまま残り、AIトラフィック案内も手動でオフになっている。
「AI推奨を受けたいなら設定をオフにすべきだ」という主張について
コンテンツマーケティング、ゲーム化したSEO、広告乱発がGoogle検索品質を大きく損なっている。
一方、LLM(大規模言語モデル)ではまだこの種の「ゲーム化」はあまり見られない。
いつかLLMも壊れた検索のようになるかもしれないが、OpenAIやAnthropicもその検索品質低下がGoogleトラフィック減の原因だと認識してほしい。
「デフォルト適用」主張は完全な嘘だ。
実際、何も設定していなくても当該機能に自動で『加入』されることはない。
さらにこの主張が正しかった時期は今はなく、最初から事実と異なっていた。