首页 AI科技文章正文

Cloudflare 炮轰 Perplexity:隐形爬虫偷数据,公然违背君子协定

AI科技 2025年08月07日 05:44 0 admin

AI 搜索界的头号扛把子 Perplexity,这次恐怕惹上了大麻烦。

就在刚刚,全球最大的网络基础设施公司之一 Cloudflare 直接开麦狂喷,点名道姓地指责 Perplexity 存在严重的不端行为:

Perplexity 使用隐蔽、未声明的幽灵爬虫,刻意规避网站所有者设置的爬取禁令,近乎窃取式地抓取内容。

Cloudflare 炮轰 Perplexity:隐形爬虫偷数据,公然违背君子协定

这可不是一次简单的技术纠纷。事件的核心,触及了互联网赖以运转的基石——信任

在 AI 大模型时代,数据已成为新的石油,而这场围绕数据抓取的攻防战,正将内容创作者与 AI 公司之间脆弱的平衡推向崩溃边缘。

Cloudflare 不仅详细披露了抓包 Perplexity 恶意行为的全过程,还将 OpenAI 奉为正面典型进行对比,言辞之激烈,证据之确凿,实属罕见。

这背后,究竟是一场怎样的「猫鼠游戏」?Perplexity 是如何瞒天过海?Cloudflare 又是如何确认其恶意行为的?

抓包过程:Cloudflare 精心设计的一场钓鱼执法

一切始于 Cloudflare 客户的抱怨。

许多网站管理员反映,他们明明已经在网站的 robots.txt 文件中明确禁止了 Perplexity 的爬虫,甚至在 WAF 中添加了规则,指名道姓地要将 Perplexity 公开的两个官方爬虫 PerplexityBotPerplexity-User 拒之门外。

然而,怪事发生了:封禁规则显示成功拦截了 Perplexity 的官方爬虫,但网站的内容依然被 Perplexity 获取并呈现在其搜索结果中

Perplexity Bot 就像幽灵一样,穿透了层层防御。

为了弄清真相,Cloudflare 的安全团队决定亲自下场,设计了一场「钓鱼执法」般的实验。

第一步:搭建测试环境

他们注册了多个全新的域名,比如 testexample.comsecretexample.com

这些域名是全新的,从未在任何地方公开过,也未被任何搜索引擎索引。这确保了它们就像一张白纸,任何访问都极具指向性。

第二步:设置反爬虫规则

他们在这些网站的根目录下放置了 robots.txt 文件,这是互联网世界公认的「君子协定」,用来告知所有网络爬虫哪些内容可以访问,哪些不可以。

Cloudflare 炮轰 Perplexity:隐形爬虫偷数据,公然违背君子协定

Cloudflare 的设置极为严格:

User-agent: \*Disallow: /

这行代码的意思是:禁止所有爬虫 (User-agent: *),访问本站任何页面 (Disallow: /)。

这相当于在自家门口挂上了「谢绝一切访客」的公告牌。

第三步:设置第二道防线

除了通用的 robots.txt 协议,Cloudflare 还在 WAF 上加了一道保险,专门针对 Perplexity 的官方爬虫 PerplexityBotPerplexity-User 设置了拦截规则。

可以说,任何「行为良好」的爬虫看到 robots.txt 就应该自觉离开,即使有爬虫不守规矩,理论上 WAF 也应该能挡住 Perplexity 的官方爬虫。

然而,结果令人震惊。

Cloudflare 炮轰 Perplexity:隐形爬虫偷数据,公然违背君子协定

当 Cloudflare 的研究人员向 Perplexity AI 提问关于这些「秘密网站」内容的问题时,Perplexity 竟然给出了关于网站内部确切内容的详细信息

Cloudflare 炮轰 Perplexity:隐形爬虫偷数据,公然违背君子协定

这意味着,Perplexity 绕过了 robots.txt 和 WAF 的双重封锁,成功潜入了这些被明确禁止访问的网站。

