Skip to content

AP2 v0.2 授权前上下文与交易意图完整性 ​

摘要 ​

Agent Payments Protocol(AP2)v0.2 使用签名的 Checkout Mandate 与 Payment Mandate 保护交易数据在签名后的完整性,但购物 Agent 在授权前依赖 A2A 消息、MCP 工具结果、目录信息和商户报价形成交易。若这些上下文被操纵,最终 Mandate 即使签名和哈希绑定均有效,也可能准确签署了偏离用户意图的交易。

研究把 AP2 生命周期拆为五个阶段、部署拆为五类架构,使用 MAESTRO 建模四类威胁主体、11 个攻击面、18 项对手能力和六个目标,得到 48 项威胁;其中八项在至少一种架构中达到 AIVSS 高风险区间。作者用自建测试台和五个 PoC 覆盖八项高风险威胁,但当时没有完整公开 AP2 部署,结果不能视为生产事件或普遍漏洞率。

核心创新与差异 ​

原研究贡献。 论文不只检查签名、重放或字段绑定,而是把预授权上下文、Mandate 形成、验证消费和事后证据放进同一状态机,并按是否存在共享 MCP、子 Agent 和 Marketplace 区分部署架构。研究还实现了按部署画像选择静态、跨角色一致性和对抗检查的扫描器。

本站分析。 该研究证明“签名有效”与“用户意图正确”是两个不同性质。首个失效控制可能发生在签名前的上下文来源认证、跨角色状态一致性或可信界面呈现,而不是密码算法;主要修复责任跨越购物 Agent、商户 Agent、MCP/A2A 集成、可信确认界面和支付验证方。

协议定位与核心差异 ​

AP2 v0.2 支持用户在场(Human-Present, HP)与用户不在场(Human-Not-Present, HNP)两种流程。HNP 先由用户签署开放 Mandate,再由购物 Agent 在约束内生成并签署闭合 Mandate;这扩大了授权与实际商品、价格和商户确定之间的时间与上下文距离。

论文定义的五阶段是准备身份和密钥、形成交易上下文、授权 Mandate、验证与消费、保留证据。签名主要覆盖第三至第五阶段的制品完整性;商品发现、购物车组装、报价、共享工具状态和跨 Agent 消息对签名前内容的塑造仍需单独控制。

威胁模型与攻击链 ​

攻击者可以是恶意用户、商户、部署运营方或外部攻击者,并可能控制 Agent Runtime、A2A/MCP 通道、工具描述或返回、密钥与配置中的一个或多个位置。

  1. 攻击者在签名前操纵目录、报价、购物车、工具结果或 Agent 间消息。
  2. 购物 Agent 将受污染上下文转换为看似满足开放 Mandate 的交易。
  3. 可信界面显示不完整、含混或与实际对象不一致的摘要。
  4. 用户或 Agent 对已被塑造的 Mandate 完成合法签名。
  5. 验证方只检查签名、哈希、约束和重放状态,交易因而以密码学有效形式执行。

攻击方法与复现材料 ​

以下为依据论文协议阶段重构的去武器化测试轨迹,仅使用 .invalid 商户和零金额测试夹具:

text
P2 A2A quote: merchant=shop.example.invalid, item=fixture-A, amount=0
P2 MCP result: cart_id=TEST-42, source=shared-tool
P3 trusted display: compare normalized merchant/item/amount with source records
P3 sign only if every displayed field and parent mandate hash matches
P4 verifier: enforce signature + checkout hash + constraints + single use
P5 receipt: retain source and decision hashes for dispute replay

预期安全结果是任何商户身份、商品、金额、工具来源、父 Mandate 或呈现内容不一致都会阻止签名或消费。本文不提供真实支付凭据、商户端点或可执行攻击代码。

实验设计与实际过程 ​

以下均为作者实验,本站未独立复现。由于没有完整公开 AP2 部署,作者搭建覆盖五类架构的测试台:单购物/商户 Agent、隔离 MCP、子 Agent 编排、Marketplace 和共享 MCP。48 项威胁按五个攻击家族组织,并按具体架构分别评分。

五个 PoC 覆盖全部八项高风险威胁及相应缓解;扫描器先形成部署画像,再运行静态检查、跨角色一致性检查和对抗检查。作者另用 STRIDE-GPT 比较威胁目录覆盖,以八名评审者检查 AIVSS 严重度可复现性,并对扫描器执行分层消融。

关键结果与实际影响 ​

  • 48 项威胁中有八项在至少一种架构进入高风险区间,风险随共享 MCP、Marketplace 和子 Agent 等边界变化。
  • 五个 PoC 表明,高风险链不必伪造签名;控制签名前上下文即可让合法 Mandate 承载非预期交易。
  • HP 与 HNP 不能使用同一确认假设:HNP 的开放授权必须约束后续商户、商品、金额、频率与累计预算。
  • 结果是测试台中的可实现性证据,不代表 AP2 生产部署已经受到攻击,也不证明所有 48 项威胁在每种架构均成立。

防护措施与验证方法 ​

实现方应把用户意图、规范化交易字段、来源记录和 Mandate 哈希绑定为同一可审计链;可信界面必须直接呈现商户、商品、数量、金额、费用与授权期限,不能只显示 Agent 摘要。每个验证方应独立检查签名、父子 Mandate、约束、单次消费和累计限制。

A2A 与 MCP 输入需保留主体、会话、任务和工具来源;共享 MCP 架构应隔离购物方与商户方状态。发布前应按实际架构运行静态、跨角色和对抗检查,并加入签名前后差分、重放、商户替换、共享工具污染和 HNP 预算累积测试。

局限与待验证问题 ​

证据等级为 moderate:单篇完整论文提供系统威胁模型、测试台、PoC 与扫描器评估,但没有真实生产部署或独立复现。AIVSS 分数依赖架构与评审判断,不能作为漏洞存在性的单独证据。

测试台无法覆盖支付网络、发卡方、各实现的可信界面和现实欺诈控制。AP2 仍可能演进;本文结论只针对论文分析的 v0.2 语义和五类架构。

参考链接 ​