セキュリティ
Precursor: 継続的なクライアントサイドシグナルによるエージェント行動の検出
Precursor (blog.cloudflare.com)
要約
Cloudflareは、Webアプリケーション全体で訪問者の行動を継続的に分析する新しいクライアントサイド検証システム「Precursor」を発表しました。これは、マウスの動きやキーボード入力などの行動パターンをセッション全体で評価することで、人間とボットをより正確に区別し、誤検知を減らし、ボット開発コストを増加させます。Precursorはプライバシーに配慮し、個人を特定する情報は収集せず、エッジサーバーでリアルタイムに評価されます。
全文翻訳
Precursorの紹介: 継続的なクライアントサイドシグナルによるエージェント行動の検出
2026年7月13日
Marina Elmore
Benedikt Wolters
5分で読めます
ボット対策は敵対的なゲームです。攻撃者は適応し、防御者は対応し、そのサイクルは続きます。Cloudflareでは、グローバルネットワーク全体での可視性と、クライアントサイド環境からのシグナルを組み合わせることで、常に先行しています。ネットワークレベルでは、1日あたり1兆件以上のリクエストを分析し、ウェブの20%以上にわたる評判、パターン、異常を理解しています。クライアントサイドでは、Cloudflare Turnstileによって検出をさらに深めてきました。これは、CAPTCHAの代替から、ユーザーが本物であることを検証するために必要な摩擦の量を適応させるリスクベースのマネージドチャレンジへと進化しました。
現在、Turnstileは1日あたり約30億回実行されており、インターネット上の最も機密性の高いエンドポイントの一部で、ログイン、サインアップ、チェックアウトなどの重要な瞬間にユーザーを検証するのに役立っています。これにより、顧客アプリケーションの最も重要な領域での保護が向上しますが、アプリケーションの残りの部分、つまり人間とボットがユーザーのジャーニー全体で実際にどのように相互作用するかについての可視性は依然として限定的です。
これが、本日Precursorのローンチで私たちが埋める可視性のギャップです。
Precursorの紹介
Precursorは、プライバシーを念頭に置いて構築された、クライアントサイドのセッションベースの検証システムです。動的に注入されるJavaScriptを使用して、訪問者がアプリケーションとやり取りする際の行動シグナルを継続的に収集します。これらのシグナルは処理され、リアルタイムでCloudflareのボット保護に組み込まれ、人間トラフィックと自動化またはエージェントトラフィックを継続的に区別できるようになります。
これにより、Challengeが提供するクライアントサイド検出が、Webアプリケーション全体に拡張されます。PrecursorはTurnstileのオプションの補完機能であり、どちらもEnterprise Bot Managementの機能です。このユーザー・ジャーニー・ベースの検出は強力です。なぜなら、現代の自動化は、短時間のバーストでは正当に見える能力がますます高まっているからです。ボットはJavaScriptを実行し、実際のブラウザ環境を使用し、個々のCAPTCHAを疑いを抱かせずにパスすることができます。しかし、再現するのが難しいのは、時間の経過に伴う一貫した人間の行動です。
Precursorは、そのインタラクションのレイヤーをキャプチャするように構築されており、行動自体を不正行為や悪用を検出するための信頼できるシグナルに変えます。セッション全体にわたる行動を評価することで、Precursorは各決定に大幅に多くのシグナルを追加します。これにより検出精度が向上し、攻撃的なChallengeに依存することなく、実際のユーザーと自動化をより簡単に区別できるようになります。正当なユーザーにとっては、Precursorは不要な中断を減らすことを意味します。ボット開発者にとっては、完全なセッションをシミュレートする必要があるため、自動化を運用するコストが上昇します。これは、構築がはるかに困難で、維持コストが高く、大規模に運用するにははるかに信頼性が低いものです。
人間であることの過ち
ボット開発者がマウスの動きを人間らしく見せようとするとき、通常はガウスノイズや一様なランダム遅延を追加します。しかし、人間の動きは単に「ノイズが多い」だけでなく、物理法則にも制約されます。
リストのピボット: 人間のマウスの動きは、手首の可動範囲と前腕の回転によって制限されるアークであることがよくあります。
認知負荷: 人間がチェックボックスを見てクリックするまでの間には、測定可能な遅延があります。
手の震え: 最も安定した人間の手でさえ、生理的な震えの周波数で振動します。
対照的に、ボットはしばしば、それらを露呈させるような方法で動作します。線形補間または数学的に理想的なベジェ曲線で移動します。人間が決して再現できない精度でクリックします。そして、人間のエラーをシミュレートする場合でさえ、セッション全体を調べることによってのみ見ることができる人間の動きのリズムがあります。
マウスの動きは、Precursorが評価するシグナルの1つの例にすぎませんが、違いを明確に示しています。以下は、サイトとやり取りするマウス自動化ライブラリの例です。マウスが完全に直線的に移動し、常に原点に戻り、同じ速度で反応するのがわかります。次に、同じサイトをナビゲートする人間と比較してください。不規則なパス、小さな修正とオーバーシュート、速度、タイミング、方向のばらつきが見られます。個々のインタラクションはもっともらしく見えるかもしれませんが、セッションの過程で、これらのパターンは偽造が難しい方法で分岐します。Precursorは、訪問者がアプリケーションとやり取りするにつれてこれらの行動シグネチャをキャプチャして評価するように設計されています。
Precursorの仕組み
時間の経過とともに動作を評価するために、Precursorはクライアントでインタラクションデータを継続的に収集し、そのサイトのアクティビティのセッションレベルのビューを構築します。
1. 注入と収集レイヤー
Precursorがアプリケーションで有効になると、Cloudflareは追加の設定、ネットワーク接続、またはサードパーティの埋め込みを必要とせずに、サイトからのHTMLレスポンスがネットワークを通過する際に軽量スクリプトを自動的に注入します。注入されるPrecursorバンドルはコンパクトで難読化されており、各レスポンスに対して動的に組み立てられます。バンドルは、ホストされているWebアプリケーションの追加のページロジックを妨げないように設計されています。
スクリプトは、ポインターの移動、キーボードのアクティビティ、フォーカス変更、可視性などのインタラクションシグナルをキャプチャするために軽量なイベントリスナーをアタッチします。これらのイベントはコンパクトな形式にシリアライズされ、メモリにバッファリングされます。定期的に、バッファリングされたデータは評価レイヤーに送信され、分析されます。
2. 評価レイヤー
エッジサーバーでは、受信したPrecursorペイロードは行動入力にデシリアライズされます。ディスパッチャーは、入力データに対して評価者のリストを実行します。各評価者は、自身が関心のあるPrecursorストリームを読み取り、共有検出レジストリにシグナルを上げることができます。
評価者は、データを相互参照するように設計されています。たとえば、ポインターアクティビティがページ可視期間と相関しているか、またはキーボードイベントがテキストフィールドにフォーカスがある場合にのみ発生するかを確認します。この情報のストリームは、検出の重み付けに使用される個々のシグナルに統合されます。
3. セッション統合
Precursorデータはセッションスコープです。つまり、セッション全体で蓄積されます。セッションスコープは、ボットがページをリフレッシュしたり、新しいチャレンジで再開したりしても、行動シグネチャをリセットできないため重要です。システムはまた、セッションメタデータをダウンストリーム検出レイヤーにフィードし、追加のシャドウモードヒューリスティック、予測対実際の完了、およびセッション遅延ヒューリスティックを提供します。これらのエッジサイドの観測は、検出の改善目的でログに記録され、セッションのボットスコアを調整するために使用されます。
4. プライバシー・バイ・デザイン
Precursorは、人間のパターンと自動化された悪用パターンを区別するのに役立つシグナルを収集するように設計されました。イベントリスナーは、自動化と悪用を検出するための有用なシグナルになるために必要な最小限の情報のみをキャプチャします。たとえば、キーボードアクティビティは、実際に押されたキーではなく、タイミングとリズムとしてキャプチャされます。さらに、行動シグナルは個々の行動ではなく、集計パターンとして評価され、Cloudflareのボット検出システムによって内部的に消費されます。顧客ダッシュボードに公開されたり、ユーザーアカウント、ログインID、または永続的なプロファイルにリンクされたりすることはありません。
これらを組み合わせることで、Precursorは行動の継続的に進化する評価を維持し、精度を最大化しながら、善良なユーザーへの摩擦を最小限に抑えることができます。
セッションごとの分析
この新しい検出レイヤーをサポートするために、セキュリティ分析にセッションベースのビューを導入しています。これらのダッシュボードは、視点を個々のリクエストから完全な訪問者ジャーニーへとシフトさせます。これにより、「私のサイトでの典型的なセッションはどのようなものか?」「セッションは期待される動作からどこで逸脱するか?」「時間の経過とともに自動化の兆候を示すセッションはどれか?」といった質問に答えることができます。
ボット管理トラフィックのセッションベースのビューを探索するために、セキュリティ分析を使用してください。
これらの分析は、リクエストごとの分析では捉えられない情報、特にセッション中に発生する行動をキャプチャします。