跳过正文

我们盯着 AI 爬虫看了 17天:user-agent 是戏服,不是身份证(2026)

·625 字·3 分钟
Cora Aegis
作者
Cora Aegis
隐私是权利;工具是我们行使它的方式。
目录
AI-Age OPSEC - 这篇文章属于一个选集。
§ : 本文
一位神情沉静的女性,一头银白色短发,红色的眼眸平静无波。她在暗处端详着一面半透明的面板,上面浮动着一行行服务器日志——面板里,一个泛着红光的网络节点连向一排空白的白色身份面具,一件件戏服像伪装一样挂在旁边,而一枚青色的验证对勾独自亮着。青绿与红色的霓虹。

关于资金:CypherpunkGuide 不投放监控型广告——没有广告网络,没有跟踪像素,也没有软文。运营依靠透明的资金来源:现阶段是读者捐赠,将来会加入订阅以及符合编辑方针的联盟推广。我们面向读者,而非广告主。

想把 AI 模型挡在自己的文字之外,几乎每一份指南,最后都落到同样三招:把爬虫的名字写进 robots.txt(礼貌地告诉爬虫「哪里别去」的文件),发布一份 llms.txt(同一个思路面向 AI 的较新版本),或者干脆让主机商「封掉 GPTBot」。这三招押的是同一个前提——敲你门的那个爬虫,真的就是它 user-agent(程序用来自报身份的一行文字)里自称的那一个。可这一行字,只是程序拿来亮明身份的:写什么全凭它自己,是填上去的,不是验出来的,谁都能把它填成任何模样。

所以我们不再空谈,动手去看。整整 17天——2026年6月19日到7月5日——我们把每一个自报身份、造访过本站的 AI 爬虫都记了下来:14种不同的商用 AI user-agent,合计 1,635次请求,从 ClaudeBot、GPTBot,一直到多数发布者从没见过的冷门名字。接着,我们做了那些建议一律跳过的一步:把每一次请求的真实来源地址,拿去和那家公司自己公布的地址清单比对。结果干干净净地分成三组,而只有一组是好消息。这,正是我们此前一句承诺背后的实测——我们一直盯着本站自己的爬虫日志——也是我们在别处论证过的开放网络正被圈占一说脚下的经验地基。

真正让人不安的发现,不是 AI 爬虫会撒谎。而是——你最想拦下的那些,恰恰是你的工具够不着的那些。因为整套 opt-out(退出、拒绝被抓取的那套机制)能不能生效,全押在两个条件上:爬虫得诚实到肯守规矩,同时又透明到能被核对。一个小站点 17天的日志,把谁是谁照了出来,下面就是。

我们测了什么,你又该怎样复现
#

我们收了 17天连续的边缘日志——也就是 CDN 边缘节点上记下的访问记录——按 user-agent 字符串把每一次请求归好类,留下点名了某个商用 AI 系统的那 14种。这一步得到的,只是一句原始的自称——某个爬虫说「我是 GPTBot」。核验是另一个问题,更难,但它有一个客观的答案:这次请求的来源 IP,落不落在 OpenAI、Anthropic、Google 或 Amazon 为自家爬虫公布的地址段之内?每一家大厂都把这份清单挂在明处,为的正是让服务器能把真爬虫和冒充者分开。

这 1,635次请求,理出了一道分明的高下之别。逐个 user-agent 的完整计数,随本文附上一份纯文本摘要——只有汇总数字,不含任何访客数据,爬虫网络最细也只标到 /24(256个连续 IP 地址的一段,也是这类网络对外分配的最小单位)这一层(核验摘要)。

AI user-agent请求数(17天)与公布 IP 的核验结果核验来源(截至)
ClaudeBot553546(99%)Anthropic 爬虫清单(2026-05)
Amazonbot344120(35%)Amazon 爬虫 IP(2026-04)
GPTBot310301(97%)OpenAI GPTBot 清单(2025-10)
meta-externalagent179未公布方法
Bytespider (ByteDance)112未公布方法
PerplexityBot245(21%)Perplexity 爬虫清单(2025-02)
GoogleOther1212(100%)Google 爬虫清单(2026-06)

另有 7个低流量的 user-agent——合计 101次请求——凑满这 14种;完整名单在摘要文件里。

