Linux内核官网20%算力被AI爬虫吃掉

2026.09.08 09:23
Linux内核官方Git仓库git.kernel.org每天面临约600万次AI爬虫请求,其中仅2%为合法人类流量。爬虫以最笨的方式逐条渲染HTTP提交记录而非直接克隆,消耗了全站17%到20%的CPU算力。更棘手的是,当住宅代理SDK让智能电视变成爬虫节点,传统封锁策略彻底失效。开源社区正在为AI产业的训练数据饥渴默默纳税。

每天早晨,Konstantin Ryabitsev登录git.kernel.org的服务器监控面板时,总能看到那排紫红色的CPU占用率曲线。

14到16颗核心,占5个地理分布节点总计90颗CPU中的约17%到20%,永不停歇地做着同一件事:把Git提交记录渲染成HTML页面。

不是人类在看这些页面。是机器。

Ryabitsev是Linux基金会IT基础设施负责人,也是git.kernel.org的管理员。他在2026年9月初发表的题为《Creepy crawlies》的文章中,用一组数据直接摊开了问题的严重程度。截至发稿时,git.kernel.org每天要应对约600万次“请求查看随机提交记录”的HTTP请求。其中仅有约2%被判断为真实的、有人类意图的合法访问。剩下的98%,是AI训练爬虫在横扫一切能被扫到的数据。

而这只是开源世界遭遇的结构性困境的冰山一角。

最愚蠢的数据采集方式

Linux内核开发完全是公开透明的。任何人想拿走全部历史数据,只需要一条 git clone 命令。整个Linux内核邮件列表的二十年存档也是公开可克隆的Git仓库。

拜托,克隆一下就好,然后你就有全部历史了。

但爬虫不这么做。它们选择逐条访问cgit网页,把每一次提交渲染成HTML,再解析HTML来抽取数据。Ryabitsev称之为“所有可能的方法中最蠢的那种”。

为什么蠢?linux.git仓库约有148万次提交。git.kernel.org上还有大约922个该仓库的分支。虽然在存储后端这些分支共享相同的对象,效率极高。但在爬虫看来,“每一个分支的每一次提交”都是一条崭新的可抓取URL。算上补丁、纯文本渲染、任意提交间的差异比较,cgit能生成的可访问URL总数是“亿万级别”的。

爬虫正在以最笨的方式,扫荡922次完全相同的148万条提交记录。

算力军备竞赛:当PoW也挡不住

最初的防御很简单。翻日志,识别爬虫的User-Agent头,然后fail2ban封掉。

爬虫很快学聪明了,开始伪装成Chrome或Firefox用户。

然后管理员改为封禁IP。同样有效。一个来自Google Compute云服务的IP,“假装自己是Windows上的Firefox用户”,疯狂抓取一个8年前被遗弃的分支里的每次提交,这种行为的爬虫特征太明显了。封禁整个ASN(自治系统)也基本可行。

直到爬虫学会了分布式入侵。它们从数百万个随机的住宅IP和移动IP发起请求。每一个IP只发四到五个请求,然后永远消失。封IP毫无意义。等你认出它是爬虫,它已经完成使命走了。你只是在防火墙规则集里徒劳地堆积永不回头的IP地址。

它们像蝗虫群一样俯冲下来,又快又猛,直到系统撑不住倒掉,然后转向下一个目标,等你恢复后再回来。如此循环。

一年前,团队部署了Anubis,一套开源的Proof-of-Work验证防火墙。访问者必须先完成一道加密数学题:计算一个与自身IP和服务器密钥组合后能产生指定数量前导零的SHA256哈希值。对单个用户来说只是几秒等待,但对每秒发起上万个请求的爬虫来说,这会瞬间颠覆其经济模型。

最初效果立竿见影。爬虫干脆放弃了。团队享受了几个月的平静。

几个月后,爬虫回来了,成功解出了难度4。“没问题,”团队说,把难度提升到5。

难度5在手机上需要几秒钟才能算完,手机会发热。但人类用户还能忍受。这一调整又买来了几个月的安宁。

然后,爬虫开始解出难度5了。

截至文章发表时,在600万日请求中,66%被Anubis直接挡下。但33%已经能成功解出验证题并穿过防线。因为这些爬虫背后的运营商判断:git.kernel.org的数据“值得花费大量算力来计算Anubis挑战”。

不可能完全确定哪些是机器人哪些是真人。但如果一个请求是在寻找某个随机旧分支里的一次旧提交,那它“可能”不是真正的开发者在做正经工作。

你的电视可能正在帮人挖数据

事情变得更棘手,是因为爬虫网络的节点已经不只是云服务器了。

