文章总结: 攻击者伪造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的防护建议
对安全运营团队:
- 永远不要把UA字符串当作身份认证依据——检查连接IP是否在AI公司公布的地址段内
- 对任何请求
/.env、/.aws/credentials、私钥文件的流量告警——没有合法爬虫需要这些 - 一个从不请求
/robots.txt的”爬虫”不是爬虫——跨天判断而非单次访问
对安全负责人:
- 找出所有”基于UA放行”的规则,后面加一个IP验证
- 给每个AI厂商的IP地址列表指定负责人和定期更新计划——过期列表会把真爬虫变成告警
对Web管理员:
- 把
.env和云凭据文件移出web根目录 - 轮换任何曾经通过web路径可达的云密钥——假设能被读的都已经被读了
- 升级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爬虫偷密钥!不少企业踩了配置大坑》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









![[工具推荐]基于mitmproxy/mitmdump的被动流量安全检测工具-FlowLens](/images/random/titlepic/4.jpg)
评论