Cloudflare 为已验证机器人引入持续行为评估
机器人通过身份验证,并不意味着它之后的每一次访问都值得信任。即便运营者身份明确,机器人仍可能忽视网站偏好、给服务器造成过大负载,或尝试绕过访问控制。这些问题也不一定出于恶意,配置错误和程序缺陷同样可能导致不当行为。
Cloudflare 为已验证机器人(Verified bots)引入了一套持续评估机制:不仅确认“你是谁”,还要观察“你是否一直按规则行事”。
从身份验证走向行为验证
成为 Cloudflare 已验证机器人,大体需要满足三项要求:
- 准确、安全地表明身份。
- 只做自己声明会做的事。
- 不从事滥用行为。
在身份环节,机器人可通过 Web Bot Auth 对请求签名,BotBase 则以开放格式记录相关身份信息。新机制关注的是身份确认之后的行为:机器人是否持续尊重网站运营者的意愿。
这里需要区分两个概念:
- 风险:某个请求或某次操作可能造成危害的程度,会随具体情境变化。
- 信任:通过长期、反复且一致的行为逐步建立。
因此,已验证身份不是永久的信任凭证,评估也不能只停留在准入时刻。
首批评估信号:遵守指令与响应反馈
这套系统会观察爬虫尊重网站偏好的频率,并将结果转化为可解释的“信任区间”(trust band)。它既反映行为的一致性,也说明哪些观测行为影响了评估,而不是对机器人或其运营者作出永久判断。
初期主要观察两类信号。
1. 是否持续遵守 robots.txt
robots.txt 是网站表达抓取偏好的主要方式,可以针对所有机器人或特定机器人,规定哪些路径可以访问、哪些不应抓取。
系统会比较机器人长期实际访问行为与网站公布的规则是否一致,重点识别反复忽视网站偏好的行为模式,而不是仅凭一次违规或偶发事件作判断。对负责任的机器人,基本要求是按照 RFC 9309 查阅并遵守这些偏好。
同时,robots.txt 并不是完整的访问许可清单:没有明确禁止,并不意味着一切行为都被允许。 网站还可能通过其他信号表达不希望继续访问的意愿。
2. 收到 HTTP 429 后是否减速
即使只访问允许抓取的路径,机器人仍可能给网站带来显著负载。
HTTP 429 Too Many Requests 是网站要求访问者降低请求频率的直接信号,有时还会说明应等待多久再重试。系统会观察机器人收到这一响应后,是否:
- 降低请求频率;
- 暂停访问;
- 仍以原有速度持续发送请求。
持续减速或暂停有助于提高信任水平;反复无视这一信号则会降低信任水平。判断依据仍是长期表现,而非单次响应。
当前进展与后续计划
这套系统已经用于 Cloudflare 内部评估,但尚未全面向客户开放。 当前阶段主要用于积累行为历史,并完善如何将观测结果转化为有用的判断依据。
后续计划包括:
- 在 Radar 上公开相关评分;
- 扩展行为评估维度;
- 向所有 Cloudflare 客户开放,让客户自行选择信任门槛,用于决定如何处理已验证机器人的流量。
这些都属于后续计划,不应理解为已经上线的完整功能。
网站偏好、行为观察与流量处置形成闭环
在这套设计中,Bot Preference Sync 帮助网站发布偏好;持续行为评估检查机器人是否遵守这些偏好;Bot Management 则让网站运营者决定如何处理相关流量。
核心变化是:身份验证回答“谁在访问”,持续行为评估回答“是否值得继续信任”。 对网站运营者而言,判断自动化流量不能只看它是否拥有已验证标识,还需要看它是否长期遵守抓取规则,并在收到限流反馈后作出调整。
