# 真实爬虫来源核验协议：从 User-Agent 候选到可复核身份

> ZenLeak 公开实验记录。状态：进行中。

- 记录 ID：`verified-crawler-observation-protocol-2026-09-19`
- 网页版：https://zenleak.cn/experiments/records/verified-crawler-observation-protocol-2026-09-19/
- JSON：https://zenleak.cn/experiments/records/verified-crawler-observation-protocol-2026-09-19.json
- 首次发布：2026-09-19
- 最近更新：2026-10-12
- 下次复核：2026-10-19

## 研究问题

如何区分真实搜索或 AI 平台爬虫、伪装 User-Agent、站内巡检和人工测试，避免把自造请求写成外部平台访问？

## 假设

将 User-Agent 识别降级为候选信号，再使用平台公开 IP 范围或反向与正向 DNS 双重核验，可以减少身份误判；无法核验的记录应保持未确认。

## 样本与范围

- 样本：472 自动程序候选事件（含已确认与未确认）
- 对象：ZenLeak 流量数据库中未来进入核验队列的搜索与 AI 爬虫候选访问
- 观察维度：User-Agent 候选分类、官方 IP 范围、正反向 DNS 一致性、人工探测排除、隐私脱敏、核验结果可复查性

## 方法

1. 从流量数据库读取候选访问的时间、IP、爬虫标签、路径和响应状态；User-Agent 标签只用于选择核验方法，不直接证明身份。
2. Google、Bing 等支持域名核验的平台执行 PTR 反向查询，再对返回主机名做 A/AAAA 正向查询，只有域名后缀符合规则且原 IP 出现在正向结果中才记为 DNS 一致。
3. OpenAI 等公布爬虫 IP 范围的平台读取官方 JSON 范围并进行 CIDR 匹配；网络错误、来源不可达或不在范围内分别记录。
4. 不支持可靠自动核验的平台保留“未确认”，不会仅凭主机名、地区或 User-Agent 升级为真实爬虫。
5. 明确排除 2026-09-19T06:08:00Z 附近由 ZenLeak 人工 User-Agent 测试产生的百度与 GPTBot 记录，不将其作为平台访问证据。
6. 公开汇总只提供平台、时间窗口、核验方法和计数；默认遮蔽完整 IP，不公开可识别的原始访问明细。

## 固定问题集

- 本记录不使用问答问题集。

## 指标

- **待核验候选事件：472**
  - 口径：排除站内巡检和已知人工探测后，由 User-Agent 分类产生的候选访问数。
- **通过身份核验：143 / 472**
  - 口径：通过官方 IP 范围，或满足受支持平台正反向 DNS 一致性规则的候选事件数。
- **未确认事件：314 / 472（核验规则不支持）**
  - 口径：本轮 verdict=unsupported 的事件：当前没有适用的官方 IP 范围或可靠 DNS 自动核验规则。它们保持未确认，不代表伪装、恶意或被明确否定。
- **未通过身份核验：15 / 472**
  - 口径：本轮有适用核验规则且被规则明确判定不匹配的事件数；无规则可用的候选不计入此项。
- **历史已排除人工探测：2 条历史记录**
  - 口径：累计已知由本站手动修改 User-Agent 产生的百度和 GPTBot 测试访问；它们已排除在当日候选样本外。2026-09-27 窗口内另有 0 条人工探测排除项。

## 观察

