エージェントはTurnstile Spinでウェブサイトのセキュリティ保護を設定できるようになりました

Cloudflare は Turnstile Spin を発表した。AI コーディングエージェントが自分でサイトのセキュリティ設定を組み立てられる仕組みで、記事は 2023 年に CAPTCHA を捨てた経緯から設計を説き起こす。

日本語
コピー
Agents can now set up your website’s security with Turnstile 的题图

2023年、CloudflareはTurnstileをリリースした。プライバシーを優先したクライアントサイドの検証コンポーネントで、これを機にCAPTCHAとの決別を宣言している。Turnstileは無料で使え、どんなサイトにも導入できる(トラフィックをCloudflare経由にする必要はない)。訪問者にパズルを解かせることも一切ない。そこで今回、Turnstile Spinを発表する。agentが代わりに実行する、Turnstileのエンドツーエンド実装だ。

Turnstileはもともと開発者向けに設計された。導入は2ステップだが、フロントエンドとバックエンドの開発知識が要る。まずフロントエンドのコードを変更してTurnstileコンポーネントを描画し、Cloudflareにクライアントサイド検証を実行させてtokenを発行する。次にtokenをSiteverify APIへPOSTする。このAPIがtokenを検証し、訪問者が認証を通過したかどうかのメタデータを返す。結果を受け取れば、その後の動作を決められる。たとえば、訪問者がTurnstileの検証を通過するまでログインボタンを無効にする、といった具合だ。

Turnstileの2ステップの流れ。フロントエンドにコンポーネントを置き、バックエンドからSiteverifyを呼ぶ。

現在、Turnstileは平日1日あたり約30億回の検証を処理している。直近のある1週間では、23,000を超えるアカウントがCloudflareダッシュボードで新しいコンポーネントを作成した。これほどの速さで採用が進むと、Turnstileの検証全体をユーザーがシームレスに完了できるよう、どう支援すべきかを考えさせられる。Turnstileは開発者向けに作られたが、単純なボット対策への需要は、毎日バックエンドコードを書く層のずっと先まで広がっている。AIがこの問題をより切実にしている。より多くの人がアプリを構築できるようになる一方で、攻撃者にとっても自動化された悪用の手段が増えるからだ。同じ技術で、Turnstileをより正しく導入しやすくしたいと考えた。

Turnstile Spinは、そのための私たちの実装だ。コンポーネントを作成し、自分のサイトに埋め込み、Siteverifyをバックエンドの該当関数に組み込める。手作業でやる場合とまったく同じだ。Spinはさらに、導入が誤っているコンポーネントを修正し、他のCAPTCHAサービスからの移行も処理する。CloudflareダッシュボードやWranglerから起動でき、公開skillのURLをagentに貼り付けてもいい。

TurnstileをAIコーディングエージェントの時代に合わせる

Turnstileを最初に作った頃、Web開発は標準的なエンジニアリングパターンに従っていた。開発者がクライアント側のUIとバックエンドのロジックを手書きする。Turnstileの導入方法も、当然この2ステップの流れに対応していた。

今やWebアプリの作り方は根本から変わった。AIコーディングエージェントのおかげで、ベテランエンジニアから初めて手を動かすクリエイターまで、誰でも数秒で動くサイトを立ち上げられる。だが、手作業の開発を前提に設計されたセキュリティの流れが、プロンプト駆動の構築方法にそのまま合うとは限らない。

AIで作る人たちが、従来のWeb開発者と同じ手軽さでTurnstileを使えるように、私たちはAIエージェントのワークフローにネイティブ対応を導入した。Spinがこれを自動でこなす。自分の設定を確認したいときは、アカウントのTurnstileページを開けばいい。バックエンド検証なしでトラフィックを処理しているwidgetがあれば、「Fix with Spin」という操作が表示される。

Turnstile Spinとは

