Hacker News 中文摘要

RSS订阅

守护我的Git仓库免受AI爬虫侵扰 -- Guarding My Git Forge Against AI Scrapers

文章摘要

作者发现自己的Git代码托管平台遭遇大量AI爬虫疯狂抓取,导致网站响应缓慢。文章记录了这次大规模爬虫攻击带来的实际问题,以及作者为减轻损害采取的措施。作者指出,2025年网络上的所有人类创作内容都面临被窃取用于训练AI模型的风险。

文章总结

《守护我的Git代码托管平台免受AI爬虫侵扰》

作者:VulpineCitrus
发布日期:2025年12月2日
原文链接:https://vulpinecitrus.info/blog/guarding-git-forge-ai-scrapers/

核心内容:

一、问题发现 2024年8月,作者发现自托管的Forgejo平台响应异常缓慢,经排查发现日均承受数十万次来自数千个独立IP的随机页面请求。这些爬虫主要针对代码仓库中的提交记录、文件差异和代码追溯(git blame)等可生成海量页面的功能。

二、爬虫危害 1. 资源消耗: - 服务器功耗从150W激增至200W,年电费增加约60欧元 - 虚拟机CPU使用率长期99%+(正常值4%),内存占用从1.5GiB飙升至2.5GiB - 网络出口带宽持续占用32Mbps

  1. 数据规模示例:
  • Linux内核仓库(138万次提交)可生成3242亿个可爬取页面
  • 单日最高记录47,252个独立IP访问

三、防御措施演进 1. 反向代理缓存(失败): - Nginx缓存配置因爬虫极少重复请求相同资源而失效 - 认证页面显示异常

  1. 手动IP限速:
  • 对华为云、阿里云等ASN实施3次/秒请求限制
  • 误伤正常用户访问体验
  1. Iocaine垃圾生成系统:
  • 分类器识别特征:
    • 伪造浏览器UA(占2-3 QPS)
    • 商业爬虫(110次/分钟)
    • AI公司爬虫(Claude/OpenAI占15 QPS)
  • 运行效果:
    • 日均拦截3.39GB恶意流量
    • 服务器功耗回落至160W

四、深度发现 1. 攻击波特征: - 每3小时出现持续1.5小时的攻击波 - 主要来自Datacamp、GTT等五家服务商的代理IP

  1. 行业观察:
  • 96.7%的流量被识别为爬虫
  • AI公司通过"技术缝合"UA规避检测
  • 作者采用激进命名策略(如liberate_palestine)触发商业AI内容过滤器

五、技术配置要点 1. Nginx关键配置: nginx limit_req_zone $binary_remote_addr zone=bots:30m rate=1r/s; location /deflagration { proxy_pass http://iocaine_upstream; }

  1. Iocaine分类规则:
  • 集成ipinfo ASN数据库
  • 加载ai.robots.txt公开黑名单
  • 启用商业爬虫/大厂爬机检测

六、社会反思 作者指出当前网络环境已沦为"人类创造力工业化收割"的战场,科技公司通过代理网络将自托管服务置于持续的资源消耗战中。文中特别强调,商业AI工具的内容过滤机制实际上创造了"无菌数据集",永远无法真正复现人类思想的复杂性和革命性。

评论总结

以下是评论内容的总结,平衡呈现不同观点并保留关键引用:

  1. AI爬虫的资源消耗问题

    • 多位用户指出AI爬虫导致高带宽和电力消耗(~60欧元/年)
    • 引用:"the difference in power usage caused by scraping costs us ~60 euros a year" (pabs3)
    • 引用:"cut my VPS's bandwidth usage by 95%" (mappu)
  2. 防御措施建议

    • 技术方案:登录验证(REQUIRESIGNINVIEW)、地理封锁、JA3/JA4指纹检测
    • 引用:"REQUIRESIGNINVIEW=expensive completely stopped AI traffic" (mappu)
    • 引用:"Geoblocking is the best first step" (FabCH)
  3. 对网络中立性的讨论

    • 争议:是否应该允许自由爬取公开内容
    • 引用:"the web should be free, scraping public content should be allowed" (hurturue)
    • 引用:"require scrapers to pay for network usage" (hurturue)
  4. 替代方案

    • 使用静态站点(stagit)或私有网络(VPN/Tailscale)
    • 引用:"Use stagit, static pages served with a simple nginx" (zoobab)
    • 引用:"My personal services are only accessible via a VPN" (wrxd)
  5. 对网络环境的悲观看法

    • 多位用户表达对当前网络环境的不满
    • 引用:"The web is filled with crap, bots that pretend to be real people" (krupan)
    • 引用:"Self-hosting anything...is a battle of attrition" (PeterStuer)
  6. 非常规应对建议

    • 包括提供有毒数据、法律手段等
    • 引用:"generate insecure code...toxic waste" (xyzal)
    • 引用:"non-human readers will be billed at $1 per page" (frogperson)

关键数据点: - 某用户通过防御措施将日访问量从60万降至1000 (kstrauser) - 反向代理统计显示96.7%请求来自机器人 (krupan)