事件经过
V12安全研究(10月22日发布)报告了x402中的三个关键缺陷,x402是AI代理用于内联支付API调用的标准。恶意API可以耗尽代理的全部代币余额,因为默认客户端没有支出上限;一个Solana协调器可以接受代币批准作为有效支付;登录扩展可以为不同网站签署消息。这三个问题都在8月18日的版本中修复,但x402基金会未发布安全公告,因此包审计工具错过了它们。
影响分析
代理支付是一个新兴的真实资金攻击面。一个自动签署支付、没有应用层限制且与其通信的服务器可由攻击者引导授权其全部余额——这是直接的经济影响类别,而不仅仅是数据暴露。
攻击途径
(1)默认客户端没有设置支出限制,因此返回402的恶意API可以请求支持代币的钱包全部余额;在自动签署和无应用支付策略的情况下,代理可以签署,攻击者收取资金。(2)在Solana上,TypeScript协调器将代币批准视为有效转账(仅在第一个指令字节上有所不同),因此商家交付了付费资源却没有收到代币——一种“完全支付绕过”。(3)Sign-In-With-X客户端在签署登录消息时未验证指定网站是所联系的网站,使恶意服务器可中继登录消息以在另一个网站上以代理钱包身份登录。
受影响系统
在任何2026年8月18日修复之前的版本中的x402客户端SDK(Copper/TypeScript/Python/Go @x402/*, @x402/svm, @x402/extensions);仅TypeScript @x402/svm 2.0.0–2.22.0协调器具有批准即支付缺陷
缓解措施
升级到最新版本(TypeScript @x402/fetch/@x402/axios/@x402/core至≥2.23.0/2.28.0, @x402/svm至≥2.23.0, @x402/extensions至≥2.23.0, Go模块≥2.28.0, Python≥2.25.0),这些版本增加了默认1美元支出上限、仅USDC识别、指令类型检查和SIWx网站绑定。由于没有发布公告,请手动应用修复,并为任何自动签署支付的代理设置明确的支出限制和可信接收方控制。