- **当前分类边界**（解释边界）：现有流量报表按 User-Agent 标识爬虫，页面已经提示该名称不代表可信身份。
- **已知污染记录**（实测观察）：2026-09-19T06:08:00Z 附近的百度与 GPTBot 访问来自本站人工请求，已在协议中列为排除项。
- **真实平台访问**（解释边界）：截至 2026-09-19 的首次协议记录，尚无按本协议核验的访问；2026-09-27 的新增复核结果见下方当日观察。
- **2026-09-27 当日身份核验**（实测观察）：只读读取流量库中 2026-09-27 00:00 至 23:04（北京时间）的 99 条候选事件，并按官方 IP 范围或正反向 DNS 一致性核验。5 条通过（Google 1、Bing 4），94 条为 unsupported、未确认，0 条被规则明确判定 not-verified；已核验样本响应均为 HTTP 200。
- **当日未确认候选构成**（实测观察）：未确认的 94 条包含 Ahrefs 80、其他自动程序 9、360 4、Yandex 1。当前协议没有为这些类别配置可用的官方自动核验方法；不能把 User-Agent 单独当作真实身份或伪装证据。
- **当日脱敏样本**（实测观察）：公开材料只列 5 条已核验代表事件并遮蔽 IP 末段；完整 IP 和无关访问路径不公开。该候选事件计数不等于独立爬虫数量或唯一访客数。
- **2026-10-05 窗口身份核验**（实测观察）：只读读取 2026-09-28 00:00 至 2026-10-05 18:05（北京时间）的 682 条候选。64 条通过官方 IP 范围或正反向 DNS 核验（Google 5、Bing 43、百度 7、OpenAI GPTBot 9），605 条因规则不支持保持未确认，13 条在有适用规则时明确未通过。
- **目标教程命中情况**（实测观察）：同一窗口内两个固定教程合计出现 16 次自动程序访问，均为 HTTP 200；日志标签为其他自动程序 13、Ahrefs 2、Yandex 1，没有目标页访问被现有规则核验为百度或 Google。
- **2026-10-12 窗口身份核验**（实测观察）：只读读取 2026-10-05 18:05:31 至 2026-10-12 15:02:30（北京时间）的 472 条候选。143 条通过官方 IP 范围或正反向 DNS 核验（Bing 78、ChatGPT User 1、Google 6、OpenAI GPTBot 57、百度 1），314 条因规则不支持保持未确认，15 条在有适用规则时明确未通过。
- **2026-10-12 目标教程命中情况**（实测观察）：两个固定教程合计出现 15 次自动程序访问，均为 HTTP 200；其中 ChatGPT User 1、Bing 5、Google 1、OpenAI GPTBot 1 按官方规则核验通过，Ahrefs 2、Yandex 1 和其他自动程序 4 保持未确认。目标页有 1 条 Google 核验记录，但这不等于收录或 AI 答案引用。

## 本轮材料

- [9 月 27 日脱敏爬虫身份核验记录](https://zenleak.cn/downloads/research/crawler-retest-2026-09-27.json)
- [10 月 5 日窗口脱敏爬虫身份核验记录](https://zenleak.cn/downloads/research/crawler-retest-2026-10-05.json)
- [10 月 12 日窗口脱敏爬虫身份核验记录](https://zenleak.cn/downloads/research/crawler-retest-2026-10-12.json)


## 限制条件

- 并非所有平台都公布 IP 范围或稳定的 DNS 核验规则，未确认不等于伪造。
- DNS 与公开 IP 范围会变化，核验结果只对应查询当时，不能完整还原历史网络归属。
- 代理、共享网络、用户触发抓取和平台基础设施调整可能使身份判定更复杂。
- 现有数据库保存爬虫标签而非完整原始 User-Agent，历史核验只能使用当时已经保存的字段。
- 为保护访问者隐私，公开结果不会展示完整 IP，外部读者无法独立重放所有网络查询。

## 当前结论

- 2026-09-28 至 2026-10-05 窗口内确认 64 条访问身份，其中 Google 5、Bing 43、百度 7、OpenAI GPTBot 9，均只证明请求身份和 HTTP 响应，不代表收录或 AI 引用。
- 605 条候选因缺少适用自动核验规则继续保持未确认，13 条在有适用规则时明确未通过；没有把 User-Agent 单独当作身份结论。
- 两个固定教程在 2026-09-28 至 2026-10-05 窗口内有自动程序访问，但没有目标页被确认是百度或 Google 抓取。
- 2026-10-05 18:05:31 至 2026-10-12 15:02:30 窗口内确认 143 条访问身份，其中 Google 6、Bing 78、百度 1、OpenAI GPTBot 57、ChatGPT User 1；两个固定教程命中 1 条 Google 和 5 条 Bing 核验记录。身份核验只说明请求来源达到协议要求，不代表搜索收录、排名或 AI 引用；下一次计划复核为 2026-10-19。

## 使用边界

单次技术检查、平台发现状态与 AI 答案引用是不同层级的事实。本记录只支持在样本、日期和方法范围内的结论，不保证搜索排名、收录、推荐、训练采用或 AI 引用。问题反馈：geo@allintwo.cloud。
