
网络爬虫现状更新2025年初发表的文章《对抗 AI 爬虫机器人的肆虐》讨论了网站被广泛抓取以获取大语言模型及相关项目训练数据的问题此行为导致网站流量激增。文章发表一年多后问题仍在加剧神秘攻击者对网站的攻击达到新高度开放网络的维护愈发困难。那么这些流量从何而来又该如何应对呢住宅代理爬虫攻击来自网络中的大量源头几小时内数百万个唯一 IP 地址发起协调请求并不罕见每个 IP 地址最多访问网站两三次。攻击者控制的数据如用户代理字段完全是虚构的每次访问都试图伪装成普通用户使用浏览器的操作。虽有方法区分但等到确定是机器人时相关 IP 地址就不会再被使用了此时封锁该地址只是浪费时间。这些流量主要来自住宅和移动网络由中央指挥控制节点引导。普通系统上安装的软件会接收控制节点的指令按需获取网页并将结果数据转发回控制器。很多时候设备所有者对此一无所知也未给予同意这种被利用的系统被称为 住宅代理。运营住宅代理网络攻击网站的运营商至少表面上有几种不同类型。一类是纯粹的犯罪分子他们利用某种恶意软件入侵系统并运行爬虫程序。年初谷歌采取行动捣毁了一个名为 IPIDEA 的僵尸网络IPIDEA 的关闭使 LWN 的爬虫流量大幅减少有几个月情况相对平静但这段平静期已经结束。最近有报道指出媒体流媒体设备成为恶意爬虫软件的主要载体。有时设备从源头就被入侵有时则是安全防护不足事后容易被攻破。另一类运营商则更为明目张胆他们装作合法经营提供所谓 合规获取 的 IP 地址。Bright Data 就是这类公司中最知名的之一它公然宣传自己绕过网站访问控制和流量限制的能力。Bright Data 提供 免费 VPN 服务用户只需允许 Bright Data 通过其设备路由流量也就是成为该公司住宅代理网络的一部分。使用该 VPN 的每部手机或其他设备都会成为攻击网站的新端点。这类运营商还有很多例子他们常常提供一个库应用开发者可以将其集成到自己的应用中并因劫持用户网络连接而获得报酬。总体而言这些公司有的试图营造合法的表象比如宣传 符合 GDPR 规定有的则完全是明目张胆的不良行为。虽然这些住宅代理网络被用于网站抓取但值得强调的是这些运营商有能力运行代码访问数百万台设备所连接网络上的资源。认为这种访问仅用于抓取数据那简直太天真了。当然还有一些以开发模型为核心业务的知名公司。这些公司会自行进行抓取其流量在用户代理字段中很容易识别而且通常会遵守 robots.txt 等规则。它们也会反复抓取整个网站但不会像数百万台设备那样产生巨大的流量所以不是最大的问题。目前尚不清楚是谁在使用这些住宅代理肯定有人付钱让它们对网站发动攻击。没有证据表明前沿模型公司在使用这些网络。不过如果事实证明它们确实在使用全球的震惊程度可能也不会太高。这些公司以某种方式为其模型提供数据但对于如何获取训练数据却含糊其辞而且它们对内容创作者以及任何可能对其运营表示担忧的人都缺乏应有的尊重。然而每个公开的模型背后肯定有大量未公开的模型。许多公司肯定在尝试构建自己的模型许多国家的神秘政府机构可能也在研发自己的模型并四处寻找训练数据。大规模犯罪组织可能也想拥有自己的模型。这些工具被视为武器一场军备竞赛正在进行整个互联网都受到了影响。捍卫开放互联网面对这一切网站运营者一直在努力保护自己的网站同时尽量减少对真实用户的影响。Anubis 通过要求进行工作量证明来抵御爬虫现在已被广泛使用。其他网站则使用商业服务有时会出现一个 证明你是人 的按钮。还有些网站要求用户挑选包含路灯且仅限 LED 灯泡的方块、拼接拼图或按住空格键哼唱歌曲。许多网站功能被设置在登录门或付费墙之后。一些网站试图使用 iocaine 等工具主动向爬虫提供虚假数据。设置和维护这些机制的需求以及用户为访问网站而不得不应对这些机制的情况对整个世界来说都是爬虫及其背后金主强加的沉重负担。最近LWN 遭遇了迄今为止最严重的爬虫攻击。由于已经实施的防御措施网站承受住了流量冲击大多数真实读者可能甚至没有注意到。有人要求介绍为保护网站所采取的措施但出于明显的原因不想详细讨论。在这个层面上也是一场军备竞赛。已尽可能减少对真实读者的影响。没有采用 Anubis 等工具部分原因是它会给访问网站的用户带来恼人的延迟另一部分原因是爬虫最终很可能会绕过它。事实上已经有迹象表明这种情况正在发生。当有数百万人的设备可供使用时工作量证明要求并不是一个巨大的障碍。也希望不妨碍合法搜索引擎、互联网档案馆等组织的正常运作。一些网站可能会添加明确的白名单例如允许主流搜索引擎访问网站。但这种措施会进一步巩固已经表现不佳的垄断地位应该避免。到目前为止成功做到了这一点。积极优化了网站的部分功能并找到了在网站遭受攻击时减少高成本操作的方法。匿名读者偶尔可能会遇到这些措施而登录用户则不会。有趣的是网站在遭受攻击时的响应时间往往比平静时期更好因为那时防御措施处于休眠状态。不过深知问题并未解决必须考虑当前措施失效后下一步该怎么做。7 月 2 日谷歌宣布与美国联邦调查局等机构合作捣毁了一个名为 NetNut 的住宅代理网络。目前来看这一行动似乎确实在一定程度上减少了爬虫攻击的规模。但经验表明这种短暂的平静不会持续太久。谷歌特意指出其应用商店现在会检查是否存在感染 NetNut 的应用但所有主要应用商店提供商都对为何这类具有住宅代理功能的应用如此容易上架保持沉默。在整个互联网被防御墙包围失去激发无数创意的开放网络之前找到一个更持久的解决方案至关重要。推动这些攻击的行业似乎完全不在乎将独立网站洗劫一空后变成废墟这种态度也延伸到了地球和全球经济。但有些人反对这种做法并将为之抗争。希望有一天全世界能共同要求大语言模型及相关技术背后的公司遵守起码的道德标准。在此之前这种行为将继续存在只能保护自己。如何避免运行住宅代理尤其是在安卓手机上提问KJ7RRV订阅用户#153595如何避免无意中运行此类代理呢在台式机或笔记本电脑上只需检查是否有异常的网络使用情况即可而且我怀疑 Linux 机器不太会成为这些木马的目标更不用说大多数 Linux 用户主要或完全从发行版仓库获取软件。但对于使用智能手机以我为例是安卓系统上专有应用的用户来说监控网络使用情况并不总是那么容易有没有办法扫描已安装的应用中是否存在这些恶意 SDK 呢回答farnz订阅用户#17727如果使用的是 Google Play 服务可以开启 Play 保护功能并定期扫描这样能检测出谷歌发现的包含此类代理的应用。此外可以让安卓系统显示某个应用使用了多少移动数据方法是进入 设置然后选择 应用在单个应用的 应用信息 界面就能看到。如果怀疑某个应用可以禁用其 后台数据这样在应用未打开且使用移动网络时它就无法使用数据了。记得这也适用于设置为 按流量计费 的 Wi - Fi 网络但不敢保证。回答mirabilos订阅用户#84359有传言称 TEMU 应用包含此类代理。据所知当设备用户浏览其购物平台时该代理会在前台运行。请注意这只是传言。自己没有安装该应用也没有对其流量进行过嗅探。但这是最早听说现在所谓 住宅代理 通过 被植入木马 的应用传播的例子而且消息来源不止一个。相信 GAFAM 应用中的 链接获取器 偶尔也可能有类似情况。回答rgmoore✭ 支持者 ✭#75其他一些发帖者已经提到了如何在自己的系统上避免此类代理但我想指出个人行动不足以解决这个更广泛的问题。并不是想打击大家保持自己系统安全的积极性但仅仅鼓励每个拥有移动设备的人避免使用这些代理是无法彻底消除它们的。要取得实质性进展需要阻止大部分可用设备的访问而需要付出实际努力的自愿行动永远无法达到这样的参与度。这个问题需要在系统层面解决比如将这些应用从应用商店下架明确将此类行为定为非法并起诉违规者等而不是依靠单个用户。回答KJ7RRV订阅用户#153595感谢提醒我完全理解这一点也为我的评论可能给大家造成这主要是个人用户需要解决的问题的印象而道歉这绝对不是我的本意。我只是想确保自己不会无意中助长这个问题无论单个用户的影响有多小我并不是要求每个智能手机用户都去研究他们使用的每一个应用。回答duelafn订阅用户#52974我无法回答监控方面的问题但 NetGuard可在 F - Droid 或 Play 商店获取可以按应用阻止网络访问。我完全禁止了大约三分之一需要网络访问的应用的网络连接另外约三分之一的应用只有在屏幕开启时才能访问网络。这不是一个完美的解决方案但能增加一层保护。回答marcH订阅用户#57642对于那些很少使用但又不想反复卸载和重新安装最新版本可能不同的应用长按应用图标会出现一个 暂停应用 按钮。不过它莫名其妙地只能暂停应用一天。但还有另一个永久选项。长按应用图标 - 应用信息 - 屏幕使用时间可以将其设置为零它会一直保持为零。虽然它被称为 屏幕使用时间但似乎也能阻止后台使用希望有安卓开发者能证实这一点。当然这类建议只对技术人员有用对拯救开放网络作用不大。感谢你的努力继续加油——wtarreau订阅用户#51152乔恩你好我想我们很多人都完全了解这些机器人和代理给像 LWN 这样的网站带来的问题以及对抗它们的难度。至少我可以说我在这个网站上没有注意到任何异常从用户体验的角度来看你的措施很有效。感谢你的付出你说得对永远不要公开解释你所采取的应对措施。很多时候有些措施非常简单却很有效我 9 个月前部署的一些简单技巧原本以为只能管用一周现在仍然有效。而且这些措施通常非常针对特定网站很难应用到其他网站除了主要原则所以详细说明你的网站如何对抗这些攻击并没有太多可分享的。我注意到6 月 25 日流量下降了 50%我无法解释原因主要归因于用户代理 sleepbot7 月 2 日又下降了 30%。所以看起来这类网络正在逐渐被瓦解但考虑到受感染的浏览器以及毫无察觉的用户正等着另一个控制节点来接管它们它们可能很快会在其他地方重新出现。我必须承认我有点担心未来几年由于针对非人类的反制措施网络上大量合法内容的索引会丢失。如果网站无法通过搜索引擎被找到那将成为一个问题。这一切都是因为 AI 初创公司竞相训练自己的模型或变体。也许建立一个静态的互联网内容中央注册表会更有效这样的公司可以随意抓取这些内容而不会拖垮小型网站。不过要看到这样的事情发生可能还需要很长时间。回复daroc编辑#160859你提议的中央注册表在某种程度上已经存在即 Common Crawl。其理念是你为他们的项目贡献资源他们有一个爬虫程序以礼貌的方式遵守速率限制和 robots.txt下载网页内容然后任何有需求的人都可以使用这些抓取的内容而无需重新抓取。这种方法存在一些问题但当我在服务器日志中看到 Common Crawl 时我通常会感到很高兴因为我知道这意味着有很多不相关的项目不需要向我们发送多个请求了。回复wtarreau订阅用户#51152谢谢你提供的链接我之前不知道。我会尽量确保不屏蔽它在应用商店层面阻止此类问题很困难roc订阅用户#30627所有主要应用商店提供商都对为何具有住宅代理功能的应用如此容易上架保持沉默。谷歌的规则已经禁止未经用户授权的 住宅代理。但如果用户真正同意使用是否还应该禁止呢这是个难题。当然开发者可能会违反这些规则。问题是一般情况下仅通过检查代码很难判断它是否会违反这些规则。那么除了依靠用户举报然后事后关闭违规应用还有其他方法检测违规行为吗目前大致就是这样处理的虽然比什么都不做要好但仍然是治标不治本。rgmoore✭ 支持者 ✭#75谷歌的规则已经禁止未经用户授权的 住宅代理。但如果用户真正同意使用是否还应该禁止呢这是个难题。不不应该允许。禁止它们不仅是为了保护单个用户更是为了保护整个互联网免受其有害影响这不应由单个用户决定就像排放控制不应由单个司机决定一样。我还认为要让用户真正 同意他们应该有选择使用没有代理功能的同一应用的权利。如果开发者以接受代理为使用应用的条件那么这种同意至少在一定程度上是被迫的。Wol订阅用户#4433我还认为要让用户真正 同意他们应该有选择使用没有代理功能的同一应用的权利。如果开发者以接受代理为使用应用的条件那么这种同意至少在一定程度上是被迫的。他们有征求受害者的同意吗当然没有他们知道会被拒绝。假设我运营一个网站服务器。这种行为的目的就是绕过我阻止网站被爬虫进行 DoS 攻击的努力。无论在欧洲这是否构成犯罪其本质就是以我 知道或应该知道 会拒绝的方式攻击我的服务器。我很难想象这样的网络有什么用途是不违反英国《计算机欺诈与滥用法案》的。至于该法案能否得到执行则是另一回事但同意让自己的计算机用于此类用途根据 准备实施……犯罪 的相关规定也可能构成犯罪。祝好Wolroc订阅用户#30627那些主张 我应该能够在自己的设备上运行任何代码 的人肯定会反对。IP 封锁不应作为身份验证或授权手段——quotemstr订阅用户#45331在整个互联网被防御墙包围之前找到更持久的解决方案。事实上很大程度上互联网已经是这样了。你有没有尝试从一个不知名的住宅或终端用户 VPN IP 块之外浏览互联网很多网站一开始就会封锁访问或者设置大量 点击交通灯 之类的验证关卡几乎等同于封锁。住宅 VPN 确实常常存在不良行为但它们也是对互联网大量使用路由表来替代人类验证的一种可以理解的反应。你无法彻底杜绝它们总会有人愿意用家庭带宽换取一些小利益。除非完全杜绝通用计算否则无法阻止这种情况而我想没人希望这样。我们需要的是一种开放协议通过它网络客户端可以在零知识的情况下提供交互式人类证明以抵抗克隆和女巫攻击。我相信最近在 zkVM 和远程证明方面的进展使这样的协议成为可能。如果有了这样的协议住宅 VPN 将不再特殊不良行为的动机也将消失。人类验证可以从烦人的中间验证步骤转变为自动的协议交换因为我们可以在不牺牲隐私的前提下从硬件端到端验证最近的人类交互。网站运营商原则上可以为非交互式访问许可创建一个市场例如通过匿名的总量控制与交易机制在避免仅对白名单中的某个存档或搜索引擎拥有的 IP 块进行授权而强化垄断的同时自然地对访问进行限速。交互式用户如果不设置机器人来操作输入设备或自己进行繁琐的链接点击就无法将自己的交互权限出售以获取利益。通道和硬件绑定将减轻代理攻击而且同样是匿名进行。远程证明不一定会成为隐私噩梦它甚至可以保护隐私这样的方案也与自由软件操作系统兼容因为输入证明可以直接传递。你只需远程证明同一个 TPM 生成了输入证明和 TLS 会话密钥即可。Linux 可以很好地驱动这些硬件。像这样保护隐私的协议在过去几年才变得切实可行很遗憾我们还没有开始探索它们的潜力。另一种选择是类似 Cloudflare 货币化网关的方案它虽然能实现类似的目标但缺乏隐私保护和民主性。如果 Cloudflare 成为事实上的互联网守门人那将是一个比拥有开放证明生态系统更糟糕的世界。UI 自动化对无障碍访问至关重要DemiMarie订阅用户#164188无障碍访问工具通过自动化用户交互来工作。事实上Windows 的一个无障碍访问框架就叫做 Microsoft UI Automation。除非设置一个无障碍访问工具白名单否则无法使用硬件证明来防止自动化用户操作。可以做的是将其与用户身份关联从而对滥用用户进行限速或封禁。quotemstr订阅用户#45331除非设置一个无障碍访问工具白名单。无障碍访问工具只是将一种用户输入形式转换为另一种它们不会凭空产生交互操作。它们可以传递基于原始输入的证明。此外你真正要证明的是物理人类的存在有多种方法可以做到这一点使用经过证明的输入标记只是其中一种。可以将其与用户身份关联。要求每个人都具备身份可追溯性远比为少数用户的无障碍访问工具增加复杂性要糟糕得多。Anubis 在这里似乎不再有效了koverstreet订阅用户#4296我开始看到大量 AI 爬虫疯狂攻击我所有的 Git 端点它们轻松绕过了 Anubis 检查似乎至少有一些爬虫使用了能够完成工作量证明的完整浏览器。真糟糕。所以我又开始定期运行一个脚本从 Nginx 日志中提取攻击 IP 地址然后用 Iptables 进行封锁。joey访客#328我得出的结论是在网上维护一个完整的公共 Gitweb 或 cgit 之类的服务已经没有意义了。有几页内容对用户有价值比如最新的提交日志和当前的文件树以及我在博客文章中特别链接到的提交记录。但深入探索整个 Git 历史的功能价值不大总体而言其价值已经变为负数。有兴趣的用户可以自己克隆仓库并使用自己的工具进行操作。LWN 的邮件列表存档可能也有类似的价值分布。koverstreet订阅用户#4296我经常使用 cgit我的用户也经常浏览它所以这里的情况很糟糕。现实地说解决方案需要在 Web 服务器中内置某种限速机制一个更高效、带有缓存功能的 cgit 实现会有很大帮助。我在 Git 性能方面遇到了很多问题我希望现在它们开始在核心代码库中使用 Rust 能让性能优化工作更容易一些。不过想到又要进行更多的系统管理工作我实在提不起劲。而且如果太多 Git 仓库的 Web 访问被关闭我想 AI 公司会转而进行无缓存的链式克隆。它们的所作所为真的很反社会。danielbaumann订阅用户#38804我开始使用基本认证设置一个 虚拟 的用户名和密码并写在网页上。这对于非经常访问、首次访问或一次性访问的人类用户来说有些意外和不便但目前还管用。koverstreet订阅用户#4296哈哈这种猫捉老鼠的游戏越来越失控了。简单传输非常高效——DemiMarie订阅用户#164188简单传输只需要一个静态文件服务器这意味着除非出于某种原因需要大量带宽否则在服务器端它的效率要高得多。鱼与熊掌兼得——marcH订阅用户#57642谷歌特意指出其应用商店现在会检查是否存在感染 NetNut 的应用但所有主要应用商店提供商都对为何具有住宅代理功能的应用如此容易上架保持沉默。有趣的是互联网上最近对 安卓开发者验证 的变化反应强烈。总结起来就是在应用商店上随意发布内容太容易了。然而在应用商店上随意发布内容变得越来越难了这是不是因为安全工作极其困难呢这里所说的安全是指在不打扰诚实用户的前提下即低安全 摩擦阻止和捕获坏人。在无边界的互联网世界里这就更难了。令人惊讶的是这一切居然还能正常运转。事后看来也许这只是一场短暂的奇迹……我们这些经历过那个时代的人真是幸运