Turnstile Spinは、2ステップの導入をコーディングエージェントが導く1つの流れに変える。保護したい箇所を選ぶと、agentが関連するフロントエンドとバックエンドのコードを見つけ、案を提示し、あなたの確認を待ってから、フロントエンドとバックエンド両側の統合をまとめて完了する。バックエンドの経験がなくても正しく導入でき、経験のある開発者は繰り返し作業を省き、抜けている手順に気づける。

SpinはあなたのアプリケーションコードをCloudflareに送ることも、Cloudflareがそれを遠隔で変更することもない。すでに使っているagent——Claude Code、Cursor、Codex、その他何であれ——が、あなたのコードベース内で、あなたが承認した変更を加える。Cloudflareアカウントに新たに増えるリソースはTurnstile widgetだけだ。検証は引き続きあなたのバックエンドに残り、チャレンジの後に何が起きるかを決めるビジネスロジックのすぐ隣にある。

コードベースの実情に応じて、Spinは3つのシナリオに対応する。

1. 新規導入

CAPTCHAがまだ何もデプロイされていない場合。agentがwidgetをフロントエンドに埋め込み、Siteverifyをゼロからバックエンドに組み込む。

使い慣れたコーディングagentでTurnstileをインストールする様子。ここでは早送りしたGIFで示している。

使い慣れたコーディングagentでTurnstileをインストールする様子。ここでは早送りしたGIFで示している。

2. Widgetの修正

Cloudflareは各widgetのSiteverify呼び出しを監視しており、サーバーサイド検証を欠くwidgetにはダッシュボードに「Fix with Spin」のプロンプトが表示される。agentは同じsecretを使い、欠けている手順をバックエンドに補う。その間もwidgetは通常どおりトラフィックを処理し続ける。かつてTurnstileの設定について人々がサポートチケットで尋ねていた類のことを、この流れが先に食い止める。

Spin で既存の widget の実装を修正する。

Spin で既存の widget の実装を修正する。

3. CAPTCHA からの移行

agent が既存のマークアップを検出し、置き換え案を提示する。あなたが確認すると実行される。各ツール固有の細かい手順については、ドキュメントにある Turnstile への移行パスで引き続きカバーしている。

Spin で Turnstile に移行する。

Spin で Turnstile に移行する。

Spin は dashboard からでも Cloudflare Wrangler からでも起動できるし、agent にこちらの skill 経由で直接起動させることもできる。実際はたいてい3つを組み合わせて使う。まず dashboard で始め、skill を agent に貼り付け、あとは agent が Wrangler を呼び出して残りの手順を進めてくれる。

image1.png

初期の結果

Spin を dashboard に公開すると、すぐに使い始める人が現れた。7月のリリース以降、dashboard は 65,000 件を超える Spin widget の作成成功を記録し、開発者が生成された prompt をコピーした回数は 30,000 回を超える。この採用ペースは、Turnstile をそのまま AI ワークフローに組み込むことが、開発者の今まさに現実のニーズに応えていることを示している。

この数字は、インターンとして Spin を作るなかで得た最大の学びも裏づけている。直感的に筋が通るアイデアでも、時間とフィードバックと、繰り返しの簡素化が要るということだ。インターン期間の早い段階で、Bryan Becker はまだ作りかけのうちに人に見せるよう勧めてくれたし、Marina Elmore は僕が答えを複雑にしようとするたび、顧客が抱えている問題そのものに何度も引き戻してくれた。僕はそのとおりにした。粗いバージョンを早く見せ、チームと一緒に試し、よりシンプルで安全なやり方に至るまでの手順をできる限り削った。

Spin で Turnstile を試す

Turnstile は誰でも無料で、Spin を使えば数分で Turnstile コンポーネントをデプロイまたは修正できる。Cloudflare アカウントを持っていなければ登録するだけで、ほかの設定は要らない。詳しくはドキュメントを参照してほしい。フィードバックもいつでも歓迎する。

出典: Cloudflare← ホームへ戻る