Ishween Kaur:如何保护智能体的 x402 支付

原标题Ishween Kaur on Securing Agent Payments with x402

通过测试网案例,了解智能体支付流程中的价格变化、重放、提前交付、冒充卖家和提示注入。

IKIshween Kaur讲者 · SoFi
频道
AI Engineer
发布
2026年10月30日
视频
16:43
阅读
5 分钟
幻灯片
8
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
由 AI 从英语原文翻译。打开“对照原文”可以逐段核对。
摘要

30 秒看懂

SoFi 的 Ishween Kaur 介绍了她在受控 x402 测试环境中探索的六类故障。她认为,支付系统既需要检查买方意图、卖家身份和交付,也需要能够观察完整交易流程;随后,她提出了分阶段上线的方法。

  1. 1x402 流程买方接收付款要求并签名,由 facilitator 验证和结算付款。
  2. 2价格和身份检查签名前,将付款要求与预期价格、卖家钱包和网络进行比较。
  3. 3重放与重试一次授权在结算前可能触发多次交付;重试时使用不同付款也可能让买方重复付费。
  4. 4交付与缓存结算前交付,或在付费墙之前设置缓存,都可能在付款未成功时暴露数据。
  5. 5冒充卖家发现服务并不意味着已经确认其域名和钱包由谁控制。
  6. 6提示注入卖家回复可能诱使智能体进行计划外购买;Kaur 为这次运行限定了允许的调用次数。
  7. 7观察、影子测试、执行跟踪每次购买,分析少量成功与失败案例,再评估防护和告警。

要点建议

  1. 智能体签署付款前,应检查卖家、价格和预期购买内容。
  2. 验证与结算是两个独立阶段;验证后立即交付可能让卖家蒙受损失。
  3. 共享支付记录并将付款绑定到资源,有助于处理重复请求和重放。
  4. 卖家发现需要身份控制,并考虑域名和钱包发生变化的情况。
  5. 卖家文本可能诱导智能体进行预期之外的第二次购买;限定执行计划可以约束行动。
  6. 跟踪每笔购买,在影子模式下测试成功与失败案例,再实施并评估防护措施。
全文

按章节阅读整理后的全文

只看原始文稿
01

当软件成为买方

Kaur 介绍 HTTP 402 以及买方、卖家、facilitator 和区块链。她解释为什么小额交易仍然需要预算和身份检查。

我是 Ishween Kaur,从事 AI 评估和自主系统方面的工作。我对智能体支付产生兴趣,并在受控环境中通过攻击测试探索了 x402。想象一下:你可以不订阅服务,只为一部电影付费;或者智能体为一个市场数据点支付几美分。付款前,它应检查卖家、预算以及这次购买是否获得授权。

HTTP 很早就为“需要付款”保留了 402 状态码。x402 在请求流程中提供了一种让软件处理付款的方法。我介绍了四方:买方智能体、卖家、facilitator 和区块链。卖家返回付款要求,买方签名,facilitator 验证请求并可以结算付款。

x402 支付流程
幻灯片 1 / 8x402 支付流程买方、卖家、facilitator 和区块链之间依次处理请求、付款要求、验证和结算。

对于金额很小、普通交易手续费可能超过商品价格的付款,链上支付具有吸引力。但小额支出也会累积:每次 10 美分,调用 1 万次就是 1000 美元。智能体即使没有损坏,也可能造成损失。因此我测试了 20 种干扰流程的方法,这里重点介绍其中六种。

02

价格操纵与重复付款

付款头中的价格可能与目录价格不一致,重复请求也可能导致额外交付或重复扣款。Kaur 介绍了检查和共享付款记录的方法。

第一个问题是价格变化。目录可能将服务标价为 5 美分,卖家在 402 付款要求中却要 50 美分。在没有防护的测试中,买方签署并结算了更高的金额。比较预期金额和实际要求的防护措施阻止了这次运行。

测试轨迹中的价格不一致
幻灯片 2 / 8测试轨迹中的价格不一致该次运行先列出 5 美分的价格,随后提出 50 美分的付款要求。

只检查价格并不能覆盖所有替换情况。钱包地址或网络也可能变化,原因既可能是攻击,也可能是合法轮换。买方需要一起检查相关字段,确保在预期网络上向预期卖家支付正确金额。

第二个问题是重复使用一次付款。我的例子中,卖家收到同一授权的五个副本。结算前,验证可能认为每一份都有效;最终只有一笔付款结算,但卖家可能已经交付了五次。验证和结算两个阶段的后果不同。

一次付款,五次交付
幻灯片 3 / 8一次付款,五次交付示意图展示重复验证后先行交付,而最终只有一笔付款完成结算。

我建议在共享存储中记录支付标识及其进行中或已完成状态,让重复请求返回已保存的结果,而不是再次触发交付。当响应包含昂贵或保密的数据,或者会激活许可时,这一点尤其重要。买方重试也有类似风险:每次超时都创建新的付款标识,可能为同一个结果支付多次。

03

免费交付与跨资源重放

她讨论结算失败、未受保护的接口和缓存问题。共享状态还可以将付款绑定到其授权的资源。

第三个问题是没有成功结算就交付。验证可能通过,但之后结算失败,例如买方资金不足。对昂贵、保密或需要新生成的数据,等待结算后再交付可以降低风险,但会增加延迟。对于低价值数据,企业可能作出不同选择。

免费访问也可能源于普通应用设计。如果一个接口用付费墙保护报告,另一个接口却不受保护,买方可以访问后者。应测试所有预期需要付费的接口,确认它们都会返回付款要求。

