Administrator
Published on 2026-07-19 / 28 Visits
0
0

浏览器指纹失效之后:行为检测、签名身份与误伤成本

Browser Agent 已经能驱动真实 Chrome、正常执行 JavaScript,并从用户自己的设备发出请求。此时,一个完全正常的浏览器指纹只能证明浏览器是真的,无法证明操作者是人,也无法说明它获得了谁的授权。网站需要重新拆解问题:当前行为像不像自动化,Agent 由谁运行,用户是否授权了这项任务,这个动作会造成多大风险。

这四个问题不能压缩成一个 bot score。可靠的 Browser Agent 治理需要三层能力:概率性的行为检测、密码学身份认证和细粒度授权。最后再用审计记录回答它实际做了什么。

目标也随之变化。网站真正需要的是让可接受的 Agent 可验证、可授权、可审计,同时保留对未知和恶意自动化的识别能力。

真实 Chrome 为什么让静态指纹失效

传统 Bot Detection 会组合 User-Agent、屏幕尺寸、时区、字体、插件、Canvas 或 WebGL 输出、CPU 并发数和网络信誉等信号。这套方法在自动化环境暴露出 Selenium、无头浏览器或异常配置时很有效。当多个 Agent 共用普通 Chrome、相同操作系统和住宅网络时,静态指纹更多反映运行环境,而不是 Agent 本身。

FP-Agent 论文 对此做了受控测量。研究者搭建蜜罐网站,让 7 种 Browser Agent 和人类分别完成机票预订、购物和论坛互动,收集 418 个浏览器指纹特征与 50 个行为特征。

加入人类类别后,纯浏览器指纹的八分类 F1 为 0.8223。多个运行在同一 macOS 环境中的 Agent 会产生重合指纹,分类器更容易学到谁用了哪台机器。

行为信号的区分度明显更高。有些 Agent 直接粘贴文字,有些模拟逐键输入;有些直接跳到点击目标,缺少连续鼠标轨迹;滚动则表现为瞬时跳转或固定长度的短 burst。人类行为通常包含更多停顿、修正、过冲和速度变化。论文主实验中,纯行为特征 F1 达到 0.9994,组合特征达到 1.0。

这些数字说明行为里有强信号,也说明理解实验边界非常重要。

接近满分的 F1 只在封闭世界中成立

FP-Agent 的人类样本来自 56 名本科生,任务只有三类,训练和测试包含相同的已知 Agent 类别。一个 closed-world 分类器可以很好地区分见过的对象,同时无法回答新 Agent、全新任务、辅助技术用户会被分到哪里。

论文的留一任务测试暴露了这种边界。纯行为模型 F1 最多下降 0.369。静态与行为组合后的泛化表现更稳,但仍受实验分布限制。未来 Agent 也会主动加入更自然的移动轨迹与节律。

还有一个必须纠正的时间关系。FP-Agent 在 2026 年 5 月 2 日提交,Cloudflare Precursor 在 7 月 13 日发布。论文测试的是当时免费的 AI Crawl Control 和 Block AI Bots。Manus 被完整阻断,其余六种 Agent 完成了任务。这个实验没有测试 Precursor,也不能代表 Enterprise Bot Management 的生产效果。

准确的表述是:FP-Agent 证明当时的静态信号和自我声明存在明显缺口;Precursor 是随后出现的会话级行为方案。

Precursor 把检测单位从请求变成 Session

Precursor 通过动态注入的客户端脚本,在整个 session 中收集 pointer movement、keyboard activity、focus change 和页面 visibility。边缘侧 evaluator 会交叉核验不同信号,例如指针活动是否与页面可见时长一致,键盘事件发生时输入框是否真的获得焦点。

单次 CAPTCHA 只能判断某个瞬间是否合理。Session 级检测观察整段用户旅程。自动化生成一次自然点击并不困难,持续模拟与任务相关的停顿、修正、焦点变化和动作节律成本更高。

Cloudflare 表示,Precursor 只记录按键时序和节律,不记录具体按键;信号按聚合模式处理,不绑定账户或持久用户画像。这些约束有助于降低隐私风险。公开资料目前仍缺少可独立复核的 precision、recall、群体误差、对抗鲁棒性和无障碍测试结果。

因此,合理的上线方式是先 shadow mode,在真实业务流量中测量误报和漏报,再逐步加入挑战与阻断。风险分数是证据,不是身份凭据。

检测、认证和授权各回答一个问题

检测:这段行为像不像 Agent

检测融合网络、HTTP、设备、浏览器与行为信号,输出概率或风险等级。它负责处理未知、未签名和主动规避识别的流量。

