AIエンジンを提供するのPerplexityがスクレイピングを明示的に禁止しているWebサイトからコンテンツを収集し続けているようだ。同社はWebサイトのrobots.txtファイルによる指示を無視し、自身の身元を隠蔽してクローリング活動の継続しているという。

偽装クローラーに切り替えてアクセスを継続

PerplexityがWebサイトの設定を回避し、ネットワークブロックを受けた際にクローリングの身元を隠蔽しているとのこと。具体的には、ボットの「ユーザーエージェント」(デバイスやバージョンタイプを識別する信号)を変更し、さらに自律システム番号(ASN)も変更することで、大規模ネットワーク上での識別を回避している。

通常、Perplexityは「Perplexity-User」という名前で身元を明かしたクローラーでWebサイトにアクセスしているが(1日2000万~2500万件のリクエスト)、このクローラーがWebサイトによってブロックされると、今度は一般的なMacユーザーがChromeブラウザを使っているかのように装った偽装クローラーに切り替えてアクセスを継続していることが判明した。

偽装クローラーによるアクセスは1日300万~600万件にも及ぶという。この偽装手法により、まるで普通の人間がブラウザでWebサイトを閲覧しているかのように見せかけ、サイトの制限を回避しようとしていた。これらは8月4日にCloudflareが発表した調査結果によるものだ。

Cloudflareが独自に検証

Cloudflareは公式ブログで「この活動は数万のドメインにわたって観測され、1日あたり数百万件のリクエストが発生していた。われわれは機械学習とネットワーク信号の組み合わせを使用してこのクローラーをフィンガープリンティングすることができた」と報告している。

Cloudflareは独自の実証実験を行い、新規ドメインを複数作成してボットがWebサイトのどの部分にもアクセスできないようにするrobots.txtファイルを設置。これらのサイトは検索エンジンによるインデックス化も行われておらず、一般には発見できない状態だった。

しかし、これらの制限されたドメインについてPerplexity AIに質問したところ、Perplexityは依然として各制限ドメインでホストされている正確なコンテンツに関する詳細情報を提供していたという。さらに、Perplexityがrobots.txtファイルの存在すら確認していない場合があり。これはRFC9309で定めるWebクローリングの規範に反する行為だと指摘。

なお、Cloudflareは同様の実験をOpenAIのChatGPTでも実施したが、その結果は大きく異なっていた。「ChatGPT-Userはrobotsファイルを取得し、アクセスが禁止されている場合はクローリングを停止した。他のユーザーエージェントやサードパーティボットからのフォローアップクロールは観測されなかった」と報告している。

Cloudflareは今回の発見を受け、Perplexityのボットを検証済みリストから削除し、Perplexityが用いるステルス・クローラーをブロックする新しい技術を追加したと記している。