打开网易新闻 查看精彩图片

2024年,一个GitHub项目的Star数从0涨到8000,不是靠功能多炫酷,而是因为它让AI公司的服务器账单开始燃烧。

这个项目叫Anubis,名字取自埃及死神。开发者用了一个20年前的老技术——工作量证明(Proof-of-Work),把网站防爬战从"猫鼠游戏"变成了"算力对赌"。

1. 为什么正经网站开始"挖矿"防身

1. 为什么正经网站开始"挖矿"防身

AI爬虫的破坏力被严重低估。Cloudflare 2024年报告显示,全球40%的互联网流量来自机器人,其中"善意爬虫"(搜索引擎索引)占比不足15%。剩下的,大部分是AI公司训练大模型的数据采集器。

这些爬虫的共同点:不讲武德。它们会同时开上千个连接,无视robots.txt,把服务器CPU压到100%,直接导致正常用户无法访问。某独立博客作者记录,一次未防护的爬虫攻击让他的VPS在3小时内产生47美元流量费——相当于平时半个月的开销。

Anubis的解法很粗暴:想访问页面?先算一道哈希题。单个用户耗时不到0.3秒,但爬虫如果并行开1000个线程,算力成本会指数级膨胀。开发者Eevee在README里写得很直白:"这不是为了挡住所有人,是为了让大规模爬取变得不划算。"

工作量证明在这里不是区块链噱头,而是精确的成本杠杆。

2. Hashcash复活:一个被垃圾邮件逼出来的老方案

2. Hashcash复活:一个被垃圾邮件逼出来的老方案

1997年,密码学家Adam Back提出Hashcash,初衷是解决邮件垃圾问题。核心逻辑:发邮件前,你的电脑先花几秒算一道题,把结果附在邮件头里。正常用户发几封邮件无感,但垃圾邮件发送者要发百万级邮件,算力成本直接爆炸。

Hashcash没能在邮件领域普及——Gmail选择了更粗暴的机器学习过滤。但27年后,它的精神继承者Anubis在Web防护领域找到了位置。

打开网易新闻 查看精彩图片

技术实现上,Anubis用WebAssembly在浏览器端跑SHA-256计算。用户访问被保护的网站时,页面会弹出一个"正在验证"的提示,后台默默完成约20万次哈希迭代。现代笔记本耗时50-200毫秒,老旧手机可能到1秒,但仍在可接受范围。

真正的杀招在经济学层面。假设某AI公司要爬取100万页面,原本的成本主要是带宽和存储;加入Anubis后,需要先完成100万次工作量证明。按AWS p3.2xlarge实例的算力成本估算,这部分新增支出可能让单次爬取成本从200美元跳到9400美元——47倍的差距。

3. "临时方案"背后的长期博弈

3. "临时方案"背后的长期博弈

Anubis开发者承认这是"hack"(权宜之计)。真正的防线在更深处:通过字体渲染、Canvas指纹、WebGL行为等特征,识别出无头浏览器(Headless Browser)——AI爬虫的主流形态。

这像极了冷战时期的军备竞赛。爬虫方不断升级伪装:用真实Chrome内核、模拟鼠标轨迹、甚至接入第三方打码平台解决验证码。防御方则在收集"人类行为"的细粒度特征:你滚动页面的加速度曲线,鼠标悬停时的微抖动,字体抗锯齿的像素级差异。

「最终目标是让合法用户无感知通过,而机器需要付出不成比例的成本。」Anubis维护者在Issue区回复用户提问时写道。

但这场博弈有个尴尬的第三方:隐私工具用户。JShelter、NoScript等浏览器插件会阻断Anubis所需的JavaScript执行,导致正常用户被误拦。项目文档不得不专门提示:"请为本站禁用JShelter"——一个反追踪工具,在反爬虫战场成了 collateral damage(附带损伤)。

4. 没有JavaScript的互联网正在消失

4. 没有JavaScript的互联网正在消失

Anubis的README里有句话被很多人忽略:"无JS方案正在开发中。"这句话的潜台词是:在当前技术条件下,没有JavaScript就无法区分人类和机器。

这指向一个更深层的变化。早期的Web是文档的互联,HTML足以承载一切。现在的Web是应用的互联,JavaScript是运行时的基础设施。当AI爬虫可以完美解析HTML、CSS,甚至执行基础JS时,"人机验证"被迫上移到了更复杂的执行层。

打开网易新闻 查看精彩图片

对普通用户的影响是实实在在的。2024年,W3C的Web无障碍倡议组织收到多份投诉,称这类防护机制对使用屏幕阅读器的视障用户不友好。Anubis团队回应称正在优化ARIA标签支持,但优先级低于"挡住当前这波爬虫潮"。

技术债务在转移:AI公司省下的数据标注成本,正在变成全社会的验证负担。

5. 当每个网站都成为收费站

5. 当每个网站都成为收费站

Anubis不是孤例。Cloudflare的Turnstile、Google的reCAPTCHA v3、甚至Cloudflare的"托管质询"页面,都在做类似的事:用某种成本不对称,过滤掉机器流量。区别在于,Anubis是开源的、自托管的、不需要把用户数据交给第三方。

这契合了2024年的一种情绪:平台不信任。开发者宁愿自己维护一套防爬系统,也不愿意把访问日志送给Google分析。Anubis的Docker镜像下载量在三个月内突破50万次,其中相当一部分来自欧洲的独立站长——GDPR合规压力下,他们比任何时候都更在意数据主权。

但自托管意味着责任自担。GitHub Issues区里,最常见的求助是"配置后网站变慢了"或"移动端验证失败"。没有SLA(服务等级协议),没有7×24客服,只有一份还在完善的文档和志愿者的碎片时间。

「我们是在用90年代的互联网精神,解决2020年代的平台问题。」一位贡献者在讨论区写道。

回到那个核心问题:Anubis能赢吗?

技术层面,工作量证明只是延迟了爬虫的适应速度。已经有用户在测试用WebGPU并行计算,把验证时间压缩到原来的1/20。经济层面,AI公司的算力预算仍在膨胀,9400美元的爬取成本对OpenAI或Anthropic可能只是 rounding error(舍入误差)。

但Anubis的真正价值或许不在技术本身,而在它示范了一种姿态:网站运营者开始拒绝默认承担AI训练的外部性成本。当足够多的站点部署类似机制,AI公司的数据获取策略将被迫调整——从野蛮抓取,转向授权协议和合成数据。

那个"无JS方案"的承诺,至今仍在开发中。而依赖屏幕阅读器的用户、使用隐私插件的访客、以及所有相信Web应该对机器和人类同等开放的人,正在等待一个答案:当验证成为基础设施,谁有权定义"合法访问"的门槛?