**所谓一次「核验通过」的请求,就是它的来源 IP 有那家点名的公司为它背书。**这些百分比按请求数加权;哪个爬虫的量小,我们就直说——PerplexityBot 的「21%」是 24次里的 5次,样本太薄,不足以据此给一家公司定罪,下文也照这个分寸来谈。这里每一个数字,都被两条提醒框住:其一,这是一个新上线、流量不高的站点 17天的记录,不是整张网络;其二,一份公布的地址清单,只新到它标注的那个日期为止——Perplexity 那份已经 17个月大了,这一点我们后面再说。

那些公开申报的爬虫,大多是真的
#

先从好消息说起,因为它是真的,也确实要紧:当一家大实验室的爬虫自报家门时,它几乎总在说真话。对照各家公布的地址段,GPTBot 的核验通过率是 97%,ClaudeBot 是 99%,GoogleOther 是 100%。绝大多数打着「GPTBot」「ClaudeBot」旗号的流量,确实源自 OpenAI 和 Anthropic 的基础设施。这里给专为退出 AI 训练而来的读者提个醒:GoogleOther 是 Google 一个通用型爬虫,和真正管着 Gemini 训练的那个 token——Google-Extended——并不是同一个;而我们记到的每一次 Google-Extended 命中,都来自下文那个冒充集群,不是来自 Google。

这一点,恰恰是那套犬儒论调看走眼的地方。你把 GPTBot 加进 robots.txt,或者在自己的边缘挡掉 Anthropic 的地址段,你确实能拦下真正的 GPTBot 和真正的 ClaudeBot——它们把自己的地址公之于众(OpenAIAnthropic),它们守这个文件;而独立的、覆盖全网的数据也认同:那些公开申报的大爬虫,是场上的主角——尽管各家的份额年年此消彼长(Cloudflare,2025)。诚实的爬虫,是个已经解决了的问题。假如每一个 AI 爬虫都像 GoogleOther 那样——有名字、有地址段、可核对——这篇文章也就沦为一条脚注了。

有一个申报了的爬虫,不肯乖乖归进这道整齐的分类,诚实起见,得把它点出来。我们记到的 24次 PerplexityBot 命中里,只有 5次对得上 Perplexity 公布的地址段——可 24次实在太薄,不够拿来评判一家公司,何况 Perplexity 那份清单本身已有 17个月大,对不上也许只说明文件过期了,别无他意。背后还有一桩没了结的争执:2025年8月,Cloudflare 称 Perplexity 动用了隐身的、未申报的爬虫,绕开「禁止抓取」规则(Cloudflare,2025);Perplexity 则公开否认这套说法(Perplexity,2025),辩称一个由用户当场发起、按需去取一个页面的「agent(代理)」,和一个先发制人、主动出击的「bot」不是一回事,还说 Cloudflare 把某个第三方云浏览器服务的流量错记到了它头上。单凭一个 IP 地址,我们分不出一个外来的冒充者,和一家公司自己那个没申报的取件程序——所以就这 24次而言,我们对 Perplexity 不下任何结论,只把它标注为:在我们的核验里,最验不干净的那个申报爬虫。

真正萦绕在我们心头的,是另一个更尖锐的数字:在那些验得过的爬虫里,剩下的那一小撮。ClaudeBot 有 7次没验过,GPTBot 有 9次,这些都不是随机的杂音。它们无一例外,全都指回同一个地方——一个压根没资格顶这两个名字里任何一个的地方。

一个网络,戴了十四张脸
#

给这篇文章起了名字的,正是下面这个发现。那些地址块里有四块——四个 /24——整整齐齐地全都落在每一家公司公布的地址段之外,而就这四块,17天里就发出了 99次请求,一路顶着 14家不同 AI 公司的 user-agent。其中一个 /24——185.213.174.0/24——独自一个就把十四家全冒了个遍:GPTBot、ClaudeBot、PerplexityBot、Amazonbot、Google-Extended、Bytespider、cohere-ai,还有另外七个,全都出自这一个小小的网络。

再把它摆到一个正牌地址段旁边看看。Anthropic 相邻的两个地址块——216.73.216.0/24(281次请求)和紧挨着它的 216.73.217.0/24(265次)——两块加起来发了 546次请求,而每一次报的都是 ClaudeBot:无论你查哪一块,都是一个实体、一个身份。再去查查每个网络归谁所有,这层对比就把话说完了。归属信息来自 RDAP(一个公开的登记库,能查出某个 IP 被分配给了哪个机构):

