Google 正在测试 Web Bot Auth 这一实验性加密协议,旨在增强网站识别爬虫请求身份的能力,使其不再仅依赖于自报告的标头和 IP 地址。Web Bot Auth 允许智能体对其请求进行加密签名,从而帮助网站所有者识别自动化流量并防止仿冒攻击。然而,根据资料所述,目前该协议仍处于实验阶段,并且并非所有 Google 智能体请求都会携带签名。因此,构建混合验证方案的关键在于结合使用新协议和现有成熟方法。
**1. 利用 Web Bot Auth 识别可信 AI 流量:**
对于希望验证 Google AI 智能体流量的网站管理员或服务商,可以尝试使用 Web Bot Auth 协议。如果您的服务或基础设施支持此协议,您需要执行以下关键步骤来验证请求:
* **获取公钥:** 从 `https://agent.bot.goog/.well-known/http-message-signatures-directory` 提取智能体的公钥集,并根据 `Cache-Control` 标头进行缓存。
* **检查签名:** 接收到的参与请求应包含 `Signature-Agent` HTTP 请求标头,其值应为 `g="https://agent.bot.goog"`。然后,您需要根据 `Signature-Input` 验证 `Signature` 标头,遵循 HTTP 消息签名标准 (RFC 9421)。
* **注意:** 资料指出,Google-Agent 发出的部分请求会使用 Web Bot Auth 进行签名,并在验证成功时会被识别为 `https://agent.bot.goog`。
**2. 必须采用的回退策略:**
由于 Web Bot Auth 处于实验阶段,且并非所有请求都会携带签名,资料明确建议在采用 Web Bot Auth 的同时,**必须继续沿用现有的验证方法作为回退方案**。这包括使用基于 IP 地址、反向 DNS 以及 User-Agent 字符串进行验证。这确保了即使 Web Bot Auth 验证失败或请求未携带签名,系统仍能维持基础的流量验证能力。
**总结混合验证思路:**
构建混合验证方案的流程应是:首先尝试使用 Web Bot Auth 协议(检查 `Signature-Agent` 和 `Signature` 标头)进行高可信度的身份验证;如果 Web Bot Auth 验证不通过或请求未携带签名,则立即回退到传统的、成熟的基于 IP 地址和 User-Agent 的验证机制,以确保对所有流量的持续防护和识别能力。