付费墙前的缓存
幻灯片 4 / 8付费墙前的缓存示例展示共享缓存的响应如何在没有新付款的情况下被返回。

缓存提供了另一条路径。如果共享缓存将付费响应保存在公开 URL,之后的请求就可能绕过付费墙取得内容。应把缓存数据放在卖家的付款检查之后;适当情况下,敏感或昂贵的响应不应缓存。缓存配置也必须遵守预期的 no-store 策略。

第四个问题是跨资源重放。如果两个受保护页面分别维护付款记录,它们可能各自接受同一笔付款。共享状态可以把付款标识绑定到已经交付的资源,并拒绝相冲突的请求,而不是将每个页面当成独立购买。

跨两个资源的重放
幻灯片 5 / 8跨两个资源的重放各页面分别维护记录,可能让同一次授权解锁两个资源。
04

卖家发现与提示注入

冒充者可能用熟悉的名字和更低的价格吸引智能体。卖家回复也可能诱使智能体进行预期之外的额外购买。

第五个问题是恶意发现。目录可能显示某项服务可用,却没有确认谁控制域名和钱包。冒充卖家可以使用熟悉的名称和更低的价格;只按价格选择的智能体可能把钱付给错误的一方。

冒充卖家
幻灯片 6 / 8冒充卖家示例对比了使用熟悉卖家名称但域名、钱包和价格不同的服务。

谨慎的企业可以只允许向已批准卖家购买。对于需要发现新卖家的工作流,我建议设置批准、阻止和观察名单,对观察名单进行人工审查并设定限制。合法卖家也会更换域名、钱包、网络和价格,因此批准名单需要持续维护。

第六个问题是卖家回复中的提示注入。回复可能暗示其他位置有更完整的版本,却没有直接命令购买。在我的 Base Sepolia 测试中,使用 Llama 3.2 的智能体获取并购买了高级摘要:原本 5 美分的请求总共花了 55 美分。

轨迹中的第二次购买
幻灯片 7 / 8轨迹中的第二次购买测试轨迹显示付费摘要之后又发出了额外的高级摘要请求。

简单关键词过滤可能漏掉隐晦的提示,基于模型的判断器也可能漏掉攻击。在这个具体工作流中,我知道买方只应调用一次,因此将执行计划限制为一次调用。智能体仍决定获取额外摘要,但测试中的防护措施阻止了第二笔付款。

这些案例有一个共同点:付款看起来可能有效,结果却是错误的。买方签名前和卖家交付前都需要检查。追踪记录应显示买方意图、卖家回复、调用的服务和交易结果。

05

分阶段上线

Kaur 建议观察交易、进行影子测试并执行控制措施。她最后回到是否应允许智能体支付的问题。

观察、影子测试、执行
幻灯片 8 / 8观察、影子测试、执行上线幻灯片将购买追踪、错误分析和控制措施串联起来。

上线时,我先使用一个付款标识,端到端记录整个流程。在影子测试阶段,我建议收集大约 20 至 25 个成功和失败案例,分析错误,确定哪里需要告警、阻断或其他防护。

随后执行选定的控制措施,并逐条轨迹重复测试。结果可以帮助判断控制是否过于严格、过于宽松,或需要根据实际业务流程调整。智能体可以付款,但更重要的问题是何时应允许它付款。

同频道的其他文章

5 张幻灯片17:02EN → 简体中文
AI Engineer· 2026年10月31日如何评估受监管贷款电话中的语音智能体Brooke Hopkins, Shiv Indap · CovalShiv Indap 与 Brooke Hopkins 介绍持续评估中的人工审核、LLM 评判器和模拟。语音 AI评估智能体工程+2
18:45EN → 简体中文
AI Engineer· 2026年10月30日Jack Woodruff:AI 时代,选股仍需要人的研究Vinoo Ganesh, Jack Woodruff · KeplerCandlestick Capital 前首席投资官与 Kepler 首席执行官 Vinoo Ganesh 讨论研究、可审计数据,以及 AI 如何重塑投资团队。金融 AIInvestingHuman-AI Collaboration+2
6 张幻灯片15:27EN → 简体中文
AI Engineer· 2026年10月30日Rayan Krishnan:走出模型卡,评估真实任务表现Rayan Krishnan · Vals AIVals AI 联合创始人解释,任务准确率、总成本和企业专属评估为何会改变最合适的模型选择。评估AI cost & performance金融 AI+2
4 张幻灯片19:06EN → 简体中文
AI Engineer· 2026年10月30日Wojciech Pluta:如何决定 AI 智能体应该记住什么Wojciech Pluta · OracleOracle 的 Wojciech Pluta 介绍记忆提升、抵押贷款智能体演示,以及跨会话保留有用信息所需的控制。Agent memory检索增强生成智能体工程+2
4 张幻灯片17:45EN → 简体中文
AI Engineer· 2026年10月30日Killian Carlsen-Phelan:引导与验证编程智能体Killian Carlsen-Phelan · SonarSonar 演示如何将项目上下文和确定性检查纳入编程智能体的工作流程。编程智能体上下文工程Software engineering+2
6 张幻灯片38:07EN → 简体中文
AI Engineer· 2026年10月29日使用 Gitar 验证拉取请求:超越代码差异Taylor Luttrell-Williams, Killian Carlsen-Phelan · SonarSonar 的 Killian Carlsen-Phelan 和 Taylor Luttrell-Williams 在一个示例应用中演示门票转让、定价规则和 CI 失败三个场景。Code review & verification智能体工程开发流程与测试+2