Administrator
Published on 2026-07-19 / 2 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