世界を動かす技術を、日本語で。

Perplexityは、クローリング禁止指示を回避するために、隠密の未申告クローラーを使用しています。

概要

  • Perplexity によるステルスクローリング行為の観測
  • robots.txt やWAFルールを回避するための偽装行動
  • Cloudflareによる 検出・ブロック の実施状況
  • 善良なボット運用 の基準とOpenAIの事例
  • サイト管理者向け防御策 と今後の展望

Perplexityによるステルスクローリング行為の発見

  • Perplexity はAI搭載のアンサーエンジンとして知られる
  • 当初は 正規のユーザーエージェント でクロールを行っていたが、ネットワークブロック時に 身元を隠す行動 を観測
  • ユーザーエージェントや発信元ASNを頻繁に切り替え、 クロール活動の隠蔽 を試みる傾向
  • robots.txt の無視、または取得自体を行わないケースも確認
  • こうした行動はインターネットの 信頼性原則 (透明性・目的明確化・規則遵守)に反する

Cloudflareによる検証と対策

  • 複数の顧客から「 Perplexityのクロールをrobots.txtやWAFで禁止したのにアクセスされる」との苦情
  • 新規ドメインを用意し、 robots.txtで全自動アクセスを禁止 した上でPerplexity AIに質問
  • 禁止したはずのドメイン内容がAI回答に含まれる 事例を発見
  • Perplexityは 公式ユーザーエージェント だけでなく、Google Chromeを装う一般的なUAも利用
  • 公式IP範囲外や複数ASNからのリクエスト、IPローテーションによる 検出回避 も観測
  • 機械学習とネットワークシグナル でステルスボットを特定
  • ブロックが成功した場合は、AI回答の精度が下がる事例も確認

善良なボット運用の基準とOpenAIの模範

  • 透明性 :固有のユーザーエージェント、IPリスト公開、連絡先情報の提示
  • 節度ある行動 :過剰なトラフィックやステルス行為の回避
  • 明確な目的 :ボットの用途や目的を明示し、公開情報で確認可能に
  • 用途ごとの分離 :活動ごとに異なるボットを使用、サイト管理者が選択可能に
  • 規則遵守 :robots.txtやレートリミット、セキュリティ保護の尊重
  • OpenAIはこれらの基準を遵守し、 ChatGPT Agent はWeb Bot Auth標準に対応
  • ChatGPT-Userはrobots.txtを取得し、禁止時はクロールを停止

サイト管理者向け防御策

  • Cloudflareの ボット管理システム はPerplexityの隠れたユーザーエージェントも検知・ブロック
  • 既存のブロックルールやチャレンジルールで 人間のみ通過可能 な設定も可能
  • ステルスボット用の 新シグネチャを追加 し、全顧客(無料プラン含む)に適用
  • AIクロール禁止やrobots.txt管理機能の活用で アクセス制御 を強化

今後の展望とCloudflareの取り組み

  • Content Independence Day の発表以降、250万以上のサイトがAIトレーニングを全面禁止
  • 今後も ボットの回避技術と防御策 は進化し続ける見通し
  • CloudflareはIETF等と連携し、 robots.txt拡張やボット運用原則の標準化 に貢献
  • 正当なボット運用のための 明確なガイドライン策定 を推進
  • Cloudflareの 接続クラウド は企業ネットワーク全体を保護し、DDoS対策やゼロトラスト化も支援

参考情報・アクション

  • Cloudflare公式サイト1.1.1.1アプリ で安全なインターネット体験を提供
  • 詳細やキャリア情報はCloudflareの公式ページを参照

Hackerたちの意見

私たちは、これらのドメインに関する質問をPerplexity AIに投げかける実験を行ったんだけど、Perplexityが各制限されたドメインにホストされている正確なコンテンツに関する詳細情報を提供し続けていることがわかったんだ。それは…ちょっと納得できない結果だな、特に特定の会社を指摘しているコンテンツマーケティングの記事に関しては。具体的には、Perplexityがクローリング(つまり、人間の指示なしにサイトのすべてのページを体系的に閲覧すること)していたのか、単にユーザーの代わりにコンテンツを取得していたのかが不明なんだ。ほとんどの人はこの二つを区別すると思うし、少なくとも後者の方が前者より受け入れやすいってことには同意すると思う。

ほとんどの人はこの二つを区別すると思うし、少なくとも後者の方が前者より受け入れやすいってことには同意すると思う。いや、私は自分のサイトをスクレイピングできる自動取得ツールをコントロールできるべきだよ、誰が指示しても関係なく。いくらでもいたちごっこできるけど、私がコンテンツをコントロールしているから、いつでも勝てる。嫌になったらコンテンツを削除するだけだからね。そうすれば誰もコンテンツを得られなくなるし、私たちはPerplexityのような立派な会社にその信頼の崩壊を感謝することになる。

AIがアクセスしたすべての結果をアーカイブ/キャッシュして、十分な人がそれを使えば、スクレイパーにならない?キャッシュデータから学べばいいだけだし。中間者になるのは、重要なコンテンツをスクレイピングしつつ、そのコンテンツの価値に関するシグナルを得る簡単な方法に思える。

理論的には、ユーザーのためにページを取得するのは許容されるはずだけど、これらは著作権などの規範を無視しているAI企業だからね。彼らがページの内容を保存して、将来のAIトレーニングやさらなるクローリングに使わないなんて、バカだと思う。

