Cloudflare Precursor:透過持續的用戶端訊號偵測代理行為

Cloudflare Precursor:透過持續的用戶端訊號偵測代理行為

Cloudflare 推出了 Precursor,這是一個基於用戶端的會話驗證系統,旨在透過在訪客與 Web 應用程式互動時持續收集行為訊號,來偵測代理行為(agentic behavior)。與依賴孤立檢查點的傳統機器人偵測不同,Precursor 會評估整個用戶旅程,以區分人類流量與能夠在短時間內模仿合法行為的高級自動化工具。

持續行為分析 vs. 孤立挑戰

Precursor 將機器人偵測從單點檢查轉向持續評估。雖然像 Cloudflare Turnstile 這樣的工具會在特定的高風險端點(例如登入或結帳)驗證用戶,但 Precursor 提供對整個會話(session)的可視性。這點至關重要,因為現代機器人通常可以執行 JavaScript、使用真實的瀏覽器環境,並通過個別的 CAPTCHA,但它們很難在一段時間內複製一致的人類行為。

人類互動的物理特性

Precursor 透過分析受限於人類生理與認知過程的訊號來識別自動化。關鍵指標包括:

  • 腕部旋轉 (Wrist Pivot): 人類的手鼠移動通常遵循基於腕部和前臂旋轉範圍的弧線,而機器人則經常使用線性插值或 Bézier 曲線。
  • 認知負荷 (Cognitive Load): 在人類感知視覺元素(如核取方塊)與與其互動之間存在可衡量的延遲。
  • 生理震顫 (Physiological Tremor): 人類的手部會展現出自然的震盪頻率,這在整個會話中很難被機器人令人信服地模擬。

技術架構

Precursor 透過四個階段的流程來運作,無需網站所有者進行手動配置即可評估行為。

1. 注入與收集

當 HTML 回應通過網路時,Cloudflare 會自動將一個輕量級、經過混淆處理的 JavaScript bundle 注入其中。此腳本會附加事件監聽器,以捕捉如指標移動、鍵盤活動、焦點變化和頁面可視性等訊號。這些事件會在發送到評估層之前進行序列化並在記憶體中緩衝。

2. 評估層

在邊緣伺服器(edge server)上,一個調度器(dispatcher)會執行一系列評估器,用以處理傳入的行為流。這些評估器會進行交叉引用數據——例如,驗證鍵盤事件是否僅在文本框獲得焦點時才發生——以產生用於共享偵測註冊表的訊號。

3. 會話整合

由於數據是會話範圍的,機器人無法僅透過重新整理頁面來重置其行為特徵。這些數據會餵入下游的偵測層,包括機器人分數和會話違規啟發式算法,以即時調整該會話的機器人分數。

4. 隱私框架

為了維持隱私,Precursor 僅收集必要的最低限度資訊。鍵盤活動是以時間與節奏的形式記錄,而非實際的按鍵內容。行為訊號是以聚合模式的形式進行處理,且不會與用戶帳戶、持久性設定檔或在客戶儀表板中公開。

基於會話的安全分析

除了偵測系統外,Cloudflare 還在 Security Analytics 中引入了基於會話的視圖。這允許管理員超越單個請求的日誌,轉而分析完整的訪客旅程,識別會話何處偏離了預期的行為,以及哪些會話隨著時間推移展現出自動化的跡象。

社群觀點與技術評論

在宣布之後,技術社群對此方法的有效性與包容性提出了幾項疑慮:

無障礙性與包容性

批評者認為,依賴滑鼠移動模式可能會在無意中懲罰依賴輔助技術或非傳統輸入方式的用戶。

"I can 1000% guarantee this will adversely impact assistive technology. You can tell it will because they don't mention any testing with regards to assistive technology."

模擬的對抗性遊戲

一些開發者建議,人類般的「抖動 (jitter)」和行為數據語料庫可能會讓高級機器人繞過這些檢查,類似於像 RuneScape 這樣的遊戲機器人如何演化以模仿人類行為。

"What prevents bots/agents from just adding 'jitter' to their movements that mimics how humans move their cursor?"

監控與中心化

存在關於機器人仲裁中心化以及這些數據可能被用於監控的更廣泛疑慮。

監控與中心化

存在關於機器人仲裁中心化以及這些數據可能被用於監控的更廣泛疑慮。

"It's a bit alarming how Cloudflare is establishing itself as arbiter of all things bots... both on blocking and allowing. Doesn't seem healthy for the internet as a whole."

實作

Precursor 目前正在逐步推出,並可透過 Cloudflare 儀表板使用。在今年稍晚的通用可用性 (GA) 版本發布之前,它是免費使用的。用戶可以透過低摩擦的背景模式啟用它,或透過 Challenges 強制執行完整的會話驗證。

Sources