Bright Data,一家声称运营着1.5亿个住宅代理节点的数据聚合公司,正在通过其Bright SDK渗透智能电视应用程序。集成该SDK的应用可以向用户提供“无广告版”的选项,代价是让用户的电视成为代理网络的一个出口节点。

安全研究机构Spur的报告显示,在LG的webOS平台上,近半数应用都包含了住宅代理SDK。在三星Tizen平台上,Pac-Man游戏甚至提供了一个清晰的货币化选择:看广告,或者将电视的网络连接捐给网页数据采集网络。

大多数人对自己住宅IP地址被出售访问权这件事,并没有一个成型的心理模型。在电视上,认知差距更大:用遥控器按一次性的确认弹窗,很快就在设置流程中消失。而应用在你早已忘记曾经同意过什么之后,还在长期利用你的连接赚钱。

这意味着一个客厅里的LG电视,在运行屏保程序的同时,可能正在参与训练下一代GPT模型的数据采集工作。AI公司不需要自己建服务器来避开IP封禁。数百万台智能电视、手机和路由器已经组成了一个庞大的住宅代理网络,让爬虫看起来就像来自真实的家庭宽带连接。

开源社区的“损耗税”

git.kernel.org不是孤例。

据Cloudflare数据,其全球网络每日处理的AI爬虫请求已达500亿次,2024年AI爬虫流量增长了757%。其中训练爬虫占AI机器人流量的49.9%,仅有2.2%的AI机器人请求在响应真实用户的查询,其余全是原始数据抽取。2026年6月3日,Cloudflare CEO Matthew Prince分享的数据显示,自动化请求已占全球互联网HTML流量的57.5%。这是人类首次在互联网流量中沦为少数。

Ars Technica今年3月的报道记录了类似的故事。多个开源项目维护者反映AI爬虫已成为流量主力,被迫对某些国家实施全范围IP封锁。Codeberg、Forgejo等Git托管平台也部署了Anubis,结果差不多。爬虫正在逐步攻克更高级别的PoW挑战。

开源社区面临一个结构性的激励错配。

AI公司有巨大的经济激励去获取“纯净”的、未经AI污染的人类生成数据。Linux内核的整个Git历史恰好满足这个条件:完全由人类撰写,时间跨度超过20年,涵盖操作系统底层的每一个角落。对这些公司来说,数据是训练燃料,获取成本越低越好。

开源社区的激励则完全相反。基础设施维护者希望代码能被人类阅读、审查、改进,而不是被机器序列化地吞入黑箱。他们提供的免费克隆服务本意是知识共享的保障,不是方便爬虫的通道。

当一方愿意为数据付费,而另一方的成本却在持续增长且无法转嫁,这种不对等不断加剧。

我们现在没有被完全压垮。如果你访问git.kernel.org,它“大概”还是响应迅速、运行流畅的。真正搞垮我们的通常不是爬虫,而是糟糕的CI系统从20个不同节点同时做浅克隆这种蠢事。

但17%到20%的算力被爬虫永久占用,这已经是一笔“损耗税”。开源社区在为AI产业的训练数据需求持续买单。而且,只要智能电视、手机应用和路由器的厂商能从代理SDK中获得收入,就会有更多的消费者设备变成爬虫节点,让传统基于IP信誉的封锁策略彻底失效。

没有简单答案

在文章的最后,Ryabitsev坦承问题的棘手性。

会怎么解决?不清楚。

他给出了两种乐观情景。AI泡沫破裂,突然没那么多实体在训练模型了。或者,爬虫变聪明了,不再用最愚蠢的方式获取数据。

现实的做法更保守:关闭功能,减少可爬取的URL数量,对匿名访问设置更多关卡。Ryabitsev保证所有数据仍然可以完整下载,只是需要绕过更多障碍。

我们讨厌这样,你们也讨厌这样,但在这一点上,这是必须的。

值得一问的是,在这个问题上是否存在真正的技术解法。

Proof-of-Work曾经管用,直到算力成本被更大的经济回报覆盖。IP封锁曾经管用,直到住宅代理网络把每个家庭都变成潜在的爬虫节点。机器人协议(robots.txt)从未真正管用过,爬虫从一开始就没有义务遵守它。

也许真正有效的解法不在技术层面,而在法律和商业层面。明确要求爬虫标明身份、立法规定数据获取方式的合理性、让数据创造者从训练经济中获得收益分成。但这一切需要的时间,比爬虫生态扩张的速度慢得多。

在那之前,每一颗为爬虫运转的CPU核心,都是开源社区在替AI产业的繁荣默默缴纳的税。而你的电视,可能正在帮他们交这笔税。

作品声明:内容由AI生成