2026-07-08 | 威胁模型站在"付款方(消费者 / AI Agent)"视角
核心前提:这些协议只认证「支付」,不担保「交付」与「商家诚信」
x402 / L402 都是"先付款、后拿资源",没有原子交换、没有链上退款、没有信用卡式拒付(chargeback)。 链上一旦付出,不可逆。所以最大的风险不是"付款被伪造",而是:
服务器收了钱不给货 / 少给货 / 货不对板,以及诱骗你签一笔恶意授权。
一、消费者/Agent 能感知到什么?(能 vs 不能)
| 能感知(付款前可验证) | 不能感知(协议不保证) |
|---|---|
| 收款金额、资产、地址、链(402 应答里明写) | 服务器是否真会交付资源 |
| 站点 TLS 证书 / 域名真假 | 交付内容质量是否达标 / 货不对板 |
| 自己是否真的付了、付给谁(链上可审计) | 对方是否一女多嫁(收钱不办事) |
| 是否被要求签超出预期的授权(能解码就能看穿) | 该商家历史信誉(需外部数据) |
结论:
- "我付了多少、付给谁" · 完全可验证(链上审计 + 402 头明文)。
- "对方会不会骗我" · 协议层无法感知,必须靠信誉/托管/小额分批/托管担保等外部手段。
- 最危险的盲区:盲签(blind signing)。若 Agent/钱包不解码就签 EIP-3009 授权,可能被诱导签出远超预期的转账,甚至签成 approve 之类的钱包掏空授权。
二、典型欺骗手法
- 收钱不交付:返回合法 402,收到
verify通过后不给资源(利用 verify/settle 与交付解耦)。 - 超额/钓鱼授权:402 里要 1 USDC,却诱导签一笔金额巨大、或收款地址是攻击者、或根本不是转账而是授权的消息。
- 地址替换 / 中间人(MITM):无 TLS 或被劫持时篡改收款地址。
- 重放 / 双花收款:重复提交同一授权多次扣款。
- 诱饵调包(bait-and-switch):先报低价,交付时或下轮抬价。
- 假门面钓鱼站:仿冒知名 API 的域名,骗 Agent 自动付款。
- 假信誉 / 女巫攻击:刷好评、伪造调用量骗取信任。
三、防御手段(按优先级)
A. 付款前:验证再签(最关键)
- 永不盲签:钱包/Agent 必须解码并展示 EIP-3009 的
to / value / validBefore / nonce / 链 ID / domain separator,确认是"有上限的 USDC 转账"而非授权类消息。 - 收款地址白名单:只对已知/可信商家地址放行;地址不在名单 → 拒签。
- 金额上限校验:签名金额必须 == 402 声明金额,且 ≤ 预算硬顶。
- 强制 TLS + 域名核对:HTTPS、证书有效、域名与预期一致,防 MITM 和钓鱼站。
B. 限制单次最大损失(把"不可逆"的伤害压到最小)
- 小额分批 / 流式支付:按 L402 思路每次只付极小增量(pay-as-you-go),对方一旦不交付立即停付,最大损失 = 一个 tick。
- 预算隔离:给 Agent 独立的低额度热钱包/子账户,不挂主资金。
- 每笔/每日限额:facilitator 或钱包层设 spending cap。
C. 防重放与可审计
- Nonce / 一次性授权:EIP-3009 自带 nonce;macaroon 一次性,防重放双扣。
- 保留回执:链上 tx + preimage / 签名 Mandate,事后可举证"我付了什么"。
- AP2 Mandate:用签名的 Intent/Cart 凭证形成防抵赖审计链,纠纷时可证明授权边界。
D. 信任与信誉(解决"对方会不会骗"这个协议外问题)
- 端点白名单 / 信誉系统:只调已验证的服务,参考第三方信誉/评分。
- 可信 facilitator:用 Coinbase CDP 等成熟 facilitator,而非来路不明的中间人。
- 托管/担保交易(escrow):大额走第三方托管,交付确认后再放款(牺牲即时性换安全)。
- 大额人工确认(human-in-the-loop):Agent 超过阈值必须转人工批准。
E. 服务端侧(如果你是收款/中介方)
- 交付与结算绑定:verify 通过即交付,失败可原路取消未 settle 的授权。
- 幂等键:防止重复扣款。
- 限流 + 异常监控:识别女巫/滥用。
四、和信用卡的根本差异(为什么防御思路不同)
| 卡支付 | x402 / L402 链上支付 | |
|---|---|---|
| 可逆性 | 可拒付/退款(chargeback) | 不可逆,无拒付 |
| 事后救济 | 发卡行仲裁、退款 | 几乎无,只能自证已付 |
| 防御重心 | 事后追偿 | 事前验证 + 单次损失最小化 |
| 中介兜底 | 银行/卡组织 | facilitator/托管仅可选,非默认 |
因为链上不可逆,防御必须前移:验证再签、白名单、小额分批、预算隔离 · 把"骗局能造成的最大损失"在付款前就锁死,而不是指望事后退款。
五、一句话总结
- 能感知:付了多少、付给谁、站点真假、授权是否越权 · 只要不盲签、走 TLS、验地址金额,都可事前识别。
- 难感知:对方收钱后是否交付、货好不好 · 协议不保证,靠小额分批 + 信誉/白名单 + 托管担保 + 大额人工兜底。
- 黄金法则:永不盲签、地址金额白名单、单笔损失最小化、给 Agent 独立低额度钱包。