scripts and commands

亚马逊切 Muse 只引合同:agent 的入场券是自报家门

2026/09/21 20:14

9 月 8 日 Meta 上线 Muse,一周后登顶美区 App Store 免费榜,把 ChatGPT 挤到后面(9to5Mac 9/18 转引,二手、方向性)。用户拿它换车险、在结算页找折扣码、往购物车里装东西。Meta 官方给它的定位是个人 agent:连邮箱、日历、支付、餐饮、购物,多步任务一次跑完。它免费,带付费订阅档,跑在 iOS、Android、muse.ai 和 WhatsApp 上。

9 月 20 日周日晚,同一批用户里有人让 Muse 去亚马逊下单,页面弹出一行字:Continued access by an unauthorized AI agent violates Amazon's Conditions of Use, to which our customers have agreed。弹窗截图由 GeekWire 9/21 发布(第一手,配图)。Muse 的整个购物流程到这里断掉。

弹窗里没有「入侵」「漏洞」「泄露」任何一个词。亚马逊发言人随后把口径说全:第三方应用替顾客去别的商家下单,应当公开运作,尊重服务商参不参与的决定。Meta 周日深夜未回应;它在 9/8 发布口径里说,Muse 对用户的密码和支付方式没有可见性,用户交出的凭证进 secure storage。

这条弹窗和 Meta 上个月发布的安全架构文档,说的是两件不同的事。Muse 的凭证 vault 防的是 agent 被攻破之后的损失,防不了商户拒收。agent 进店的门票是表明身份,亚马逊自家 agent 会自报家门,Muse 的浏览器不会。

这一周 agent 商业的信任问题密集爆点:9/17 有人把 agent 群发邮件定性为 spam,Resy 因 agent 抢订位暂停了 VC 账号,OpenAI 同一天官宣 Sponsored Agents 试点——广告主买对话流里的成交席位。亚马逊这条弹窗是同一议题的另一端:商户把 agent 拒之门外。一边是 agent 想进场,一边是商户能拒收,谁说了算第一次有了明确答案。

弹窗引的是合同条款,全文没有一个入侵指控

先看亚马逊摆出来的三条理由。第一,Meta 没告诉亚马逊 Muse 会访问它的店铺。第二,agent 浏览时不表明自己是谁。第三,它「看起来在捕获并存储顾客凭证」,这可能造成隐私与安全风险。发言人声明里没有一句提到技术漏洞。

弹窗文案用的是 "unauthorized AI agent",这个词是合同定性。亚马逊顾客注册时同意过 Conditions of Use,条款约束的是「顾客」的行为。agent 替顾客访问,被亚马逊解释为顾客行为越界。整件事从头到尾走的是服务条款这条路。

合同条款里的 permission 是给「你」的,不是给「你的软件」的。亚马逊的立场是:你可以用浏览器、用手机 app 访问,那是条款授权的访问方式;一个你没告诉亚马逊、亚马逊也没同意过的程序替你来,条款覆盖不到。所以弹窗说 unauthorized,说的是「条款之外」,说「未授权访问」更像 CFAA 的词。

合同路线和入侵路线在亚马逊内部是分开管理的。对 Perplexity 的 Comet 浏览器,它去年提的是另一套说法:CFAA,反计算机欺诈法,指控 AI 公司未经授权访问它的计算机。对 Muse,它连「访问」都没提,只说「违反使用条件」。两种措辞背后的法律命运完全不同,见下面的时间线。

CFAA 在 8 月 4 日已经输掉,合同是剩下的那条路

2026 年 3 月,亚马逊对 Perplexity 拿到初步禁令,禁止 Comet 在其站内代购。8 月 4 日,第九巡回上诉法院撤销了禁令(判决书 26-1444.pdf,第一手)。法院的理由:访问亚马逊计算机的是用户本人,不是 AI 公司,CFAA 不适用。这个定性对 agent 产业是第一次:法律把 agent 当成用户的工具,像浏览器一样,工具本身不承担「未经授权访问」的责任。