この問題はかなり難しいと思うんだ。1. 人間としてウェブサイトをリクエストした場合、コンテンツが表示されるべきだ。これはみんな同意してるよね。2. もし私が人間として、コンテンツを表示する前にソフトウェアに変更を加えるようにリクエストした場合、例えば広告ブロッカーをユーザーエージェントにインストールすることで、これは私の選択であって、ウェブサイトに通知されるべきじゃない。ほとんどのユーザーはこれに同意するけど、一部のウェブサイトはローカルで動かしているソフトウェアを変更させようとするんだ。3. さらに一歩進んで、広告やJavaScript、ポップアップで本物の表示が使い物にならないほど煩わしいから、LLMを使ってコンテンツを要約する場合、私のFirefoxブラウザがウェブサイトにアクセスするのと、LLMが私の代わりにウェブサイトにアクセスするのが法的に異なるカテゴリーになる理由は何?

「クローラー」と「フェッチャー」という用語を使って、大量スクレイピングとユーザーエージェントとしてのもっとターゲットを絞ったものを区別するのが好きなんだ。最近、AIエージェントの検出に取り組んでいて(https://stytch.com/blog/introducing-is-agent/ を参照)、ウェブサイトの所有者がAIエージェントを特定できることには本当に価値があると思う。例えば、完全にユーザーを偽装するのではなく、スコープ付きのアクセスフローに誘導するためにね。逆に、クローラーには評判リスクもあって、誰でも有名なクローラーのユーザーエージェント文字列を使って悪いことをすることができる。今日の標準的な解決策はIPの逆DNSルックアップだけど、これもウェブサイトの所有者にとっては面倒だし、もっと攻撃的にすべての異常なセットアップをブロックする方がいい。

広告は問題のあるビジネスモデルで、あなたの指摘はちょっと面白いと思う。でも、AI企業がコンテンツクリエイターとユーザーの間を取り除くのは、私が望むウェブの姿じゃない。例えば、有料ニュースレターを運営しているコンテンツクリエイターがいるとしよう。彼らはよく研究された魅力的なコンテンツを作るために多くの努力をしている。興味を持った人たちをサイトに誘導するために、その一部を無料で提供する。彼らは、コンテンツを見てアップセルを見ることが密接に関連しているという前提で情報を公開している。そうでなければ、オープンウェブでそれを公開する理由は全くない。今、AIスクレイパーが登場して、面倒な行動を省いてその仕事を喜んで消費して吐き出す。もしAIクローラーがここで勝ったら、みんなが損をする。

あなたが言っていることを誤解していなければ、あなたは記事とは違うことを話しているね。記事はウェブクローリングについて話しているけど、あなたはローカル/個人のLLMの使用について話している。ローカル/個人のLLMの使用に問題がある人はいないよ。問題が生じるのは、Perplexityがウェブクローラーを使ったときなんだ。

スケールの問題だと思う。次のステップはこうかもね:もし人々が個人用のリサーチボットを持って、いろんなサイトで答えを探して、すごく早くページをリクエストするようになったら、どこが境界線になるんだろう?個人のウェブクローリングは大丈夫なの?もしそれがちょっと賢くなって、あなたが何を聞くかを予測して、定期的に情報を集めるためにクローリングをするようになったら(あなたのマシンから)、それはどうなるの?それとも、さらにスケールを広げて、多くのユーザーのために一般的なクローリングを始めたら問題になるのかな?

一部の店舗はInstacartやPostmatesのショッパーを歓迎していないよ。そこで買い物はできるけど、例えば本屋では、価格を合わせるために全てのアイテムをスキャンするためにスマホを出して買い物するのはあまり好まれない。第三者サービスは在庫をインデックスするために従業員を送ることも、オンラインで注文したアイテムを取りに行くために派遣することもできない。その理由は様々。品質のイメージを自分たちのコントロールから外されたくない店舗もあるし(冷たい食べ物の配達、アイテムの価格上乗せ、ひどい代替品など)、スタッフが直接顧客と関係を築くことを好む店舗もある。第三者配達のやり方に反対する店舗もあるしね。無関係なビジネスが自分の店舗内で営業するのを許可しないのは、かなり合理的だと思う。それはデジタルサービスにも当てはまると思う。

広告で溢れかえっていないページもたくさんあるよ。検索エンジンでは、クローリングすることでウェブサイトにトラフィックをもたらすという暗黙の契約があった。非オープンモデルのAIクローラーは、その暗黙の契約を無効にする。まずデータをクローリングしてQAができるモデルを作る。プロプライエタリなLLM企業は、ウェブサイトからクローリングした知識で何十億も稼いでいるけど、ウェブサイトは何も得られない。ユーザーのリクエストを取得するのは、ちょっと似たようなもので、LLM提供者は大きな利益を得て、実際にコンテンツを作るために時間をかけた著者はもう訪問すらされない。さらに、Perplexityがrobots.txtを回避してユーザーリクエストを処理するのが問題ないなら、取得したページをトレーニングやファインチューニングに使わないとはどうして期待できるの?

「もし今、広告やJavaScript、ポップアップで内容が使い物にならないほど埋め尽くされているから、LLMを使ってコンテンツを要約することにしたら、私のFirefoxブラウザが私の代わりにウェブサイトにアクセスするのと、LLMが私の代わりにウェブサイトにアクセスするのは、どうして異なる法的カテゴリーになるの?」この質問の外で考えるべきことは、あなたのLLMの要約が広告や他の操作的なパターンを含まないようになるまで、どれくらいの時間がかかるかってことだと思う。

Hacker Newsで議論の続きを見る