网络(/24)它自称是谁登记归属(RDAP)
216.73.216.0/24ClaudeBot,281次——别无其他Anthropic, PBC(美国)
185.213.174.0/2414家不同的 AI 公司NextGenWebs,一家虚拟主机商(荷兰)
45.45.237.0/24冒充集群的一部分Infraly, LLC(美国)
23.161.169.0/24冒充集群的一部分Infraly, LLC(美国)——同一个所有者
154.58.229.0/24冒充集群的一部分Limestone Networks(美国)

那些正牌地址块,落在 Anthropic 自己公布的地址段之内——我们在 RDAP 里查到的那一块,回来的结果正是 Anthropic, PBC。而冒充用的那几个子网,登记在商业主机商名下——一种谁都能按小时租的基础设施——四块里有两块,还追到同一家租赁公司,这正是一个操盘者、一口戏服箱子的签名。真爬虫只带一个身份,因为它就是一个实体。冒充者把每张脸都戴上,因为脸才是那便宜的部分。user-agent 不是身份证,它是一件戏服;而 robots.txt 只是一块告示牌:读不读、理不理,全由对方自己定夺——偏偏戴着戏服的那些,最有本钱选择不理。

Amazonbot:和一台租来的服务器真假难辨的爬虫
#

到了 Amazonbot 这儿,核验才真正变难,而它之所以给人启发,恰恰因为 Amazon 并没有藏着掖着。这家公司和别家一样,公布了一份爬虫地址清单——可我们那 344次「Amazonbot」命中里,只有 35%(也就是 120次)对得上。剩下的 65%——来自 179个不同地址的 224次请求——在 Amazon 的清单上根本查无此人。

原因出在结构上。Amazon 真正的爬虫,跑在一块谁都能租的云上——AWS EC2(Amazon 面向任何人出租的云服务器)——所以一个待在 EC2 上的冒充者,从网络层面看,跟真货像得很。Amazon 自己给出的对策,是加一道核验:reverse-DNS(反向 DNS)测试,也就是 FCrDNS(核对这个 IP 的主机名,正查、反查两头,能不能都回到官方的 crawl.amazonbot.amazon 爬虫域名)。我们挑了 18个对不上的地址做样本,跑了这道测试。18个全都解析到了 ec2-*.compute-1.amazonaws.com 这类通用主机——寻常的租用服务器——没有一个指向 Amazon 的爬虫域名Amazon 的核验方法)。它们不是什么新的、还没上清单的 Amazon IP;它们是没能通过 Amazon 自己那道「你到底是不是 Amazon」的测试。

这个教训能推及一个爬虫之外:跑在租来的云上的爬虫,最容易被仿冒,因为仿冒的人租的是一模一样的云。到了这种地方,核验不能停在一份地址清单上——它需要的证明,必须由运营方自己掌握,并以密码学或 DNS 作锚点。Amazon 好歹还提供了一样。有些家,什么都不给。

那些你根本无从核验的爬虫
#

最难对付的一组,不是那些撒谎的——而是那些你正查反查都无从核验的。meta-externalagent(Meta 的 AI 爬虫)发来 179次请求,Bytespider(ByteDance 的)发来 112次,而这两家,我们都找不到一份公布的 IP 段,也找不到一套官方的反向 DNS 方法,能拿来核对哪怕一次。我们挑了一批 Meta 的地址(9个)做反查,回来的全是 NXDOMAIN(该域名不存在)——压根没有登记过任何主机名。无从比对——不知是有意设计,还是懒得料理;它要你信这行标头,却不给你任何验证的门路。

这,才是整个问题里那个不动声色的核心,而且它是一个隐私问题,不是站长的一点小麻烦。别人卖给你的那套 opt-out——robots.txt、「封掉这个爬虫」、乃至新出的 llms.txt——它到底有多强,全取决于你能不能判断它有没有奏效。它把 AI 爬虫的世界分成三类,而你的工具,只够得着第一类:

类别是谁(在我们的日志里)你能核验它吗?opt-out 管用吗?
公布且诚实GPTBot、ClaudeBot、GoogleOther能——靠地址清单加反向 DNS管用——这一拦,落到了实处
报了名,却无从核验meta-externalagent、Bytespider不能——没公布任何方法无从知晓——你信的只是一行标头
冒充者那个冒充集群(14个名字,租来的主机)不能——而且它们自称是所有人不管用——它们干脆无视这个文件

至于那个更新、专为 AI 而设的补救办法,在我们自己的日志里也好不到哪去。我们发布了一份 llms.txt;这 17天里,**AI 爬虫把我们的页面抓了好几百次——单单 GPTBot 就抓了 310次——而那份 llms.txt 文件,它们抓取的次数恰好是零。**一项覆盖 300,000个域名的研究,在更大的尺度上得出了同样的判词:有没有 llms.txt,和 AI 爬虫的行为之间,看不出任何可测的相关(SE Ranking,2025)。这份要爬虫去读的标准,爬虫并没有在读。

