Cloudflare の CAPTCHA がアンプサンド(&)を含む URL で誤作動
Simon Willison は、Cloudflare の CAPTCHA ルールを AI ツール「Claude Code」および MCP を活用して最適化し、特定の検索クエリでの誤検知を解消する実用的な解決策を示した。
キーポイント
CAPTCHA ルールの最適化
単純な検索クエリ(例:?q=term)で CAPTCHA が発動する問題を回避するため、アスタリスクとアンパサンド(&)を含む URL にのみ条件を限定したルールを作成した。
AI ツールによるルールの生成
Claude Code を使用して Cloudflare の WAF ルール構文を生成し、複雑な正規表現やロジックの記述を自動化・効率化した事例を紹介している。
MCP と API の使い分け
Cloudflare MCP を試したが編集権限の問題で失敗したため、Claude Code に Cloudflare API を経由させることでルール変更を完了させたプロセスを共有している。
影響分析・編集コメントを表示
影響分析
この記事は、大規模な技術的転換点というよりは、開発者が AI ツールを実際のインフラ管理タスクに即座に適用し、効果的なワークフローを構築できる実例を示しています。特に、MCP の限界と API を組み合わせたハイブリッドアプローチの成功事例は、AI エージェントの実用化における課題解決の参考になります。
編集コメント
AI ツールが単なるコード生成だけでなく、インフラ設定のデバッグや最適化においても即戦力として機能する実例です。MCP の現状の制約と API を組み合わせた柔軟な対応は、現場の開発者にとって非常に示唆に富む内容となっています。
TIL: Cloudflare CAPTCHA on at least one ampersand
私は、このサイトのファセット検索エンジンをクローラーが過剰にスパイダーリングするのを防ぐために、Cloudflare の CAPTCHA(現在は「Web Application Firewall > Custom rules > Managed Challenge」と呼ばれています)を使用しています。しかし、単純な?q=term 検索ですらチャレンジを引き起こすことに我慢の限界を感じました。
Claude Code でいくつか試行錯誤した結果、以下のようなルールを登録することで、CAPTCHA が少なくとも1つのアンパサンド(&)を含む検索 URL の場合にのみ作動するようにできることが分かりました:
(http.request.uri.path wildcard r"/search/*" and http.request.uri.query contains "&")
これで、/search/?q=lemur が CAPTCHA を引き起こさずに動作するようになりました!
また、Claude Code で Cloudflare MCP を試すに関するノートも含まれていますが、結局のところ該当するルールを編集できないことが判明したため、Claude Code に Cloudflare API へ切り替えるよう指示しました。
Tags: captchas, cloudflare, model-context-protocol, claude-code
Cloudflare の CAPTCHA(認証テスト)が、少なくとも 1 つのアンドサンダー記号 (&) を含む URL で動作しないという問題について。これは、Claude Code が生成したコードや、Model Context Protocol (MCP) を介して Claude Code と連携するツールが、Cloudflare の保護メカニズムに遭遇した際に発生します。
⟦CODE_0⟧
この問題は、URL に特殊文字が含まれる場合、特にアンプサンド (&) がクエリパラメータの区切りとして使用されている場合に、Cloudflare の CAPTCHA チェックが誤ってトリガーされることで起こります。Claude Code は、MCP サーバーを通じて外部ツールを呼び出す際、これらの URL を自動的に生成・処理しますが、その際にエンコードが不十分だと判断され、CAPTCHA が表示されてしまいます。
⟦CODE_1⟧
解決策としては、URL 内の特殊文字を適切にエスケープまたはエンコードすることが挙げられます。具体的には、アンプサンド (&) を %26 に置き換えることで、Cloudflare のシステムが正常なパラメータとして認識し、CAPTCHA を回避できるようになります。
この問題は、Claude Code と MCP の連携において、セキュリティ対策と機能性のバランスをどう取るかという課題を示しています。開発者は、自動生成された URL が外部サービス(特に Cloudflare による保護下にあるサイト)と互換性を持つよう、エンコード処理を強化する必要があります。
原文を表示
TIL: Cloudflare CAPTCHA on at least one ampersand
I'm using Cloudflare's CAPTCHA (they call it a "Web Application Firewall > Custom rules > Managed Challenge" these days) to prevent crawlers from aggresively spidering my faceted search engine on this site, but I got fed up of even simple ?q=term searches triggering the challenge.
After some mucking around with Claude Code it turns out you can register the following rule instead, so the CAPTCHA only kicks in for search URLs containing at least one ampersand:
(http.request.uri.path wildcard r"/search/*" and http.request.uri.query contains "&")
And now /search/?q=lemur works without triggering a CAPTCHA!
Also included: notes on trying out the Cloudflare MCP with Claude Code, though it turned out not to be able to edit the rules in question so I had Claude Code switch to the Cloudflare API instead.
Tags: captchas, cloudflare, model-context-protocol, claude-code
関連記事
シモン・ウィルソンのブログ:ショーン・リンチの発言を引用
シモン・ウィルソンは、ショーン・リンチがコメントで、MCP が提供する価値ある機能として認証フローをエージェントのコンテキストウィンドウ外に隔離する点を指摘したと紹介している。
Claude Code がアーティファクト機能をサポート
Anthropic は Claude Code に「アーティファクト」機能を追加し、PR の解説やシステム説明などの作業セッションをライブで共有可能な視覚ページに変換しました。この機能は自動更新やバージョン履歴をサポートし、チームと企業向けベータ版として提供されています。
独自の脆弱性ハーンを構築する
クラウドフレアは、最先端セキュリティモデルを企業コードベースに適用した「グラスウィング・プロジェクト」の初期調査結果を発表し、AI 脅威からインフラと顧客を守るための防御構造の適応について解説している。
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み