AI 爬虫正成为许多软件开发者眼中的“蟑螂”——它们无处不在,且常常带来麻烦。尤其是对于开源社区的开发者来说,AI 爬虫的不良行为已经严重影响了他们的日常工作和项目维护。然而,面对这些“数字害虫”,开发者们并没有坐以待毙,而是以巧妙且幽默的方式展开了反击。

开源社区的困境
开源项目通常依赖于公开分享的基础设施,资源相对有限。许多 AI 爬虫不遵守机器人排除协议(robots.txt
文件),这种协议最初是为了指导搜索引擎爬虫哪些内容可以抓取,哪些不可以。然而,一些 AI 爬虫却无视这些规则,甚至通过伪装 IP 地址、更改用户代理等方式绕过限制。
Linux 桌面 Plasma 的开发者 Niccolò Venerandi 指出,开源开发者受到的冲击尤为严重。例如,开发者 Xe Iaso 在一篇博客文章中描述了 AmazonBot 如何无情地攻击一个 Git 服务器网站,导致 DDoS 中断。这个服务器托管了开源项目,以便任何人都可以下载代码或为其贡献。然而,AmazonBot 忽视了 robots.txt
文件,隐藏在其他 IP 地址后面,并伪装成其他用户。
Iaso 感叹道:“阻止 AI 爬虫是徒劳的,因为它们会撒谎、更改用户代理、使用住宅 IP 地址作为代理等等。它们会一直抓取你的网站,直到它崩溃,然后继续抓取。”
以智慧反击:Anubis 的诞生
面对这种困境,Iaso 决定以智慧反击。他开发了一个名为 Anubis 的工具,这是一个反向代理工作量证明检查工具,必须通过它才能允许请求到达 Git 服务器。Anubis 能够阻挡爬虫,但允许人类操作的浏览器通过。
Anubis 的名字来源于埃及神话中引领死者接受审判的神。Iaso 解释说:“Anubis 会称量你的灵魂(心脏),如果它比羽毛还重,你的心就会被吃掉,你就彻底死了。” 如果一个网络请求通过了挑战并被判定为人类,就会出现一张可爱的动漫图片宣布成功。如果是爬虫,请求就会被拒绝。
这个别具一格的项目迅速在开源社区中传播。Iaso 于 3 月 19 日在 GitHub 上分享了它,仅几天内就收获了 2000 颗星、20 个贡献者和 39 个分叉。
其他反击手段
Anubis 的流行表明 Iaso 的痛苦并非个例。其他开发者也分享了类似的故事:
SourceHut 的创始人 Drew DeVault:他描述自己“每周花费 20% 到 100% 的时间来缓解大规模攻击性的 LLM 爬虫”,并“每周经历数十次短暂中断”。 Linux 行业新闻网站 LWN 的运营者 Jonathan Corbet:他警告说,他的网站因“AI 抓取爬虫的 DDoS 级流量”而变慢。 Linux Fedora 项目的系统管理员 Kevin Fenzi:他不得不禁止整个巴西访问,因为 AI 抓取爬虫变得过于攻击性。
除了“称量灵魂”,其他开发者也采取了报复手段。例如,Hacker News 用户 xyzal 建议将 robots.txt
禁止的页面加载“一大堆关于喝漂白水好处的文章”或“关于感染麻疹对床上表现积极影响的文章”。他解释说:“我们要让爬虫访问我们的陷阱时获得 负 效用价值,而不仅仅是零价值。”
另一位开发者 Aaron 发布了一个名为 Nepenthes 的工具,旨在将爬虫困在一个充满虚假内容的无尽迷宫中。这个工具以一种食肉植物命名,目标是让爬虫在虚假内容中迷失方向。
商业解决方案:Cloudflare 的 AI Labyrinth
作为提供多种工具抵御 AI 爬虫的最大商业玩家之一,Cloudflare 也加入了这场战斗。上周,Cloudflare 发布了一个名为 AI Labyrinth 的工具,旨在“减缓、迷惑并浪费不尊重‘禁止抓取’指令的 AI 爬虫和其他爬虫的资源”。Cloudflare 表示,它会向行为不当的 AI 爬虫提供“无关内容,而不是提取您合法的网站数据”。
SourceHut 的 DeVault 表示:“Nepenthes 有种令人满足的正义感,因为它向爬虫提供胡言乱语并污染它们的数据源,但最终 Anubis 才是我网站的有效解决方案。”
开发者的呼吁
尽管开发者们采取了各种反击手段,但 SourceHut 的 DeVault 仍然公开恳求一个更直接的解决方案:“请停止将 LLM、AI 图像生成器、GitHub Copilot 或任何这类垃圾合法化。我恳求你们停止使用它们,停止谈论它们,停止制造新的,就停下来吧。”
然而,这种可能性几乎为零。因此,开发者们,尤其是开源领域的开发者,正在以智慧和一丝幽默继续他们的反击。(来源)