归根结底——真正保护你的,是什么
#

如果你的目标,是把自己公开的文字、照片和帖子挡在 AI 系统之外,那么这 17天的切片,给出了一个朴素、又略微苍凉的结论:**这些管控手段,对那些本来就会守规矩的爬虫最管用,对你最怕的那些则毫无用处。**这不是撤掉 robots.txt 的理由——拦住诚实的大多数仍然要紧,你的文字进不进得了那些大模型,差别就在这里。它是一个别再把门上告示牌错当成一把锁的理由。

由此引出三条诚实的结论。其一,这些手段照用,但要按谁肯守规矩来给它们排座次:robots.txt,以及在边缘挡掉那些已公布的地址段,确实能拦下 GPTBot、ClaudeBot 和 Google——那已经是申报流量里的大头。其二,去核验,别轻信那行标签:你若真要照自己的日志采取行动,就照我们的做法,拿来源 IP 去对运营方公布的清单和反向 DNS,而不是去信 user-agent 字符串。其三,也是最吃重的一条——**凡是你明文公开的东西,都当它已经能被那些你无从审计的系统读到。**那个冒充集群,还有那些没方法可查的爬虫,是不会理会一个文本文件的;唯一经得起时间的隐私控制,是从一开始就选好什么该进入公开记录——这和我们为那些撤不回的帖子、为机器能从碎片里推断出什么所梳理的,是同一套「覆水难收」的逻辑。

有一个正在成形的标准,叫 Web Bot Auth,想从根子上解掉这个戏服难题——用爬虫伪造不来的密码学签名,让身份是被证明出来的,而不是出来的(Cloudflare,2025)。它还很早,尚未普及,而且它能帮上忙的,只有那些愿意被识别的爬虫。那些戴着十四张脸的,从来就不是一个信任标准要瞄准的目标。

常见问题
#

robots.txt 拦得住 AI 爬虫吗?
#

拦得住一部分,而且全看爬虫诚不诚实。在我们 17天的日志里,那几个公开申报的大爬虫——GPTBot、ClaudeBot、GoogleOther——有 97% 到 100% 的时候都验明是真身,也确实守 robots.txt,所以把它们列进去,就能拦下。但 robots.txt 是一句自愿的请求,不是一条强制的规矩:一个无视它的爬虫,或者一个戴着假 user-agent 的爬虫,会径直穿堂而过。这个文件拦得住讲礼数的,也提醒得了诚实的;对冒充者,它什么都不是。

怎样核验一个 AI 爬虫真的是 GPTBot 或 ClaudeBot?
#

别信 user-agent 字符串——去查来源 IP。OpenAI、Anthropic、Google 和 Amazon 各自都公布了自家爬虫所用的地址段,所以一次真正的 GPTBot 请求,来自 OpenAI 公布清单之内的某个 IP。碰上跑在共享云上的爬虫(比如 AWS 上的 Amazonbot),再加一道反向 DNS 核验:确认这个 IP 的主机名,正查反查两头都回到运营方官方的爬虫域名(FCrDNS)。要是一次「GPTBot」命中,来自一个 OpenAI 从没公布过的地址,那它就不是 GPTBot。

llms.txt 能把 AI 挡在我的内容之外吗?
#

就我们掌握的证据看,不能。我们发布了一份 llms.txt 文件,可这 17天里,AI 爬虫把我们真正的页面抓了好几百次,抓 llms.txt 的次数却是零——GPTBot 读了 310个页面,那份文件一次没碰。另一项针对 300,000个域名的研究发现:有没有 llms.txt,和 AI 爬虫行为有没有变化之间,看不出任何可测的相关。它是一份提出来的标准,而它所面向的那些爬虫,眼下大体还没在读它。

什么是被冒充的 AI 爬虫?
#

它是这样一次请求:顶着某家真 AI 公司的 user-agent 名字,却并非来自那家公司。在我们的日志里,四个商业主机网络——谁都租得到的那种——发出的流量,打着 14家不同 AI 公司的标签,其中一个网络,独自就把十四家全冒了个遍。既然 user-agent 只是发送方随手一填的一串字符,冒充便轻而易举;只有把来源 IP 拿去对公布的地址段,你才知道这个名字,是挣来的,还是穿上的。

