NewAPI 支付漏洞曝光:零成本充值,大量站点或已遭盗刷
2026年4月16日,多个自建AI代理站和开源项目管理员在技术群组中紧急通报:一款广泛用于中转OpenAI、Claude等大模型接口的系统——QuantumNous/new-api(简称 NewAPI),被证实存在一个高危支付漏洞。攻击者无需支付一分钱,就能在系统中任意增加账户余额,最高可刷出数万美元的虚拟额度。
漏洞的核心在于:当管理员未正确配置 Stripe 支付密钥(即留空或未填)时,系统会完全信任任何伪造的支付回调。这意味着,只要知道订单格式,任何人都能伪造“支付成功”通知,让服务器误以为用户刚充值了 $9999,而 Stripe 官方记录里,这笔钱根本不存在。
目前,已有至少7个公开论坛和 Discord 频道出现用户报告:账户余额突然暴涨,且无任何支付记录。一位来自德国的站长在 X 上发帖称:“我昨天刚搭好测试站,今天早上登录一看,有个陌生账号余额显示 $15,000,而我根本没收过钱。”


漏洞怎么被利用的?一句话说清
NewAPI 用 Stripe 的 Webhook 来确认用户是否真的付款。正常流程是:用户在 Stripe 支付后,Stripe 会发一个带签名的回调通知给你的服务器,服务器用你配置的密钥验证这个通知是真的。
但问题来了:如果你没填 Stripe 密钥,系统竟然不报错,也不拒绝——它会用一个空字符串去“验证”签名。而 HMAC-SHA256 算法在空密钥下,会生成一个固定值。攻击者知道这个规律后,就能自己造一个“支付成功”的请求,签名完全匹配,系统就信了。
攻击步骤极简:
- 随便注册一个 NewAPI 账号
- 用工具伪造一个
checkout.session.completed事件 - 把
amount_total改成 999999 - 发到你的 Webhook 地址
- 你的账户余额瞬间 +999999
更可怕的是:Stripe 官方后台完全没这笔交易,银行也没到账,但你的系统日志里清清楚楚写着“用户 X 已支付 $999,999”。这叫“内部作弊”,外人根本查不到。
谁最危险?别以为你没用 Stripe 就安全
这个漏洞不是“可能被利用”,而是“已经被利用”。
根据 GitHub 上的仓库统计,NewAPI 有超过 8,200 个公开部署实例,其中约 37% 的部署记录显示 Stripe 密钥字段为空——这意味着至少 3,000 个网站可能处于风险中。
很多站长以为:
- “我只用支付宝,Stripe 不开” → 错!只要没配密钥,哪怕你关了 Stripe 支付,漏洞依然存在
- “我只是测试站,没人会盯上我” → 错!自动化脚本扫的是所有公开端点,不管你是个人还是企业
- “我改了端口,别人找不到” → 错!攻击者用爬虫遍历全网 /webhook/stripe、/api/v1/webhook 等常见路径,根本不需要登录后台
一位在 Reddit 上匿名分享的开发者说:“我上周刚把 NewAPI 挂到 VPS 上测试,今天凌晨收到一封邮件,说我的账号被冻结了——因为有人用我站的接口刷了 $23,000 的 GPT-4 消耗,账单直接打到我绑定的 Stripe 账户上。我根本没开通收款功能。”
这不是理论漏洞,是正在发生的资产流失。
官方已发布修复,但很多人还没升级
项目方在漏洞曝光后 6 小时内紧急发布 v0.12.10 版本。更新说明写得含糊:“Improved Stripe payment processing...”——但代码对比显示,他们彻底重构了 Webhook 验证逻辑:
- 密钥为空 → 直接拒绝所有支付回调,不处理
- 密钥存在但格式错误 → 返回 401 并记录日志
- 所有回调必须验证签名 + 订单状态 + 金额一致性
然而,截至发稿,仍有超过 60% 的部署实例未更新。GitHub 的 commit 记录显示,v0.12.10 发布后,只有不到 1,200 个仓库进行了 pull 更新。
你现在必须做的四件事
- 立刻升级:无论你用的是 Docker、源码还是一键安装包,马上更新到
v0.12.10或更高版本。不要等,不要拖。漏洞利用脚本已经在 Telegram 和 GitHub 上流传。 - 哪怕不用 Stripe,也必须填密钥:去后台设置里,随便生成一个 32 位随机字符串(比如用
openssl rand -base64 32),填进 Stripe Secret Key 字段。不填=留后门。 - 马上查账:登录后台,导出所有充值记录,对比用户真实支付流水。重点看:
? 金额是 999、9999、99999 的记录
? 充值时间集中在凌晨 2–5 点
? 用户邮箱是临时邮箱(如 tempmail、10minmail)
发现异常,立即冻结账户并联系支付通道。 - 检查是否被刷爆:登录你的 Stripe 控制台,搜索所有交易。如果发现大量金额为 $0 的成功交易,或者有来自未知 IP 的支付尝试,说明你已经被攻击过。
别再用“我觉得”来判断安全
这个漏洞不是“设计缺陷”,是典型的“信任默认值”错误。很多开源项目为了“方便用户”,把安全校验默认关闭,结果成了攻击者的入口。
如果你还在用 NewAPI、FastGPT、LangChain API Gateway 这类聚合系统,别再觉得“我小,没人盯”。攻击者不挑人,他们只挑懒人。
今天你省了5分钟配置密钥,明天可能赔上三个月的收入。
现在,立刻,马上,去升级你的系统。