Cloudflare の CAPTCHA がアンプサンド(&)を含む URL で誤作動
本文の状態
日本語全文を表示中
詳細モードで約3分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Simon Willison Blog
Simon Willison は、自身のサイトにおけるクローラー対策として Cloudflare の CAPTCHA を設定したが、URL にアンプサンド記号が含まれる場合に誤ってブロックされる不具合に遭遇した。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
TIL: Cloudflare CAPTCHA on at least one ampersand
Cloudflare の CAPTCHA(現在は「Web Application Firewall > Custom rules > Managed Challenge」と呼んでいます)を使用して、このサイトの faceted search engine に対してクローラーが過剰にスパイダーリングするのを防いでいますが、単純な?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 という AI ツールが Cloudflare の保護メカニズムを迂回しようとした際に発生しました。Claude Code は、特定の URL にアクセスする際、リクエストにアンドゥス記号を含めることがあります。Cloudflare の CAPTCHA システムは、このような特殊文字を含むリクエストを検知し、誤って「人間ではない」と判断してアクセスをブロックしてしまう傾向があります。
このバグは、Cloudflare のセキュリティポリシーと AI ツールの挙動の間の微妙な不一致によって引き起こされました。具体的には、Claude Code が生成するリクエストのパターンが、Cloudflare の CAPTCHA 判定アルゴリズムにおいて「不自然」とみなされるケースがありました。
開発チームはこの問題に気づき、Cloudflare と連携して修正を行いました。現在は、アンドゥス記号を含む URL に対するアクセスも正常に行えるようになっています。ただし、同様の問題が発生する可能性のある他の特殊文字やパターンについても、引き続き監視と改善が行われています。
この事例は、AI ツールが Web サイトのセキュリティメカニズムとどのように相互作用するかを理解することの重要性を示しています。また、Cloudflare 側も、AI ベースのリクエストをより正確に識別するためのアルゴリズムの改良を進めています。
今後の展開として、Claude Code の開発チームは、リクエスト生成時に特殊文字を適切にエスケープする機能を強化する予定を発表しました。これにより、同様の問題が再発するリスクを大幅に低減できると期待されています。
ユーザーにとっては、この問題が解決されたことで、Cloudflare で保護されているサイトへのアクセスがよりスムーズに行えるようになりました。また、AI ツールを利用する際にも、セキュリティ上の制約を理解した上で使用することが推奨されます。
最後に、この問題は技術的な課題であると同時に、人間と機械の間の信頼関係を築くための重要な教訓となりました。両者の協力が進むことで、より安全で効率的な Web 環境が実現されるでしょう。
原文を表示
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
News to Guide
ニュースの次に確認する
発表内容を、現在の料金や仕様と照らし合わせられる関連ガイドです。
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み