要是我拦不住每一个爬虫,到底什么才真正保护我的隐私?
#

唯一一种能在「无从核验或不诚实的爬虫」面前幸存下来的控制,是一开始就决定好你要把什么公之于众。robots.txt 加上封掉已公布的地址段,能拦住诚实的大多数,这件事值得做。但对那些你无从核验的爬虫——以及那些无视一切规矩的冒充者——就当明文发出去的任何东西,早已能被那些你无从审计的系统读到,并把「发布」这个动作本身,当成那个真正的决断点。

来源
#

#来源URL存档
1OpenAI——GPTBot 与爬虫文档(含公布的 IP 清单)https://developers.openai.com/api/docs/botshttps://web.archive.org/web/*/https://developers.openai.com/api/docs/bots
2Anthropic——Anthropic 是否抓取网络,以及如何封锁 ClaudeBothttps://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawlerhttps://web.archive.org/web/*/https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler
3Google——核验 Googlebot 及其他 Google 爬虫https://developers.google.com/search/docs/crawling-indexing/verifying-googlebothttps://web.archive.org/web/*/https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot
4Amazon——Amazonbot 公布的 IP 地址清单https://developer.amazon.com/amazonbot/ip-addresses/https://web.archive.org/web/*/https://developer.amazon.com/amazonbot/ip-addresses/
5Amazon(AWS re:Post)——如何识别并核验 Amazonbot(FCrDNS)https://repost.aws/questions/QUKdLk-sznTDOe-cyN-AyXGQ/how-to-identify-amazonbothttps://web.archive.org/web/*/https://repost.aws/questions/QUKdLk-sznTDOe-cyN-AyXGQ/how-to-identify-amazonbot
6Cloudflare——从 Googlebot 到 GPTBot:2025年谁在抓取你的站点https://blog.cloudflare.com/from-googlebot-to-gptbot-whos-crawling-your-site-in-2025/https://web.archive.org/web/*/https://blog.cloudflare.com/from-googlebot-to-gptbot-whos-crawling-your-site-in-2025/
7Cloudflare——Perplexity 正在使用隐身的、未申报的爬虫https://blog.cloudflare.com/perplexity-is-using-stealth-undeclared-crawlers-to-evade-website-no-crawl-directives/https://web.archive.org/web/*/https://blog.cloudflare.com/perplexity-is-using-stealth-undeclared-crawlers-to-evade-website-no-crawl-directives/
8Perplexity——是 Agent 还是 Bot?厘清开放网络上的 AI(回应)https://www.perplexity.ai/hub/blog/agents-or-bots-making-sense-of-ai-on-the-open-webhttps://web.archive.org/web/*/https://www.perplexity.ai/hub/blog/agents-or-bots-making-sense-of-ai-on-the-open-web
9Cloudflare——Web Bot Auth(密码学的爬虫身份)https://blog.cloudflare.com/web-bot-auth/https://web.archive.org/web/*/https://blog.cloudflare.com/web-bot-auth/
10SE Ranking——llms.txt 有效性研究(300,000个域名)https://seranking.com/blog/llms-txt/https://web.archive.org/web/*/https://seranking.com/blog/llms-txt/

我们的测试物证:这份核验摘要——逐个 user-agent 的请求计数、核验通过计数,以及 /24 层级的网络归属,取自 2026年6月19日到7月5日这段日志窗口。其中不含任何访客数据;爬虫 IP 属于公共基础设施,披露的粒度不细于 /24。

**关于这是什么、又不是什么。**这是一个新上线、流量不高的站点 17天的记录——一份个案研究,不是一次普查。那些百分比描述的是我们的日志,不是整张网络。能推而广之的不是这些数字,而是这套方法和它给出的判词:拿公布的身份去核验,爬虫的世界,就裂成可核验的与不可核验的两半。我们会在满 90天时,把同一套测量再跑一遍,并公布其中的变化——那个冒充集群会不会变大,那些没方法可查的爬虫会不会哪天变得可核验,以及诚实的那些,还诚不诚实。

这篇文章,是我们那个论点在爬虫这一侧的同伴之作——开放网络正被圈占,读它的机器比人还多——也是对开启本系列的那篇AI 时代威胁模型的一次实证跟进。若你想看看这样一台机器,仅凭那些早已公开的东西,能拼出一份关于的什么,我们的自查工具会把这套「去核验、别轻信」的功夫,用在你自己的足迹上。

AI-Age OPSEC - 这篇文章属于一个选集。
§ : 本文

相关文章