前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
返回 AI 情报前线
All News · 全部资讯9492
  • GPT-6发布:内置可交互UI组件,Haiku 5.5降价75%
  • Claude Haiku 5.5 定价解析:超 10 万 token 后性价比骤降
  • Agent 置信度层:何时判定模型「不知道」
  • Claude Haiku 5.5 正式发布:百万上下文、百万 token 仅 $0.10
  • 让 AI Agent 变得无聊:确定性层设计
  • GitHub Copilot 已上线 Claude Haiku 5.5
  • DeepGEMM 开源:英伟达 GPU 高性能 GEMM 内核库
  • 如何防止AI Agent向诈骗者付款:地址风险检查实战
  • x402支付第四大陷阱:无支出策略导致的钱包耗尽
  • GPT-6 发布:ChatGPT 新增交互式 UI,可生成图表按钮
  • Claude Haiku 5.5 登陆 AWS,性价比提升 75%
  • Claude Haiku 5.5 基准跃升 72.4%,价格下调九成
  • n8n AI Agent 五大生产环境故障及修复方案
  • 验证Agent不要看输出,要看状态diff
  • Claude Code按决策类型而非难度分配模型
  • K3 vs DeepSeek V4:开源模型如何选型
  • OpenAI 发布 722 篇数学论文
  • Cloud Run 免费自定义子域名:告别复杂 Demo URL
  • OpenAI 失控 Agent 在维基媒体项目活动曝光
  • GitHub Copilot 修复用量统计中 Agent 活动丢失问题
  • OpenAI 发布数百个数学难题的解答成果
  • 29款LLM谄媚度基准测试:前沿模型稳住了,小模型全面溃败
  • llm-openai-decisions 插件发布:支持 GPT-6 Astra 决策 API
  • Anthropic开放Claude最强版本用于安全测试:已发现10万漏洞
  • 谷歌 EmbeddingGemma 2:7.4 亿参数多模态嵌入模型,手机端 191MB 即可运行
  • 无 API 桌面应用远程控制方案:用 CDP 桥接手机与 Claude Code
  • AI功能按调用计费:多数设计在浪费预算
  • Simon Willison 点评 EmbeddingGemma 2:开源权重是嵌入模型唯一理智选择
  • Mistral Large 4预览发布:参数破万亿
  • Google发布EmbeddingGemma 2:开源多模态嵌入模型
  • Google 开源 EmbeddingGemma 2:740M 参数端侧向量模型,191MB 内存跑离线 RAG
  • 间接提示注入攻击链解析与防御架构
  • Whisper 口述转文字 WER 从 8.5% 降至 2.5% 的实战总结
  • 用 AgentCore + OpenClaw 构建持久记忆的个人 AI 助手
  • Google开源EmbeddingGemma 2:7.4亿参数多模态向量模型
  • Mistral Large 4 发布,推理能力增强
  • Mistral Large 4:1.05万亿参数多模态MoE模型预览
  • Vercel AI Gateway 新增置信度触发降级策略
  • QA 工程师自建工具链:验证 AI 编程 Agent 的实际工作成果
  • 已加载 39 / 9492
8.0
热点
AI SCORE
行业动态2026-10-08 03:39

x402支付第四大陷阱:无支出策略导致的钱包耗尽

dev.to · AI#AI Agent#支付安全#x402
Editor brief · 编辑速览

单笔限额$0.10的Agent跑了100次就花掉$10;per-call cap只是速度限制而非油量表,必须叠加总支出策略;x402客户端确认回调传null等于让Agent随意付钱。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

钱包见底了。没有失败:没有回滚、没有超时、没有卡住的交易。每笔支付都经过了授权、每条签名都有效、每个收款方都合法。你的 Agent 只是以每次一毛钱的幅度花了十块钱,全程没有问过一次「是不是该停了」。

第四个最贵的 x402 错误,是没有消费策略就付款。前三个错误都是关于单次支付出问题的:一次意图签了两次、把 verify 当作结算、对已成功的支付重试。这一次说的是一百次支付都成功了,加起来却是一笔没人授权的账单。

两个陷阱使这个问题不可避免:

聚合陷阱。你设了每次调用上限,比如 $0.10,然后上线。这个上限限制的是单次支付金额,而不是支付次数。一个 Agent 在循环任务里调用一百次 $0.10 的接口,就会花掉 $10,而且这每次调用都在限额之内。per-call 上限是限速,不是油表。Cloudflare Agents SDK 对这个机制的说明很直接:它的 x402 客户端接受一个确认回调,在资金流动之前审查支付,而传入 null 而不是回调函数「让 Agent 自动付款。没有判断,没有审查。」从那个 null 引出两种失败模式:per-call 上限不能限制 per-task 支出,重试会导致重复支付。协议层面帮不了忙。x402 不理解你的预算、你的任务、你的意图。每笔支付在局部都是合理的;但加在一起就不是了。

