Cloudflare BotBase 为爬虫运营者增加可追踪身份验证
Cloudflare 于 2026 年 8 月 28 日发布 BotBase for Operators,让机器人和爬虫运营者能够更清楚地提交、跟踪、修正并维护其目录条目。这项更新不只影响 AI 爬虫,也反映出网站防护体系正在改变:可问责的自动化流量,需要提供能够持续核验的身份,而不能只依赖一个看起来熟悉的 User-Agent。
对于获得授权的数据采集、搜索索引、可用性监控、广告验证和市场研究,代理容量只是运营体系的一部分。爬虫还需要稳定说明由谁运营、执行什么任务、如何使用内容,以及网站如何核验它的身份。如果这些声明与实际网络路径发生偏离,更大的代理池也无法恢复信任。

Cloudflare 本次更新了什么
Cloudflare 表示,新的 BotBase 区域面向所有客户开放,并将运营者任务分为三部分:
- 浏览已经收录的机器人目录;
- 提交新的机器人;
- 查看提交历史。
提交历史会显示“等待审核”“已接受”和“已拒绝”三种状态。被拒绝的提交会提供可采取行动的原因。身份信息发生变化时,运营者还可以编辑既有提交;仍在等待审核的提交也可以取消。
审核流程会先运行自动检查,再将不明确的情况交给人工。官方说明的检查包括:是否与现有记录重复、User-Agent 模式是否足够明确,以及所声明的验证方法是否真正有效。系统可能读取公开的 IP 清单、确认反向 DNS,或验证 Web Bot Auth 签名。
公开来源说明:Cloudflare,《BotBase for Operators: A clearer path to joining Cloudflare's directory of bots and agents》,2026 年 8 月 28 日。
这并不是通用抓取许可。每个网站仍可自行决定允许哪些流量。因此,目录收录应被视为身份凭据,而不是同意、合同授权或“所有请求都会通过”的承诺。
为什么代理爬虫需要独立的身份层
代理路径改变目标网站看到的网络来源;爬虫身份说明谁对行为负责。把两者混为一个未经记录的假设,会产生多种故障:
- 目录条目引用的 IP 清单已不包含当前出口;
- 轮换池加入无法归属于声明主体的新地址;
- 某个地区的反向 DNS 有效,另一个地区却无效;
- User-Agent 过于宽泛,与其他客户端重叠;
- 主请求带有有效签名,但重试或备用客户端没有签名;
- 供应商更换上游资源,公开身份记录却没有同步更新。
正确做法是把身份与路由作为两个相互关联、但可以独立测试的系统。
| 控制层 | 核心问题 | 主要证据 |
|---|---|---|
| 身份 | 谁对自动化行为负责? | 运营者、用途、联系方式、行为声明 |
| 验证 | 身份声明能否被检查? | IP 清单、反向 DNS、请求签名 |
| 路由 | 哪条网络路径承载请求? | 网关、会话、出口组、地区、协议 |
| 权限 | 此处是否允许采集? | 合同、站点政策、robots 指引、同意范围 |
| 结果 | 响应是否符合任务要求? | 状态类型、内容校验、延迟、新鲜度 |
任何一层都不能替代另一层。响应成功不等于身份已验证;身份已验证也不等于获得采集权限。
建立爬虫身份清单
为每个生产爬虫创建版本化的内部身份清单,不在其中保存密钥。至少包含:
- 责任团队与运营联系人;
- 爬虫用途和允许的使用场景;
- 精确 User-Agent 模式;
- 内容使用声明;
- 直接运营或中介运营模式;
- 所选择的验证方法;
- IP 清单或反向 DNS 的维护流程;
- 使用签名请求时的客户端覆盖范围;
- 获批地区、代理产品和协议;
- 变更负责人、复核日期与回滚规则。
这是一份控制文档,而不是营销介绍。工程师应当可以用它直接核对线上路径,无需猜测。
核对轮换出口与声明身份
1. 固定预期出口组
按获批市场记录不包含凭据的出口组标识。住宅、ISP、移动和数据中心代理分别管理;IPv4 与 IPv6 也应独立记录,因为其所有权和反向 DNS 行为可能不同。
2. 进行有界抽样
在并发数为一的条件下执行少量授权测试。仅在核验所需的最短时间内保留出口地址;日常日志不需要原始地址时,使用哈希或短期令牌。
3. 比较三个集合
每个测试窗口计算:
已声明但未出现:验证来源中存在、实际样本未出现的地址;已出现且已声明:与验证来源匹配的活动出口;已出现但未声明:无法由现有身份方法核验的活动出口。
第三个集合必须阻止发布。不要在未验证所有权的情况下直接扩大 IP 清单。应隔离该出口组、调查供应变化,确认正确后再更新身份清单。
4. 测试备用路径
对每种获批重试、地区故障转移、协议降级和客户端实现执行非破坏性测试。主客户端可能正确签名,但旧任务进程、浏览器流程或紧急路由可能发送未签名请求。
使用代理路由泄漏检测指南确认代理失败后不会静默切换到直连。需要稳定会话窗口时,再使用住宅代理会话粘性测试。
把身份验证变化作为发布变更
迁移 IP 清单地址、变更反向 DNS、启用签名请求或新增代理供应商,都可能改变网站对爬虫的识别。每次变更应遵循小型发布流程:
- 创建变更记录,标明受影响爬虫和出口组;
- 在测试环境或获授权目标上核验新方法;
- 确认所有生产客户端执行相同验证;
- 同步更新目录提交和内部清单;
- 按出口组监控接受、拒绝、挑战和阻断结果;
- 旧方法只保留明确的重叠窗口;
- 发现未声明出口或未签名请求时立即回滚。
不要在同一次发布中同时变更 User-Agent、代理资源、验证地址、重试策略和签名代码,否则发生拒绝时将无法可靠归因。
在不规避控制的前提下衡量识别质量
有效指标应关注一致性与权限,而不是绕过防护:
- 各出口组的验证覆盖率;
- 使用精确声明 User-Agent 的请求比例;
- 各客户端和重试路径的签名成功率;
- 适用时的反向 DNS 正反向一致率;
- 未声明出口比例;
- 接受、挑战、阻断和政策拒绝结果;
- 基础设施变更到目录更新的耗时;
- 获准请求的内容有效率和延迟。
不得快速轮换 IP 寻找能够避开阻断的路径。如果目标网站拒绝爬虫或发出限制信号,应停止自动化流程,通过站点所有者或获授权接口解决身份、权限或政策问题。
运营检查清单
- [ ] 已记录爬虫用途、运营主体、内容使用和运营模式。
- [ ] User-Agent 足够明确,并在所有客户端保持一致。
- [ ] 验证凭据与当前生产出口匹配。
- [ ] IPv4 与 IPv6 出口组分别测试。
- [ ] 重试和故障转移路径保持相同验证行为。
- [ ] 未声明出口会被隔离,而不是静默加入白名单。
- [ ] 目录和内部记录在同一变更中更新。
- [ ] 权限证据与身份凭据分开保存。
- [ ] 日志不包含密码、Cookie、签名密钥和不必要的原始 IP 历史。
- [ ] 遇到阻断或挑战时进入停止与复核流程。
常见问题
BotBase 显示已接受,是否就可以抓取?
不可以。它表示该机器人经审核后被目录跟踪。网站所有者仍决定允许哪些流量;运营者还必须遵守合同、站点规则、robots 指引、同意要求和速率限制。
只使用可识别的 User-Agent 是否足够?
不够。User-Agent 只是声明。验证可能依赖 IP 清单、反向 DNS 或签名请求,实际流量必须持续匹配这些凭据。
住宅代理池能否用于已验证爬虫?
只有在运营模式、供应商条款、目标规则和验证方法相互兼容时才可以。高度动态、共享的出口通常不适合依赖稳定自有 IP 清单的身份方案。
是否应该长期保存原始出口 IP?
通常不需要。只保留身份核验和事故处理所需的最少数据,优先采用短期证据、哈希后的出口组令牌和明确删除周期。
出现无法解释的拒绝后应该怎么办?
核对声明身份与真实路径,检查 User-Agent 是否过宽、验证覆盖率、反向 DNS 或签名行为,以及近期基础设施变化。不要通过增加请求量或加快轮换来应对。
合规说明
自动化采集只能用于合法且获得授权的目的。遵守目标条款、适用的 robots 指引、内容使用偏好、同意要求、隐私义务和合理速率限制。身份验证不会覆盖访问控制。不得使用代理冒充其他运营者、隐藏被禁止的活动,或绕过网站阻断和挑战爬虫的决定。