科技媒体 Linuxiac 昨日发布博文,报道称 Linux 内核项目的代码托管站点 git.kernel.org 正承受大规模自动化抓取压力,
在负载方面,Kernel.org 在全球分布 5 个分布式节点,配置 90 个 CPU 核心,其中 14 至 16 个核心始终忙于将 Git 提交转换为 HTML 以供爬虫抓取,维护方据此估算,爬虫相关渲染约占总计算能力 20%。
Linux 主仓库 linux.git 目前约有 148 万次提交。git.kernel.org 还托管约 922 个分叉仓库,尽管后端大量复用相同 Git 对象,但网页端仍可生成大量可访问链接。
除提交页面外,站点还提供补丁、纯文本版本及任意提交之间的差异对比。单个分叉仓库即可衍生海量 URL,多个分叉叠加后形成数十亿级别的潜在抓取地址。
维护方指出,这些数据本可通过 Git 直接克隆并在本地处理。部分爬虫却按提交逐页请求并解析 HTML,显著增加服务器的实时渲染负担。
项目早期通过识别 User-Agent、封禁可疑 IP 和网络段来拦截爬虫。随后,自动化请求开始伪装成普通浏览器,并分散到住宅和移动代理网络。
维护者称,部分代理 IP 仅发送 4 至 5 次请求便不再出现。这种分布式方式使维护方难以依靠持续封禁 IP 来降低流量。
Kernel.org 随后部署 Anubis,要求访问者完成 SHA-256 相关的工作量证明。爬虫起初放弃访问,但数月后开始通过难度 4 和难度 5 的挑战;难度 5 会让移动设备花费数秒计算,并带来更高能耗。
Anubis 可立即拦截约 66% 的相关请求,但约 33% 的请求仍能完成计算并抵达主站。在作出一系列宽松假设后,报告称合法请求仅约占 git.kernel.org 流量的 2%,其余都是抓取程序请求。