9 月 10 日,法院拒绝亚马逊的重审请求(Courthouse News 报道)。但判决给亚马逊留了一条缝:基于合同和服务条款的索赔仍然可以主张。这次弹窗引的正是 Conditions of Use,把 CFAA 从指控书里整个拿掉了。

所以 Muse 看到的这条弹窗,是亚马逊在 CFAA 路线死掉之后动用的合同杠杆。它不需要证明 Muse 黑进了什么,只需要主张用户同意过的条款被违反。弹窗是执行装置,条款是法律依据。

这也解释了为什么亚马逊说「还在与 Meta 直接沟通」、被问是否起诉时拒绝评论。合同路线的下一步是谈判筹码,不是马上开庭。Perplexity 案里输掉的指控方式,它不打算再用第二次。

对 agent 公司来说,这条判例的杀伤力在别处:法院明确说「用户本人访问不构成 CFAA 违法」,等于告诉商户,拦 agent 别指望刑法,去改自己的服务条款。条款是商户自己写的,主动权在商户手里。OpenAI 的购物 agent 之前也被亚马逊挡过(TechRadar 报道),用的就是同一套条款逻辑。这一条对任何做 agent 的公司都成立。

留意一个细节:亚马逊赢下 Perplexity 禁令是在 3 月,输掉是在 8 月 4 日。它没有在 3 月对 Muse 动手,因为 Muse 那时还没上线;它也没有在 8 月 4 日当天改策略,而是等到 9 月 20 日 Muse 登顶免费榜之后才弹窗。法律路线和商业时机是两套时钟,弹窗踩的是商业那只。

Muse 的凭证 vault 是真的,亚马逊的指控也是真的

Meta 在 9/8 的安全博客里把架构写得非常具体(第一手)。凭证存在用户自己的 VM 里,不在 Meta 的中心化设施。agent 永远看不到真 token,authd 只发 surrogate 凭证,Sentinel 在网络边界把假 token 换回真的。主 agent 被 prompt injection 之后也吐不出真凭证。

Sentinel 是独立于主 agent 的 host-side 组件,connector 动作和网络出口的唯一授权方。每个网络请求都过它的前置代理,L4 和 L7 两层都查:hostname、最终解析 IP、端口、协议、HTTP method、路径、解码后的请求体。SSRF 防护防止公开 hostname 解析到内网地址。

浏览器路径同样收口。sub-agent 只看 accessibility tree 快照,看不到原始 DOM,读不到凭证存储注入的内容。用户接管浏览器时 agent 暂停。邮箱连接器过滤一次性验证码、密码重置链接和 magic link,防止 agent 被邮箱里的重置链接带走去冒充用户。每一层都针对「模型被攻破」设计。

支付环节最紧。Muse 首发接 Stripe Link,每次支付签发单次卡号,绑定具体商户、具体金额、限时有效。就算卡号被偷,攻击者拿它买不了别的东西。Muse 对每个结算页动作都弹人工确认,Sentinel 批准才放行。官方 bug bounty 上限 $300K,其中单用户 prompt injection 成功最高 $130K(Meta 官方博客口径)。

这套防御在 agent 安全圈里算顶配,问题出在防御对象选错了。审批本身也做成能力而非建议。Sentinel 给出的批准是一次性、会话级、任务级、限时或永久的,后续调用必须精确匹配已批准的范围。读操作和写操作分开授权:Gmail 的 OAuth 给了读,可以再拿掉设置项权限。Meta 还在开发 Muse Confidential VM,用密码学手段让 Meta 自己都读不到 VM 里的数据,年内交付。

Meta 还有一层叫 tainted egress 的机制:每个工具进程从干净状态启动,读过用户数据就被打上 taint 标记,tainted 进程的网络请求失去 auto-allow 资格,退回人工确认。它甚至检测「你在结算页」——检测到 checkout 页面就强制弹确认,无论用户之前授权过什么。

