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 的无障碍障碍。连续行为检测可能减少显式挑战,也可能把摩擦转移到不可见的风险评分中。它是否对特定群体产生系统性误伤,需要实测。
生产指标应包括挑战完成率、申诉率、放弃率、不同设备与输入方式的误报率,以及攻击者绕过后的损失。上线策略也应采用分级处置:
- 低风险读取允许通过,同时记录 session。
- 未签名的重复抓取先限速或增加验证。
- 受保护资源要求签名身份或委托凭据。
- 支付、删除和权限变更要求用户明确确认。
- 为被挑战用户提供替代验证和申诉路径。
一张生产决策矩阵
| 场景 | 行为风险 | 身份 | 授权 | 建议动作 |
|---|---|---|---|---|
| 公开内容低频读取 | 低 | 未知 | 无需 | 放行并观察 |
| 未签名的重复抽取 | 中高 | 未知 | 无 | 限速、挑战或计费 |
| 已签名购物 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 观察,按设备和输入方式切片测量误差,使用分级处置,并为用户提供替代验证与申诉路径。