一个握着你用户密码的智能体就是你的用户,任何请求头都修不好这件事。
在 2026 年 10 月的四周之内,封锁第三方 AI 智能体成了五家大型消费业务的明文政策——而其中没有一家能可靠地检测出它声称正在封锁的那个东西。一个用你客户自己的凭据登录的智能体,摆出来的会话在构造上就是你客户的会话:没有任何字段可供检查,而它可能携带的每一个信号,都是它自己选择要不要发的。所以真正起作用的控制不是检测,而是替代——签发一个你自己的限定范围接口,让它明显优于抓页面,并把你真正在意的那些操作放到它背后,这样写操作是因为形状而被拒绝,而不是靠猜。
步骤 1把你能观测到的东西写下来,然后发现没有一样构成决策。
服务端能拿到的每个信号,都落进两堆里的一堆,而两堆都是输的那一堆。要么这个信号由智能体控制,要么你是在从行为上做推断,而一个下决心的开发者下个迭代就会把它磨平。
- 自我声明的身份——一个
User-Agent、一个自定义请求头、一份签名的机器人身份凭据。完全自愿。你最想排除的那些智能体,恰恰是最有理由不声明的;Amazon 对 Meta Muse 公开的不满,就是它在浏览时没有自报是 AI——而这是在抱怨一个从来不是强制的信号。 - 客户端指纹——无头浏览器的痕迹、TLS 或 JA4 指纹、canvas 与字体熵。这些手段有效,直到智能体开始在用户自己机器上驱动一个普通的、已登录的 Chrome 配置——而现在好几款消费端智能体就是这样设计的。那时候,指纹就是用户的指纹。
- 网络来源——数据中心 IP 段、ASN 声誉。能抓住托管在云上的爬虫,抓不住任何跑在用户笔记本上、或走他们家庭宽带出去的东西。
- 行为推断——请求速率、导航形状、停留时长、鼠标熵。四者中最好的一个,但仍然是概率,不是事实。把它调到足以抓住一个谨慎的智能体,你就会开始拦掉读屏软件用户、纯键盘用户,以及你自己那些用表单填充工具的重度用户。
这就是环境权限从你楼外走进来的样子。凭据能做什么,持有者就能做什么,而你的授权层从来没被赋予一种追问「是谁在持有它」的手段。关于这些信号及其极限的通用编目在机器人验证与智能体准入;这里的运维结论更窄也更难听——一个好到能当安全控制用的检测器,其误判率是你的客服组织撑不下来的。
不要让厂商把「智能体检测」当成这个问题的答案卖给你。你愿意的话,可以把它当作一路遥测数据和一个限流输入来买。但当它一旦成为站在陌生人与一次资金划转之间的那样东西,你的控制手段就变成了一个有对手、且两类错误都有商业成本的分类器。
步骤 2把你可能在拒绝的三样东西分开,因为它们的答案各不相同。
「我们封锁 AI 智能体」把三个各自独立的决定塌缩成了一句话,而不把它们拆开的团队,最后守的往往是错的那一个。据报道,嘉信理财十月的政策,是这三者在同一段话里被分别决定的、最清楚的公开样本。
- 通道。用客户凭据打开的浏览器会话。据报道嘉信会拦下这些,并且每周收到一份拦截报告——几家大厂被拦下的量级在「每周几十个上下」。
- 能力。资金划转。无论谁来问、以何种方式完成认证,一律禁止。
- 对手方。读取。通过嘉信自家的 MCP 服务端,对外部模型保持开放,可读余额与研究报告。
这是三条政策,配三套执行机制。通道那个决定,恰恰是你执行不好的那个(STEP 1)。能力那个决定可以执行得完美无缺,因为一个在某个接口上不存在的操作,无法经由它被调用。对手方那个决定可执行,因为授权是你签发的、也可以由你撤销。注意三者里哪两个便宜——以及它们正是那两个不要求你认出任何人的。
在写政策之前,先在自己的产品上做同一道拆分。对每一个敏感操作问一句:如果是一个正确完成认证、替其所有者行事的智能体,我会拒绝它吗?如果会,那控制点属于能力,通道问题是干扰项。如果不会,那你是在试图造一个检测器——于是 STEP 1 适用。
步骤 3没有正规通道的封锁,就是一张「请做个绕路方案」的需求单。
拒绝一条你检测不出来的通道,会产出一个可预期的结果:对面的开发者开始投入让自己更难被检测,而你的封锁会以他们下一个版本的速度衰减。那些政策看起来站得住的机构,都是把拒绝和替代方案一起交付的。
- 嘉信理财——外部模型保留经其自家 MCP 服务端的读取权限;其余一切都被导向 Charley,它自研的助手。
- Yelp——放进加入了付费数据授权计划的智能体。这条政策不是「不要智能体」,而是「开发方有合约的智能体」。
- Meta,作为智能体的开发方而不是守门人,对 Amazon 的封锁的回应,是指向它有合作安排的那些零售商——Walmart、Best Buy、Gap、Sephora、Wayfair。
这条正规通道必须确实优于抓页面,否则没人会走:给结构化结果而不是解析过的 HTML,给稳定的契约而不是每周都坏的选择器,给写明的限流而不是一波封号,给明确的授权而不是向用户索要密码。最后这条正是把智能体开发方变成盟友的那一条——没人乐意去收集凭据,而MCP 的 OAuth 2.1 授权模型存在的意义,恰恰是让资源方——而不是智能体——决定这枚令牌能做什么。
把这份授权记录成一等公民对象,而不是一张没人看的 OAuth 表里的一行。哪个智能体、替哪个用户、带哪些范围、何时由谁批准、可由谁撤销——这就是委托访问与同意记录的内容。没有它,你就回答不了第一起事故一定会带来的那个问题:这是凭谁的权限发生的?
步骤 4把写边界做成结构性的,这样它不需要认出任何人也能成立。
一个你亲手设计的接口,最强的性质在于它有一份操作清单,而这份清单就是策略。一个没有「转账」这个操作的接口,无论往智能体的上下文里注入什么、无论它的凭据是怎么拿到的,都没法把它骗去转一笔钱。这和一条写着「不要转账」的规则,是完全不同量级的保证。
# The grant is the control surface. Reads and writes are not the same surface. def mint_agent_grant(user, agent_id): return Grant( subject = agent_id, # the agent, not the user on_behalf = user.id, # recorded, never impersonated scopes = ["positions:read", "research:read"], ttl = "15m", # short, refreshable, revocable audience = "agent-api", # not the human web session ) # Writes are not a scope you forgot to grant. They are absent from this API. assert "transfer:create" not in AGENT_API.operations # transfer:create lives only on the first-party path, behind step-up auth
真正在起作用的是三条性质,而这三条都是寻常工程,不是 AI 政策。这份授权把智能体本身列为主体,而不是让它披着用户的会话,这才使审计轨迹成为可能——也正是智能体的身份所讲的那个区别。令牌短时效且绑定受众,于是一次泄露是一个小而会过期的问题,而不是一次账号接管;见凭据时效与面向智能体的限定范围凭据。而那个危险操作在面向智能体的 API 上根本不存在,这是通过卸掉代理的手、而不是通过叮嘱它,来关掉混淆代理这条路。
抵制「加一道审批就把写操作开出去」的诱惑。一个由智能体来请求、来措辞、来替用户总结的审批,是一个智能体部分掌控的界面。如果写操作必须存在于智能体这条路上,就把它绑定到用户在你的界面上亲手输入的金额与收款方,并让那道确认从智能体提供的任何东西都无法触达。
步骤 5趁量还只是舍入误差,现在就把条款写好。
十月这些封锁最醒目的地方是它们的规模。嘉信服务着数千万个券商账户;每周几十次被拦下的智能体登录不是一个运营问题,而是在流量到来之前就被立下的一则先例。你这边的同一个窗口,因为同样的理由而正开着;而一旦某个流行的智能体教会了一百万用户「你的产品是通过它来用的」,这个窗口就关上了。
在那之前该备好的东西:
- 一条关于共享凭据的明确立场,写进用户确实会同意的条款里,并与你笼统的自动化条款分开。「不要把密码给第三方」和「不要抓取」是两条不同的规则,而只有其中一条是关于智能体的。
- 按授权而不是按 IP 的限流与配额。授权是你签发的那个单位,所以它也是你能限流、能撤销、而不会造成连带伤害的那个单位。
- 一项披露要求,写进授权条款:走正规通道的智能体,在每个请求上标明自己。你在非正规通道上执行不了这一条——而这正是重点:它成了「走正规通道」的一个理由。
- 一次撤销演练。挑一份在用的授权,在预发环境里把它干掉。量一下传播时间。一次从未演练过的撤销只是一份计划;而如果响应通道没验证过,检测智能体被攻陷的价值就非常有限。
- 能把一次操作与一份授权接起来的日志,并保留到足以回答监管者的时长。如果你的访问日志记的是会话、你的授权表记的是审批,而没有任何东西把两者接起来,那你拥有的是一个答案的两个半块。
步骤 6什么时候不该封锁。
如果这个操作是只读的、读的又是用户本来就能导出的数据,那么封锁买不到任何安全性,却让你损失掉一个本可以授权变现的集成——该守的是写操作,以及你并没有白送出去的那些数据,而读取可以通过一份你掌控的授权自己把成本挣回来。
另有两种情形,封锁也是错招。如果你唯一的顾虑是负载,答案是对某份授权限流,而不是把人赶走。而如果你的顾虑是智能体可能替用户犯错,那请注意:用户本人有权自己犯这个错——你欠他们的,是一个让这个错有界、可逆、可归属的接口,而这恰恰就是「一开始就该签发那份授权」的全部论据。