Meta 说它用一整套分类器拦 prompt injection:外部数据进 context 之前先过检测,下载的文件、网页文本、工具返回都在列。浏览器 sub-agent 无法执行页面里的 JavaScript,用户接管浏览器的几秒里 agent 完全暂停。这些设计防的是「agent 被攻破后泄密」,亚马逊的弹窗防的是「agent 被看见」。两套防御对象不同,谁也没覆盖谁。

亚马逊说 Muse「捕获并存储顾客凭证」,Meta 说 agent 永不见真凭证。两边可以同时成立。vault 防的是「agent 被攻破后凭证外泄」,亚马逊说的是「一个不表明身份的第三方在顾客账户里移动」。前者是泄露问题,后者是知情问题,安全架构解决不了知情问题。弹窗只是开始。

Meta 官方自己都承认场景:没有 API 的服务,Muse 就用浏览器「像你一样」访问。这句话就是亚马逊攻击的入口——「像你一样」意味着它不声明自己是 agent,商户看到的是一个普通访客会话在操作账户、下单、读订单历史。vault 再深,也改变不了「你没告诉我你是谁」这个事实。

还有一层值得单独说:凭证 vault 保护的是「凭证」,挡不住「行为」。亚马逊指控里最重的一句是「agent 可以到达账户页和订单历史」——只要用户让 Muse 去,它就能读。读订单历史不需要偷凭证,用户自己把权限交给了 Muse。vault 架构在这里完全帮不上忙,因为它防的是模型被攻破,防的是用户主动授权后的正常操作。

亚马逊自家 Buy for Me 会表明身份,Muse 不会

对照亚马逊自己的 agent。Buy for Me 是它的 agentic 购物功能,替顾客在外部品牌站找货下单,但会表明自己是 agent,并允许品牌 opt out。5 月上线的 Alexa for Shopping 做产品研究和推荐,同样在自家生态里运作。

亚马逊发言人还举了传统例子:外卖应用替顾客向餐厅下单,在线旅行平台替顾客向航司订票,都先取得商家同意。它要表达的是,代购行业有默认规则:替人买东西的一方要让卖方知道谁在买。Muse 的浏览器代购绕过了这条规则。

Meta 的回应空间在于「用户授权」。Muse 每个敏感动作都弹人工确认,支付前必确认,Sentinel 批准才放行。但「用户授权」和「商户知情」是两码事,用户点头代替不了商户同意。亚马逊要的恰恰是商户这一票。Meta 的安全博客里通篇是「用户批准」「用户可见」「用户可接管」,商户这个词一次都没出现——它设计的整个授权模型里没有商户的位置。

这条界线以后会越来越硬。亚马逊过去一年清过场:告 Perplexity、挡 Google 的购物 agent、挡 OpenAI 的购物 agent(TechRadar 报道)。Muse 是它挡的第四家,也是唯一一家它同时在做算力生意的。它拦的不是 Muse 一家,是「agent 不打招呼就进店」这件事本身。

HN 上有人把这件事读成「agent 验证层的需求证明」:浏览器 agent 需要一个标准化的身份声明,就像当年的 robots.txt 和 User-Agent。商户要能识别、能 opt out、能按条款执行。Muse 撞上的这堵墙,会变成下一代浏览器 agent 的默认配置。

对照 OpenAI 那边:Sponsored Agents 把广告做成对话,广告主买的是「对话流里的成交席位」,买家甚至可能不知道对面是广告。亚马逊的反向动作是同一个市场的两极——一个把 agent 藏进对话,一个要求 agent 亮明身份。中间地带会挤满谈判:商户要身份披露,agent 平台要进场,用户要方便。谁先立住标准,谁就定义下一轮 agent 商业的规则。

$68B 广告收入才是弹窗背后的动机