自动化重试风暴。第三篇文章的错误,自动化版本。请求在付款后失败,或者结果一直没有返回,Agent 做了 Agent 该做的事:盲目重试,每次重试都是一次新的签名和新的资金流动授权。没有人会看到这种模糊状态,所以 paid-no-result 事件中的重复支付陷阱会以机器速度一直触发,直到钱包或任务耗尽,以先到者为准。一个开着自动付款且没有预算上限的 Agent,就是一台没人盯着收银台的双花机器。

这两种陷阱的根源是一个协议层面的缺口。x402 让每笔支付都顺畅且不可逆,但对模式不作任何约束。它结算支付,但不管钱。预算、审批和升级在协议中无处存在,这意味着它们要么完全存在于你的代码中,要么根本不存在。

按任务维度预算,而非仅按调用预算。为每个任务或运行设置最大总支出。当 Agent 达到上限时就停止并升级;不要让它去请求更多额度。

审批阈值。超过某个单笔金额就要求人工或策略审批。只在阈值以下才自动审批。确认回调是这道关卡;null 就是撤掉关卡。

保留支付台账。记录每一笔支付:意图、金额、交易哈希、结果。在任何重试之前先查台账。一条已付款的意图绝不再付:重试变成状态查询,而不是第二次付款。

熔断开关。每个钱包在每个时间窗口内的全局支出上限。触发后所有支付暂停,直到人工重置。这是当所有其他控制手段都有 bug 时依然有效的最后防线。

告警。在预算消耗到 50% 和 80% 时通知。沉默的预算是装饰品。

这就是栈的两层交汇的地方。事件处理解决的是你已经遇到的问题;授权策略防止的是下一个问题。callx402 execute 是事件侧的工具体:它用 --max-budget 运行受保护路径作为 per-task 上限,用 --dry-run 走过整个流水线做规划但不执行,用 --approval-threshold 在单笔金额以上时fail-closed而不需要人工审批,以及一个幂等去重——在存储了 UNKNOWN 结算结果后拒绝重试,而不是重新签名。拒绝是显式的,不是沉默的:一条没有实际接线的路由会被报告为未执行,而不是被隐藏。

但一个需要手动调用的工具只能在你想起来保护的那次运行中保护你。持久的答案是 Veyline 的经济Governor:将自然语言消费策略编译成机器可执行的约束,然后对每一个付费步骤进行授权校验。确定性,无 LLM,fail-closed。用 POST /v1/veyline/mandates 创建授权策略(冲突的、被注入的或空的意图会收到 422 并永远不会被存储),订阅和信用路径上的每个付费步骤在任意授权或消耗之前都要经过每条策略的意图防火墙。每个检查返回 ALLOW、DENY 或 ESCALATE_HUMAN 并附带原因。多条策略间取最坏决策,DENY 在信用消耗之前落地,所以已付费的单次使用信用永远不会因为一个被阻止的动作而被消耗。防火墙默认DENY:没有编译消费上限的付费步骤会被拒绝。它强制执行消费上限、提供商和网络白名单、截止时间和重试限制。幂等键是持久化的,所以用不同步骤指纹重用一个键会被当作重放替换拒绝。ESCALATE_HUMAN 只有通过一次性人工审批才能变成 ALLOW,该审批原子消耗且有效期 15 分钟。实时预算可随时查询:已提交、已预留、剩余。

两个诚实的限制:Governor 管理的是轨道上的托管路径。原始 x402 链上支付路径不受策略管理,因为那条路径没有任何组织来持有策略;authorize 端点在订阅和信用路径之外的所有场景中充当顾问级控制面检查。还有,策略的有效性取决于它的文本:在 Agent 行动之前,先把预算、上限和审批阈值写下来。

事件处理解决问题。授权策略防止下一个问题。完整报告和来源见 callx402 故障排除文档:agent auto-pay with no spending cap。实时 Governor 规范发布于 payloadhq.github.io/agents.html 和机器可读的 agents.json。仓库地址是 github.com/Payloadhq/callx402。x402 出问题时,找 callx402。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
如何防止AI Agent向诈骗者付款:地址风险检查实战
下一篇
GPT-6 发布:ChatGPT 新增交互式 UI,可生成图表按钮