检测需要持续校准。模型版本、浏览器自动化库、用户设备和交互习惯都会变化。一次训练得到的阈值会持续贬值。

认证:这是谁的 Agent

正在演进的 IETF Web Bot Auth 使用 HTTP Message Signatures,让自动客户端以密码学方式声明运营方或产品身份。这比 User-Agent 或公布 IP 段更难伪造。Cloudflare 已提供 Web Bot Auth 验证文档。

签名身份能改善合作型 Agent 的访问体验,但参与仍是自愿的。它证明的是运营方,无法自动证明终端用户是谁,也无法说明这次任务要做什么。

授权:它现在能不能执行这个动作

授权把 Agent 身份与用户委托连接起来。一个可验证的授权至少应描述用户、Agent、资源、动作、权限范围、有效期,以及是否需要人工确认。读取公开目录与修改银行收款人显然需要不同策略。

NIST 关于软件与 AI Agent 身份的概念文件 将问题进一步拆成 identification、authentication、authorization、auditing、non-repudiation、on-behalf-of 委托与动作意图。

行为回答它像什么,签名回答谁在运行它,授权回答它能做什么,审计回答它做了什么。

误报是产品风险,也是无障碍风险

行为分类器会把典型人类隐含成一条安全规则。屏幕阅读器、纯键盘导航、语音控制、switch device、运动障碍用户、远程桌面、触控笔和高延迟网络都可能产生非典型轨迹。FP-Agent 的人类样本没有覆盖这些群体。

W3C 长期记录了 CAPTCHA 的无障碍障碍。连续行为检测可能减少显式挑战,也可能把摩擦转移到不可见的风险评分中。它是否对特定群体产生系统性误伤,需要实测。

生产指标应包括挑战完成率、申诉率、放弃率、不同设备与输入方式的误报率,以及攻击者绕过后的损失。上线策略也应采用分级处置:

  1. 低风险读取允许通过,同时记录 session。
  2. 未签名的重复抓取先限速或增加验证。
  3. 受保护资源要求签名身份或委托凭据。
  4. 支付、删除和权限变更要求用户明确确认。
  5. 为被挑战用户提供替代验证和申诉路径。

一张生产决策矩阵

场景 行为风险 身份 授权 建议动作
公开内容低频读取 低 未知 无需 放行并观察
未签名的重复抽取 中高 未知 无 限速、挑战或计费
已签名购物 Agent 低 运营方可验证 用户已授予范围 在授权范围内放行
已签名 Agent 修改账户 任意 可验证 权限过宽或已过期 重新授权并二次确认
未知主体发起支付或删除 高 未知 缺失 阻断动作并保留证据

矩阵的价值在于避免用一个 bot score 决定所有事情。风险来自动作、权限和后果,不只来自自动化本身。

网站需要可问责的 Agent

Browser Agent 会越来越像人类控制的浏览器。防守方可以采集越来越细的行为,Agent 也会生成越来越自然的动作。纯检测的军备竞赛没有稳定终点。

更可持续的架构是让合作型 Agent 主动提供身份与委托证明,让网站按动作风险分配权限。行为检测继续负责未声明和对抗性流量。

完整技术栈并不复杂:静态信号负责低成本前筛,session 行为负责风险评估,签名身份负责来源证明,细粒度授权负责动作边界,外部审计负责责任追踪。系统还要持续测量自身的误报、漂移和绕过成本。

真正关键的问题已经从浏览器看起来像不像人,变成主体、权限、行为与结果能否形成一条可验证的证据链。

FAQ

真实浏览器里的 AI Agent 还能被检测吗?

可以。行为节律与 session 时序仍能暴露自动化,但结果是概率判断,需要持续面对新 Agent、新任务和不同人类交互方式的泛化测试。

FP-Agent 是否证明 Precursor 只能识别七种 Agent 中的一种?

没有。FP-Agent 早于 Precursor 发布。论文测试的是 2026 年 5 月时 Cloudflare 的免费 AI Bot 控件。

行为指纹能否替代 Agent 身份?

不能。行为指纹适合分类风险,无法提供密码学身份,也无法证明用户授权。

Web Bot Auth 是什么?

它是 IETF 正在推进的自动客户端认证机制,使用 HTTP Message Signatures 帮助网站验证 Agent 运营方。当前仍处于标准演进阶段。

网站怎样降低误报?

先以 shadow mode 观察,按设备和输入方式切片测量误差,使用分级处置,并为用户提供替代验证与申诉路径。

参考资料


Comment