「幽灵爬虫」的存在,被实锤了。

伪装身份打游击:揭秘 Perplexity 幽灵爬虫

那么,Perplexity 究竟是如何做到的?

Cloudflare 通过对网络流量的深入分析,揭开了这个「幽灵爬虫」的伪装。

第一步:伪装 User-Agent

当网站明确封禁 Perplexity 的官方爬虫后,一个新的爬虫出现了。它的 User-Agent (用户代理,相当于爬虫的身份证) 不再是官方声明的 Perplexity-User,而是伪装成了一个在 macOS 上使用 Google Chrome 浏览器的普通用户

我们来看一下两者的对比:

  • Perplexity 官方声明的爬虫 UA:Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +[https://perplexity.ai/perplexity-user](https://perplexity.ai/perplexity-user)) (明确包含了 Perplexity-User 标识)
  • 流量抓包到的隐身幽灵爬虫 UA: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 (看起来与一个真实的人类用户访问行为一模一样)

这摆明了就是蓄意的身份混淆和规避。它试图让自己混入正常的用户流量中,从而绕过针对特定机器人 User-Agent 的封锁。

Cloudflare 观察到,Perplexity 官方声明的爬虫每天发起约 2000-2500 万次请求,而这个隐身的爬虫,每天的请求量也高达 300-600 万次

第二步:更换 IP 地址和来源

更狡猾的是,这个幽灵爬虫使用的 IP 地址并不在 Perplexity 官方公布的 IP 地址列表内

这意味着,即使网站管理员将 Perplexity 公布的所有 IP 段全部封禁,也无法阻止这个幽灵爬虫的访问。

不仅如此,Cloudflare 还观察到,这个爬虫会不断轮换 IP 地址,甚至会切换不同的 ASN (自治系统编号,可以理解为大型网络服务商的标识)。这种「打游击」的策略,极大地增加了追踪和封禁的难度。

这种行为模式覆盖了数万个域名,每天产生数百万次请求。Cloudflare 最终通过机器学习和网络信号的组合,才成功地识别出 Perplexity 幽灵爬虫的行为特征:

Cloudflare 炮轰 Perplexity:隐形爬虫偷数据,公然违背君子协定

有了这套「数字指纹」,Cloudflare 就能精确屏蔽不守规矩的爬虫行为。

Perplexity 官方文档的免责声明

有趣的是,在 Perplexity 自己的爬虫说明文档中,对于 Perplexity-User 这个爬虫有这样一段描述:

「由于是用户请求的抓取,此抓取器通常会忽略 robots.txt 规则。」

Cloudflare 炮轰 Perplexity:隐形爬虫偷数据,公然违背君子协定

这句话本身就极具争议性。robots.txt 协议的核心就是网站所有者对其内容访问权的声明,难道「代表用户发起抓取」是否就能成为无视这一协议的理由吗?

答案显然是否定的。更何况,Perplexity 不仅是无视 robots.txt,更是在被明确封禁后,采用了更隐蔽的手段来继续访问,这性质就完全不同了。

如果 Perplexit 不是做贼心虚的话,又何必故意伪造 UA 和 IP,以绕过 WAF 呢?

互联网的君子协定:一个「好爬虫」是怎样炼成的?

为了让大家理解 Perplexity 的行为为何如此出格,我们需要了解一下互联网世界里,关于网络爬虫公认的「君子协定」。

网站站长们可以通过 robots.txt 来告诉访问站点的程序应该遵守什么样的行为规范。在良好的交互模式下,网站和爬虫各取所需,和平相处。

Cloudflare 炮轰 Perplexity:隐形爬虫偷数据,公然违背君子协定

robots.txt 尽管是「不具备强制约束力的君子协定」,但也被写入了如 RFC 9309 等技术标准草案中,是维持网络基本秩序的共识。

按照 Cloudflare 的《已验证机器人策略》,一个行为良好的爬虫应该做到:

  1. 透明: 诚实地表明自己的身份。使用唯一的 User-Agent,公布自己的 IP 地址范围,并提供联系方式,以便在出现问题时网站管理员可以联系到你。
  2. 行为得体: 不会用过度的流量冲击网站,不抓取敏感数据,更不会使用隐身策略来躲避检测
  3. 目的明确: 无论是为了搜索引擎索引、价格监控还是提升网站可访问性,每个爬虫都应有其明确、公开且易于查询的目的。
  4. 职责分离: 不同的任务使用不同的爬虫。这使得网站所有者可以轻松地决定允许哪些活动,而不是被迫做出「要么全盘接受,要么全部拒绝」的决定。
  5. 遵守规则: 这意味着必须检查并尊重 robots.txt 的指令,遵守网站的速率限制,并且绝不绕过安全保护措施。

按照这个标准,Perplexity 的行为显然在多个方面都踩了红线。

OpenAI 竟然是抓取数据的正面典型?

没有对比就没有伤害。为了进一步说明问题,Cloudflare 将 AI 领域的领头羊 OpenAI 作为了正面案例。

OpenAI 是如何做的呢?

首先,它在官方文档中清晰地列出了自己的爬虫及其用途

  • GPTBot: 用于训练其生成式 AI 模型。网站可以通过 robots.txt 禁止它,来表明不希望自己的内容被用于 AI 训练。
  • OAI-SearchBot: 用于 ChatGPT 的搜索功能,为搜索结果提供链接和摘要。它不会用于模型训练。
  • ChatGPT-User: 当用户在 ChatGPT 中要求访问某个网页时触发,代表用户执行操作

这种清晰的职责划分,让网站所有者可以做出精细化的控制。比如,你可以允许 OAI-SearchBot 来让你的网站出现在 ChatGPT 的搜索结果里,但同时禁止 GPTBot 来保护你的内容不被用于模型训练。

最关键的是,OpenAI 尊重规则

Cloudflare 用同样的「钓鱼执法」实验方法测试了 OpenAI 的爬虫。

  • robots.txt 文件设置为禁止访问时,ChatGPT-User 在读取了该文件后,便停止了后续的所有抓取尝试
  • 当移除 robots.txt 的禁令,但在 WAF 层面对 ChatGPT-User 进行拦截时,它同样在被拦截后停止了尝试,没有观察到任何来自其他 User-Agent 或第三方机器人的后续抓取行为

这两种表现,都符合网站所有者想看到的爬虫规范行为。

两相对比之下,Perplexity 的行为显得更加不合规矩。

AI 时代的数据之战:内容创作者的「独立日」

这次的「爬虫门」事件,并非孤立的技术摩擦,它是一个更宏大叙事的缩影:AI 时代,数据价值和内容所有权的重新洗牌。

就在一个月前,Cloudflare CEO Matthew Prince 发表了一篇名为《内容独立日》的博文,深刻剖析了当前互联网正在经历的巨变。

Cloudflare 炮轰 Perplexity:隐形爬虫偷数据,公然违背君子协定

他回顾了 30 年前,Google 创始人 Larry Page 和 Sergey Brin 如何定义了 Web 的商业模式。当时的模式是一个非常简单的交易:

内容创作者允许 Google 抓取其内容,作为回报,Google 为他们带去流量。

创作者可以通过广告、订阅服务或者仅仅是分享知识的满足感,从这些流量中获益。而这个模式让整个互联网生态得以繁荣。

但 AI 正在打破这个旧日契约。

无论是 Google 自己推出的 AI Overviews,还是 ChatGPT、Perplexity 这类新兴的 AI 产品,它们都倾向于直接给出综合、提炼后的答案,而不是将用户导向原始的内容来源

这意味着,AI 公司依旧在「免费」地使用着全网的内容来训练模型、生成答案,但内容创作者却再也无法像过去一样获得应有的流量回报。

Matthew 给出了一组惊人的数据:

  • 与旧版的 Google 相比,内容创作者从 OpenAI 获取等量流量的难度是前者的 750 倍
  • 从 Anthropic 获取等量流量的难度,更是高达 30,000 倍

Matthew 写道:

互联网正在被 AI 爬虫掠夺式地开采,而内容创作者几乎看不到任何流量,因此也几乎得不到任何价值。

这正是 Cloudflare 提出「内容独立日」倡议的背景。

他们主张改变默认规则,默认阻止 AI 爬虫,除非它们为所使用的内容向创作者付费

他们甚至提出了一个更具未来感的设想:建立一个内容交易市场。

在这个市场里,内容的价值不再由流量衡量,而是由其「知识贡献度」决定。Matthew 用了一个「瑞士奶酪」的比喻:

想象一个 AI 引擎的知识库就像一块瑞士奶酪,上面有许多孔洞。那些能够填补这些知识孔洞的、原创的、高质量的内容,其价值远高于那些重复性的、低价值的内容。

如果这个设想能够实现,或许能催生一个真正鼓励高质量内容创作的新黄金时代。

从这个宏大的背景再回看 Perplexity 的行为,就更能理解 Cloudflare 为何反应如此激烈,极其少见地公开点名批评。

因为 Perplexity 的「幽灵爬虫」不仅违反了技术层面的君子协定,更是在这个本已对内容创作者极不公平的时代,采取了更具侵略性的方式来攫取数据,这无疑是在火上浇油

互联网爬虫的猫鼠游戏

在曝光 Perplexit 行为的同时,Cloudflare 已经采取了行动。

他们已经将 Perplexity 从「已验证机器人」列表中除名,并更新了托管规则,将这个隐身的幽灵爬虫加入了 AI 爬虫拦截列表。

这意味着,所有 Cloudflare 的用户,包括免费用户,现在都可以一键阻止这种隐蔽的抓取行为。

对于 Perplexity 而言,这次的公开指控无疑是一次严重的品牌危机。

作为一家明星创业公司,其赖以生存的根基就是快速、准确地整合全网信息并提供答案。如果其获取信息的方式被广泛质疑为「不道德」,其产品的可信度和声誉将大打折扣。

截至目前,Perplexity 方面尚未对此事做出正式的公开回应。

但可以预见的是,这场围绕数据抓取的攻防战远未结束。正如 Cloudflare 在博文结尾所说:

一旦这篇文章发布,我们所观察到的行为几乎肯定会改变,而我们用以阻止它们的方法也将继续演进。

这注定是一场永无止境的「猫鼠游戏」。

AI 公司为了获取更多、更新的数据来提升模型能力,会不断尝试新的抓取技术和规避策略。而网站所有者和网络安全公司,则会不断升级防火墙和检测机制。

更重要的是,这起事件将迫使整个行业,包括监管机构、技术标准组织 (如 IETF) 和所有从业者,去更严肃地思考和定义 AI 时代的「数据游戏规则」。

robots.txt 这个诞生于 1994 年的古老协议,是否还需要进化?代表用户请求的数据抓取行为,其授权边界究竟在哪里?AI 公司获取公共数据用于商业目的,其合理合法的边界又在哪里?

Perplexity 的「幽灵爬虫」,揭开了生成式 AI 应用光鲜外表下的灰色地带。而它所引发的连锁反应,或许才刚刚开始。


本文参考来源:

  • Perplexity is using stealth, undeclared crawlers to evade website no-crawl directives
  • Perplexity Crawlers - Perplexity
  • Overview of OpenAI Crawlers - OpenAI API
  • Verified bots policy · Cloudflare bot solutions docs
  • Content Independence Day: no AI crawl without compensation!

发表评论

长征号 Copyright © 2013-2024 长征号. All Rights Reserved.  sitemap