亚马逊去年的广告收入超过 $68B(GeekWire 报道口径),这个生意依赖用户浏览页面、看赞助位。agent 代购把浏览和广告曝光一起省掉了:Muse 用户找折扣码、装满购物车、直接结算,中间没有一次广告展示。

两家公司的关系比「店主 vs 闯入者」复杂得多。2023 年 11 月起,亚马逊商品可以在 Facebook 和 Instagram 里直接购买(CNBC 报道)。2026 年 4 月,Meta 签了数十亿美元协议,把 agentic AI 负载跑在亚马逊 Graviton 芯片上(GeekWire 报道)。亚马逊既是 Muse 的算力供应商,又是被它代购的商户。

所以这是商业边界的划线,不属于技术冲突。广告位是亚马逊的商业模式,agent 结算页跳过了广告位,弹窗是它对冲这个损失的手段。安全措辞是公开理由,$68B 是沉默的理由。

Muse 上线一周登顶免费榜这件事,把时间压力也摆上了台面。一个一周内超过 ChatGPT 的 agent 开始批量替用户下单,亚马逊不能等它形成习惯再动手。弹窗赶在用户规模起来之前出现,时机就是它的表态。用户习惯一旦养成,再想收回就难了。

Muse 自己也有广告牵连。Meta 官方承认,Muse 浏览网页时「会表现为你的活动」:让 Muse 去某服装品牌站买衬衫,该品牌可能因此在 Instagram 上给你投广告。亚马逊的担忧反过来也成立——你让 Muse 逛过的店,可能正是亚马逊广告生态里的投放方。

亚马逊说 Muse 到达账户页和订单历史是「未经披露的第三方在顾客账户里移动」。用户视角里那是「我的 agent 帮我查」,商户视角里那是「一个匿名程序在读我的顾客数据」。同一个动作,两种定性,广告生态把这种分歧放大了:数据归谁、浏览算谁的、推荐位给谁,都悬在这条定性上。

商户要的是身份与知情,vault 证明不了这两样

把三条新闻的限定词补回去。这条新闻的定性是「Muse 被商户拒收」:弹窗引合同、无入侵指控。亚马逊赢下的是合同这一仗,CFAA 那条已经输了。agent 没有偷凭证被抓;凭证架构与商户知情是两套标准,Meta 只做了第一套。

下次看到一个 agent 产品,先问三个可核对的问题。它的浏览器在商户页面上声明自己是 agent 吗?商户的服务条款里有没有 agent 条款?出问题时它引的是合同还是入侵法?三个问题都答不上来的产品,遇到亚马逊这类商户就是 Muse 的下场。

对做 agent 的团队,这条边界是产品需求,不是法务需求。身份披露要做进浏览器:UA 里声明、页面上可见、商户 opt-out 机制留好。Meta 把 $300K 悬赏砸在 prompt injection 上,却漏了商户这一票,这个错位值得记住。

对商户,条款要写得能执行。光写「禁止自动化访问」不够,要写清 agent 的定义、披露义务、opt-out 路径和违约后果,否则弹窗之后还是谈判。亚马逊这次弹窗能立住,是因为 Conditions of Use 里确实有对应的执行抓手。

这条边界还会往两个方向长。一个方向是协议层:未来的 agent 会带机器可读的身份和意图声明,商户用同样的协议回「允许」「拒绝」「需人工」。另一个方向是法规层:欧盟 12 月 9 日生效的严格产品责任、各国 AI 法案都会碰到「agent 替用户下单,责任在谁」的问题。弹窗是合同私了,法规是公断,两条线都会动。亚马逊抢跑了一步。

对用 agent 的人,边界更简单:让 agent 替你在陌生商户下单之前,先问它一句——你在店家页面上表明过自己是 agent 吗?它答不上来,你就知道这笔单子随时可能被一条弹窗切断,而你的订单历史、地址、支付信息已经在那家商户的日志里走了一趟。问这一句,比读十篇安全博客管用。