黑产伪装成AI爬虫偷密钥!不少企业踩了配置大坑

admin 2026-09-10 04:52:15 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 攻击者伪造6种AI爬虫UA扫描网站窃取密钥凭据,利用企业WAF仅验证UA不验证IP的配置漏洞绕过防护。识别判据包括IP地址不匹配、不请求robots.txt、HTTP指纹单一。建议安全团队加强IP验证、监控敏感文件请求、升级Vite版本并轮换暴露密钥。 综合评分: 88 文章分类: 威胁情报,安全运营,WEB安全,安全建设,漏洞预警


黑产伪装成AI爬虫偷密钥!不少企业踩了配置大坑

原创

0x00 0x00

随笔漫记安全路

2026年9月8日 08:34 北京

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

GreyNoise在2026年7月28日到8月23日的网络噪声数据中,发现一组824个IP地址伪造了6个AI爬虫的User-Agent,扫描网站窃取密钥和凭据。

6个被伪造的AI爬虫名称涉及4家公司:Anthropic(ClaudeBot)、OpenAI(GPTBot)、Google(Google-Extended)、Perplexity(PerplexityBot)。

攻击者发送的ClaudeBot UA字符串与Anthropic官方的字符级完全匹配——任何基于UA的规则都无法区分真假。


怎么知道是伪造的

GreyNoise用了三个判据:

判据一:IP地址不匹配

四家AI公司都公布了各自爬虫使用的IP地址段。GreyNoise把824个IP逐个比对这些列表——没有一个匹配。同一时间窗口内,真正来自Anthropic公布IP段的ClaudeBot流量有数千个会话,都是正常的。

824个IP分布在795个不同的/24网络中——无法通过封单个网段来阻断。

判据二:行为不像爬虫

真正的爬虫首先请求/robots.txt——这是爬虫的标配行为。Anthropic真实爬虫在同期数据中,/robots.txt是请求最多的路径,占12%流量。

6个伪造爬虫名称的流量中,/robots.txt的请求次数:

它们请求的是:.env.production.aws/credentials、私钥文件、密码存储文件。请求数量达百万级。

判据三:HTTP指纹单一

824个IP虽然分散在795个/24网络,但它们共享同一个HTTP客户端指纹(JA4H)。过去90天内这个指纹携带过超过1500种不同的UA字符串——说明这是一个扫描工具在批量轮换UA。


攻击模式

攻击者的扫描目标:

| 请求路径 | 目标 | | — | — | | /.env.production | 数据库密码、API Token、应用密钥 | | /.aws/credentials | AWS访问密钥 | | 私钥文件 | SSH密钥、SSL私钥 | | 密码存储文件 | 密码管理器数据 | | Vite相关路径 | CVE-2025-30208任意文件读取 |

没有一个合法的AI爬虫会请求这些文件。真正的ClaudeBot在同期数据中从未请求过任何凭据文件。

攻击者还伪造了两个Amazon爬虫名称(Amazonbot),但UA字符串与Amazon官方文档不一致——连抄都没抄对。另外Google-Extended根本不是一个HTTP User-Agent(Google官方文档明确说它没有单独的UA字符串,只是robots.txt里的一个标记),所以所有263,849个携带Google-Extended UA的会话全是伪造的。


为什么这能成功

问题出在企业WAF/访问控制配置上。

很多企业为了让AI爬虫能抓取自己的公开内容,在WAF规则里放行了GPTBot、ClaudeBot等UA。但只检查UA不验证IP来源——User-Agent是客户端发送的HTTP头,任何人都能改成任何值。

攻击者把UA改成ClaudeBot,WAF认为是AI爬虫放行,然后攻击者开始扫描.env.aws/credentials

User-Agent不是身份认证机制。它是客户端自报家门的标签。


GreyNoise的防护建议

对安全运营团队:

  1. 永远不要把UA字符串当作身份认证依据——检查连接IP是否在AI公司公布的地址段内
  2. 对任何请求/.env/.aws/credentials、私钥文件的流量告警——没有合法爬虫需要这些
  3. 一个从不请求/robots.txt的”爬虫”不是爬虫——跨天判断而非单次访问

对安全负责人:

  1. 找出所有”基于UA放行”的规则,后面加一个IP验证
  2. 给每个AI厂商的IP地址列表指定负责人和定期更新计划——过期列表会把真爬虫变成告警

对Web管理员:

  1. .env和云凭据文件移出web根目录
  2. 轮换任何曾经通过web路径可达的云密钥——假设能被读的都已经被读了
  3. 升级Vite到6.2.3/6.1.2/6.0.12/5.4.15/4.5.10(CVE-2025-30208)

AI公司公布的爬虫IP地址列表(可用来做验证):

  • Anthropic:claude.com/crawling/bots.json
  • OpenAI:openai.com/gptbot.json
  • Google:developers.google.com/static/crawling/ipranges/common-crawlers.json
  • Perplexity:perplexity.ai/perplexitybot.json
  • Amazon:developer.amazon.com/amazonbot/ip-addresses/

参考链接

  • GreyNoise报告原文:greynoise.io/blog/threat-actors-posing-as-ai-crawlers
  • 824个IP完整列表:GreyNoise客户可通过报告获取
  • AI爬虫IP验证列表:各厂商公开URL见上文

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:随笔漫记安全路 0x00 0x00《黑产伪装成AI爬虫偷密钥!不少企业踩了配置大坑》

评论:0   参与:  0