Google Fraud Defense 二维码验证:Android、GrapheneOS 与隐私指南
先说结论:Google Cloud Fraud Defense 新增了抗 AI 的二维码挑战,可要求真人使用移动设备扫码,以验证“真人在场”和设备完整性。但截至 2026 年 7 月 23 日,Google 的公开文档并没有说明所有 reCAPTCHA 网站都强制依赖 Google Play 服务,也没有公布适用于网页二维码挑战的统一最低 Play 服务版本。
Google 官方确认了什么
Google 在 2026 年 4 月 22 日发布 Google Cloud Fraud Defense,将其定位为以 reCAPTCHA 为基础的反欺诈与滥用防护平台。新能力之一是二维码挑战:当系统认为某个智能体流程存在风险时,可以要求真人用手机扫码。官方产品页称其用于验证真人在场和设备完整性。
这是一种按风险触发的加强验证,不代表每次 reCAPTCHA 都会出现二维码。官方文档中的常规流程仍是:网页 JavaScript API 或移动 SDK 获取加密 token,后端创建 assessment,再由网站根据风险结果决定放行、加强验证或拒绝。
哪些说法有证据,哪些没有
| 说法 | 证据状态 |
|---|---|
| Fraud Defense 包含移动端二维码挑战 | Google 发布文章和产品页已确认。 |
| 目标包括验证真人在场与设备完整性 | Google 产品说明已确认。 |
| 老 reCAPTCHA 客户必须立即迁移 | 不成立;Google 称现有 key 与集成无需迁移。 |
| 所有 reCAPTCHA 网站都要求 Android 手机 | 官方文档未这样说明。 |
| 所有去 Google 化 Android 用户一定失败 | 官方文档未这样说明;结果可能随挑战、浏览器、设备和网站策略变化。 |
| 网页二维码挑战统一要求某个 Play 服务版本 | 所核查的官方资料没有给出这一规则。 |
Google 确实为 Android 应用开发者提供 play-services-recaptcha 依赖,但这是应用内埋点/SDK 的开发依赖,不能直接推导为“访问任意网站的用户都必须安装同一组件或版本”。
GrapheneOS 或其他自定义 ROM 验证失败时怎么排查
- 记录准确错误:保留网站、浏览器、系统版本、时间、错误文本和截图。
- 排除浏览器拦截:用干净浏览器配置复测,确认脚本拦截器、DNS 或网络策略是否影响挑战。不要安装来历不明的软件。
- 寻找网站备用验证:例如邮件验证、Passkey、人工支持或其他官方恢复流程。
- 联系网站运营方:最终如何处理 assessment 由网站决定,网站应为合法用户提供可访问的备用路径。
- GrapheneOS 用户:GrapheneOS 官方提供可选的沙箱 Google Play,以普通应用权限运行。是否安装是个人选择,并非通用建议,也不能保证解决所有验证失败。
网站开发者检查清单
- 必须在服务端验证 token 和 assessment,不要只信任前端结果。
- 按 action、平台统计通过率和误伤率,同时避免收集不必要的个人数据。
- 测试原生 Android、iOS、桌面、隐私浏览器,以及至少一台无 Play 服务设备。
- 为无法完成主验证的真人提供清晰、可访问的替代流程。
- 在隐私政策中解释安全处理目的,并设置合理的数据保留期。
- 先观察误报,再调整阈值;不要根据单一设备特征直接封禁整个用户群。
Cloudflare 站点可评估 Turnstile
Cloudflare Turnstile 是可嵌入任意网站的 CAPTCHA 替代方案,不要求网站流量必须经过 Cloudflare。官方文档提供 managed、non-interactive 和 invisible 模式,并说明符合 WCAG 2.2 AA。迁移仍需正确实现服务端 token 校验、CSP、监控和失败恢复,不能只替换前端脚本。
官方资料
- Google Cloud:Fraud Defense 发布说明
- Google Cloud:reCAPTCHA 与二维码挑战产品页
- Google Cloud 文档:assessment 工作流程
- Google for Developers:Google Play 服务依赖
- GrapheneOS:沙箱 Google Play 使用指南
- Cloudflare Turnstile 文档
本文明确区分官方事实与推测。产品行为可能变化,做安全或访问决策前请复现问题并核对上面的第一方资料。