Turnstile Spin让AI编程Agent自动完成服务端验证逻辑搭建,解决人工配置遗漏导致的安全漏洞。
2023 年,Cloudflare 发布了 Turnstile——一款隐私优先的客户端挑战机制——并宣布自己从此摆脱 CAPTCHA 的束缚。Turnstile 免费使用,适用于任何网站(无需将流量代理到 Cloudflare),从不要求访客解答任何谜题。现在,我们推出 Turnstile Spin,一个由 Agent 主导的 Turnstile 端到端实现方案。
Turnstile 最初面向开发者设计,需要完成两个基本步骤并理解前端和后端开发。首先修改前端代码以渲染 Turnstile widget;这让 Cloudflare 能够运行客户端挑战并颁发令牌。然后将令牌 POST 到 Siteverify API,它验证令牌并返回关于访客通过或未通过挑战的元数据。接下来可以根据这个决策采取行动,比如在访客成功完成 Turnstile 挑战之前阻止登录按钮。
Turnstile 现在每个工作日处理约 30 亿次验证,就在最近一周内有超过 23,000 个账户在 Cloudflare 仪表板中创建了新 widget。这种快速采用促使我们评估如何帮助用户无缝完成完整的 Turnstile 验证。Turnstile 是为开发者构建的,但对简单机器人防护的需求远远超出了每天编写后端代码的人群。AI 提高了 stakes:它帮助更多人构建应用程序,同时为攻击者提供更多自动化滥用方式。我们希望同一技术能让 Turnstile 的安装更加正确。
Turnstile Spin 是我们对这一新能力的实现。你可以用它创建 widget、在你的网站上嵌入它,以及在你的后端相关函数中嵌入 Siteverify,就像你手动操作一样。Spin 还可以修复安装不当的 widget 并处理从其他 CAPTCHA 提供商的迁移。你可以从 Cloudflare 仪表板、Wrangler 或通过将公共 skill URL 粘贴到你的 agent 来启动它。
当我们最初构建 Turnstile 时,Web 开发遵循标准的工程模式:开发者手工编写客户端界面和后端逻辑。Turnstile 的设置自然反映了那个两步工作流程。
如今,Web 应用程序的构建方式已经发生了根本性转变。AI 编码 Agent 现在使任何人——从经验丰富的工程师到首次创作者——都能在几秒钟内启动一个可用的网站。然而,为手动开发设计的安全工作流程并不总是与 prompt 驱动的构建方式相吻合。
为了让 Turnstile 对 AI 构建者与对传统 Web 开发者一样轻松,我们引入了对 AI Agent 工作流的原生支持。Spin 的设计就是自动完成这项工作。要检查你自己的设置,请在你的账户中打开 Turnstile 页面。如果某个 widget 已有流量但没有后端验证,你会看到一个 "Fix with Spin" 操作。
Turnstile Spin 将两步设置变成与你的编码 Agent 的引导式工作流程。你选择想要防护的位置,Agent 找到相关的前端和后端代码,提出计划,然后等待你的批准。之后它会一起完成集成的两端。没有后端经验的人可以正确完成设置,而经验丰富的开发者可以跳过重复工作并发现遗漏的步骤。
Spin 不会将你的应用代码发送到 Cloudflare,也不会让 Cloudflare 远程更改它。你已经在使用的 Agent——无论是 Claude Code、Cursor、Codex 还是其他——在代码库内部进行已批准的更改。你 Cloudflare 账户中的唯一新资源是 Turnstile widget。验证保留在你的后端,靠近在挑战之后决定发生什么的应用逻辑。
Spin 可以适应它在代码库中发现的三种上下文之一:
1. 未安装 CAPTCHA
Agent 从零开始在你的前端嵌入 widget,并在你的后端接入 Siteverify。

Cloudflare 监控每个 widget 的 Siteverify 调用,任何没有服务端验证的 widget 都会在你的仪表板中显示 "Fix with Spin" 横幅。Agent 使用相同的密钥,并向你的后端添加缺失的步骤,而 widget 继续提供流量。这个流程避免了人们过去发送的关于 Turnstile 设置的支持工单类型。
2. 修复现有 widget

3. 从 CAPTCHA 迁移
Agent 检测现有标记,提出替换计划,并在你批准后应用。文档中现有的 Turnstile 迁移路径仍然涵盖特定于工具的细节。

你可以从仪表板、Cloudflare Wrangler 或通过我们的 skill 直接从你的 agent 启动 Spin。通常,你会结合使用这三种方式——从仪表板开始,然后将 skill 粘贴到你的 agent 中,agent 会使用 Wrangler 为你促进这些步骤。

Turnstile Spin 自发布以来采用率惊人。自 7 月发布以来,仪表板已记录超过 65,000 次成功的 Spin widget 创建,开发人员复制生成的 prompt 超过 30,000 次。这种快速采用表明,将 Turnstile 直接引入 AI 工作流程满足了构建者真实而迫切的需求。
这些结果也反映了我在构建 Spin 期间作为实习生学到的最大教训:一个直观的想法仍然需要时间、反馈和反复简化。在我实习初期,Bryan Becker 建议我在工作感觉完成之前就分享出去,而 Marina Elmore 每次我把答案过度复杂化时都不断把我拉回到客户的问题上。我遵循了这个建议——尽早展示粗糙版本,与团队一起测试,并在客户获得更简单安全性的道路上尽可能减少步骤。
今天就通过 Spin 尝试 Turnstile
Turnstile 对每个人都是免费的,所以尝试用 Spin 在几分钟内部署或修复 Turnstile widget。如果你没有 Cloudflare 账户,可以立即创建一个,无需进一步设置。查看文档了解更多详情,并随时向我们发送反馈。