- Published on
爬虫如今来自数百万个家庭 IP — residential proxy 与开源基础设施的消耗战
- Authors

- Name
- Youngju Kim
- @fjvbn20031
引言 — IP 不再是身份的那一天
2026年7月10日,LWN 的 Jonathan Corbet 发布了一篇爬虫现状的更新。这是2025年初那篇文章的续篇,而其结论之平淡反倒更显沉重 — 问题非但没有解决,反而持续扩大,LWN 最近还遭受了有观测记录以来最猛烈的一次爬虫攻击。
只要运营过哪怕一点点公开基础设施的人,都会觉得这事并非与己无关。无论是 git 服务器、wiki、文档站点还是个人博客,如今全都是目标。而我们用了十年的防御定式 — 用 IP 做限流、拦截可疑的 user-agent、按地域过滤 — 几乎全都失灵了。原因是两个因素叠加在一起:residential proxy 打破了"IP = 身份"这一前提,而 AI 爬虫的淘金热又填满了这份需求。本文诚实地剖析为什么封禁在结构上注定失败,以及那些防御手段无一例外都在向开放式网络征税这一事实。
residential proxy 为什么封不掉
先来看看攻击的形态。Corbet 报告的最近这次攻击是这样的。
一次攻击中观测到的情况 (LWN 报告, 2026-07-10)
- 数小时内数百万个不同的 IP 地址
- 每个 IP 最多只敲击站点两三次
- 机器人通常不加载图片和 CSS (这是非人类的信号)
- 但等你察觉到这一点时,那个 IP 已经不再出现
这里的关键在于,每一个 IP 都是真实的家庭线路。residential proxy 是安装在普通人设备 — 手机、机顶盒、路由器 — 上的软件,它接收中央控制节点的指令,代为抓取页面并把结果返回。设备的主人大多并不知情。
供给来源大致有两个。一个是犯罪型僵尸网络,即被恶意软件感染的设备,其中流媒体播放设备被点名为主要的传播媒介。另一个是"接近合法"的运营商。Corbet 举出其中最突出的例子 Bright Data — 它公然宣传自己绕过访问控制和流量限制的能力,并以提供"免费"VPN 为交换,换取通过用户设备转发流量的权限。还有一些没被点名的运营商,会把 SDK 塞给应用开发者,以转售用户网络连接为对价向他们付费。
所以封禁不起作用。每一个请求都带着伪装得像模像样的 user-agent,从真实的住宅地址发来。等你把它作为机器人的指纹识别出来时,那个 IP 早已"退役"。IP 信誉、限流、地域封禁全都建立在"IP 身份是稳定的"这一假设之上,而这个假设已经崩塌。执法打击一时有用 — Google 年初端掉了 IPIDEA,7月2日又联合 FBI 等机构捣毁了 NetNut,每一次 LWN 的流量都会短暂减少。但几个月后,攻击又卷土重来。这是打地鼠。
AI 爬虫最先冲击的是开源基础设施
有一点需要坦白说明。LWN 文章的正文大体上是 LWN 自己的运营经验。不过,最先、也最猛烈地承受这波冲击的是开源基础设施,而最著名的防御工具也正是在那里诞生的。
这个工具就是 Anubis。Xe Iaso 在2025年初,因为 Amazon 的爬虫无视 robots.txt 肆意践踏自己的 git 服务器而做了它。它是一个 MIT 许可的反向代理,是一名门卫 — 访客的浏览器必须解出 SHA-256 工作量证明谜题,才会把页面交出去。此后,Linux 内核邮件列表归档、SourceHut、FFmpeg、Wine、GNOME 的 GitLab 等 git 仓库和 FOSS 项目相继采用了它。
为什么偏偏是 git 仓库呢。blame、diff、每个提交的 blob 这类动态端点,每次请求的计算开销都很高。一个把每个文件的每个提交都遍历一遍的爬虫,本身就是一种病态的负载。何况自托管的开源项目根本没有预算购买 Cloudflare Enterprise。所以一道轻量的工作量证明之墙就成了合理的选择。
问题在于,这是一场军备竞赛。Codeberg 在2025年年中就已报告,相当多的机器人已经学会了如何解开 Anubis 的挑战。LWN 文章下的一条读者评论也说了同样的话 — AI 爬虫一边敲击 git 端点,一边就那么通过了 Anubis 的检查,其中一部分似乎在使用真正的完整浏览器。工作量证明抬高了廉价机器人的成本,但资金充裕的爬虫干脆直接跑一个真正的浏览器。
防御手段及其代价
把 Corbet 大致列举的防御手段整理一下,就是下面这样。没有哪一种是免费的。
| 防御 | 工作方式 | 代价 |
|---|---|---|
| 工作量证明 (Anubis) | 浏览器解出 SHA-256 谜题才提供页面 | 正常用户也会延迟,完整浏览器爬虫可绕过 |
| CAPTCHA | 证明自己是人类 (找红绿灯、哼唱歌曲) | 人类的负担不断加重 |
| 登录·付费墙 | 阻断匿名访问 | 亲手放弃公开网络的开放性 |
| 数据投毒 (iocaine) | 给爬虫喂损坏的数据 | 维护负担、误判风险 |
| 优化·限流 | 减少昂贵计算并分离匿名与登录 | 并非根本封堵,需要持续修补 |
CAPTCHA 这一侧的层层加码令人无奈。Corbet 一一列举了找红绿灯、拼图块拼合,甚至还有按住空格键哼唱歌曲这样的生物特征挑战。这意味着机器人越聪明,压在人类身上的负担就越重。而 LWN 自己反倒决定不用 Anubis。Corbet 的理由有两个:它会给正常访客带来恼人的延迟,而且爬虫最终会绕过它看起来是"必然"。作为替代,LWN 积极优化站点、削减昂贵的计算,并对匿名用户和登录用户区别对待。一个诚实而讽刺的结果 — 据说在遭受攻击期间,其响应时间往往比平时反而更快。
但根本代价会以三层的形式残留下来。第一,是向所有人征收的税。运营者必须搭建并维护这套装置,用户则必须忍受摩擦。第二,是连带伤害。防御设得越强,连正常的搜索引擎和 Internet Archive 都会一并被拦下。可如果只把巨头搜索引擎放进白名单,那么正如 Corbet 所说,只会进一步巩固那个本就没能好好服务我们的垄断。第三,一切防御都是一时的。哪怕今天有效,也必须从现在起就思考它失效之后的事。
结语
这里没有干净利落的胜利。residential proxy 打碎了"IP 即身份"这一古老的前提,AI 淘金热又在其上叠加了无穷的需求,而所有对策都是把开放式网络的一部分变成护城河的交易。所以 Corbet 的担忧并非夸张 — 整个互联网退缩到"防御墙之后"的风险,是真实存在的。
对于运营公开基础设施的人来说,留下的实际教训是这样的。请假定基于 IP 的防御已经死亡。请把摩擦成本纳入预算。并且请接受这不是一个待解决的问题,而是一场不断滚动的军备竞赛。诚实的应对不是依赖魔法之墙,而是把它设计成能够优雅降级 — 就像廉价的端点、缓存、匿名与登录的干净分离那样。墙迟早会被攻破。与其如此,不如把它建成即使被攻破也依然屹立的样子。