Free-Riding in the AI Economy: Demystifying Logic Flaws in x402-Enabled Payment Systems
本文对 x402 协议进行了首次全面的安全性分析,揭示了诸如签名设计缺陷和竞态条件等关键漏洞,这些漏洞会导致 AI 驱动型支付系统中的搭便车行为和资源泄漏,并提出了用于保障机器对机器交易安全的架构缓解方案。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一个繁忙的数字市场,机器人(AI 代理)正在以闪电般的速度互相买卖服务。这里没有收银员或人类经理;它们只是互相交谈并瞬间交换数字代币。为了让这一切运转起来,一种名为 x402 的新系统被发明了。它就像是一个通用的“付费进入”告示牌,机器人可以自动读取并遵守。
然而,这篇论文是一份安全报告,它指出:“这个市场的锁坏了。”
研究人员发现,由于该系统试图追求过快的速度和过高的灵活性,它在机器人“承诺支付”与“资金实际到达”之间创造了一个“间隙”。这个间隙允许不法分子通过欺骗系统来免费获取服务。
以下是这种“免费搭便车”(Free-Riding)行为的四种主要方式,使用简单的类比进行说明:
1. “错票”问题 (跨资源替代 - Cross-Resource Substitution)
类比: 想象你买了一张电影《黑客帝国》的票。票上写着:“单次入场,10 美元。”但电影院的保安只检查价格(10 美元),而没有检查电影名称。
缺陷: 一个黑客买了一张便宜电影(《黑客帝国》)的票,却走向了昂贵电影(《沙丘》)的 VIP 休息室入口。保安看到那张 10 美元的票,点了点头,便放行了。
现实情况: 在 x402 系统中,机器人用于支付的数字“签名”并没有严格规定它是在为哪项特定服务付费,而只规定了支付的“金额”和“对象”。黑客可以拿一个用于廉价 API 调用的有效支付证明,去解锁一项昂贵的优质 AI 服务。系统接受了钱,但交付了错误且更有价值的产品。
2. “双重预订”问题 (概率性服务重复 - Probabilistic Service Duplication)
类比: 想象一家前台办理速度非常慢的酒店。你走上前说:“我有预订。”店员查了一下电脑,看到你的名字显示正常,便说:“太好了,请去您的房间吧!”
就在店员还在向主账本录入信息时,你跑回前台带着一个朋友说:“我也有一个预订!”因为店员还没完成第一个人的录入,电脑看起来仍然显示“空闲”。于是你们两个人都拿到了房卡,但酒店只收了一份钱。
缺陷: x4-02 系统会检查支付是否有效(“检查”环节),但它不会立即锁定该交易以防止他人使用(“锁定”环节)。黑客可以在一秒钟内发送 20 次相同的支付请求。由于服务器运行极快,它会在区块链(主账本)有时间发出“等等,那个支付已经被使用过了!”的指令之前,就对所有 20 个请求都回答“是”。结果,商家交付了 20 次服务,却只收到了一次的钱。
3. “空白支票”问题 (额度超支 - Allowance Overdrafts)
类比: 想象你给服务员一张限额 100 美元的信用卡,并说:“随你点吧,只要别超过 100 美元就行。”服务员开始点昂贵的牛排。
问题在于,服务员在银行有时间检查你是否真的有钱之前,就已经点了 10 份牛排。当银行试图扣款时,你已经花了 500 美元。银行拒绝了扣款,但服务员已经把食物端上来了。你免费得到了食物,而餐厅承担了损失。
缺陷: 在 AI 世界中,任务的成本直到完成后才知道。黑客设置了一个刚好能通过快速检查的“消费限额”(Allowance)。随后,他们触发大规模、高昂的 AI 任务。系统因为检查通过而立即开始工作,但等到最终账单计算出来时,黑客的支出已经超过了他们的限额。区块链拒绝了支付,但 AI 已经完成了工作。
4. “交通堵塞”问题 (结算拒绝 - Denial of Settlement)
类比: 想象一个每分钟只能处理 10 辆车的收费站。一名黑客一次性发送了 50 辆车通过闸门。闸门为所有 50 辆车都打开了,因为“进入”检查非常快。但在车辆尝试在末端支付时,收费站被淹没了,只能处理 10 辆。剩下的 40 辆车直接开车溜走了,没有付钱。
缺陷: 该系统对每秒能处理的支付数量有限制。黑客用大量请求淹没系统。服务器向所有请求交付了服务,因为“进入”很快,但“支付”端却堵塞了。服务器最终会因为无法处理得足够快来发出“拒绝”指令,从而导致交付了免费服务。
宏观图景:为什么这很重要
论文认为,x402 系统试图同时做两件并不兼容的事情:
- Web 速度: 即时的、“信任我”式的交互(类似于 HTTP 请求)。
- 区块链安全性: 缓慢的、“先验证一切”式的安全性(类似于区块链的最终确定性)。
通过试图架起这两者之间的桥梁,该系统创造了一个“时间间隙”。在这个间隙中,不法分子可以溜进来。
提出的修复方案
作者提出了几种修复方法,本质上是告诉系统要更加谨慎:
- 将票券与特定座位绑定: 确保数字签名明确说明了正在购买的是哪项具体服务,而不只是价格。
- 在账本上挂出“请勿打扰”的牌子: 当正在检查一项支付时,立即将其锁定,直到确认为止,以免他人使用。
- 在账单结清前不要上菜: 对于 AI 任务,不要在支付真正确认之前向用户传输结果。如果支付失败,用户将什么也得不到。
- 检查收费站的容量: 如果支付系统过于繁忙,根本不要让车辆进入。
简而言之: 这篇论文揭示了目前 AI 代理的“经济轨道”充满了可以窃取服务的漏洞。要修复这个问题,我们需要停止对支付过于乐观,转而开始更安全地锁定各项操作,即使这会让速度稍微变慢一些。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。