Yady API
你的 API Key 正在被拿去开「黑中转站」:Token Jacking 如何让一张密钥烧出百万账单

你的 API Key 正在被拿去开「黑中转站」:Token Jacking 如何让一张密钥烧出百万账单

次阅读

浏览、点赞、踩均为真实统计:同一访客对同一篇文章每天只计一次浏览,点赞与踩一人一票,可改票也可撤回。

← 返回技术博客

凌晨三点,你的 AI 应用没有人调用,账单却在飞涨。等你早上打开后台,发现一张 API Key 在过去几小时产生了几十万次请求、账单数字后面多了一长串零——而那个真正在调用的人,你这辈子都不会认识。

配图 1
配图 1

这不是段子。Palo Alto 旗下 Unit 42 在 2026 年的安全研究里,把这种攻击正式命名为 Token Jacking(令牌劫持)。它正在成为 AI 时代最隐蔽、也最烧钱的攻击之一:偷走的不是你的钱,而是你调 API 的「钥匙」,再用这把钥匙开一家「黑中转站」,把账单记在你头上。

本文把这条链路一次讲清,更重要的是——告诉你作为中转站用户,怎么用平台自带的能力把账单炸弹掐死在源头。

一、什么是 Token Jacking:一张 key,开一家黑店

AI 服务普遍用 API Key(令牌)代替账号密码,让程序能自动调模型。因为 AI 工作负载不可预测,很多平台默认不限制一个 key 能消耗多少 token,而是按周期(月度)汇总后结算。

这给了攻击者一个完美的套利空间:

偷到一把 key = 拿到了「无限额、可程序化」的算力提款机。攻击者自己用、或转手倒卖给别人用,账单却记在被盗者头上;又因为结算有滞后,受害者往往要等账单出来才发现问题。

Unit 42 追踪到,被盗密钥最常见的归宿是一个叫 「中转站(transfer station)」 的灰产生态:一些 fly-by-night 小贩以远低于官方零售价倒卖前沿模型算力,广告常出现在淘宝等中文集市,用匿名发售的卖家积分结算。而这些中转站,有相当大一部分直接架在 new-api / one-api 这类开源代理平台上——它们原生就帮你做凭证轮转、混淆、计费和模型路由。

换句话说:攻击者偷你的 key,往 new-api 里一灌,你的 key 就成了他黑店的供货商。

二、账单有多狠:近百万美元,且你几乎追不回

Unit 42 披露的真实案例触目惊心:

  • 有受害者几分钟之内就把无意暴露的凭证被攻击者接进中转站,在发现并封堵前就已经跑出近 100 万美元的账单;
  • 一个中转站每天能产生数千万次 API 调用,对应数十万美元的用量费用;
  • 更致命的是:攻击者拿到 key 后,会主动关掉你的计费上限、关掉用量告警和日志——你连「异常」都看不到。

而后果不只是钱:

被 Token Jacking 的组织,几乎没有追索权去追回 AI 服务商已经计费的金额。Unit 42 明确警告,这笔费用足以拖垮预算,甚至把中小公司逼到破产。

为什么是你买单?三个条件叠在一起就是账单炸弹:循环账单有滞后 + 默认无硬上限 + 攻击者关掉告警。等数字大到你无法忽视时,钱早划走了。

三、攻击者怎么拿到你的 key:五个入口

Token Jacking 的「偷钥匙」环节,手法并不新,只是第一次大规模对准了 AI 开发生命周期:

  1. npm 供应链投毒(最阴险)。恶意包 Shai-HuludMiasma 会自我传播,感染后顺着你的构建链路一路偷走每个环境的凭证和令牌。Unit 42 指出,这类投毒窃取的巨量凭证,够中转站「烧好几年」。
  2. 代码仓库硬编码。把 API Key 写死在 .env、配置文件或脚本里,公开/私有仓库一扫一个准。
  3. 信息窃取木马 + 钓鱼。窃取开发者机器上的凭证,或钓鱼拿到高权限开发者账号,再生成新 key、开通模型、移除限额。
  4. 暗网访问代理。高权限开发者账号在暗网明码标价,买来就能直接操作你的 AI 账户。
  5. 不安全的文件共享。从不设防的网盘/共享目录里挖出已配好的 key。
  6. 四、四步自查:你的 key 现在安全吗

对照这四条,中一条就该立刻行动:

  • 密钥有没有写进代码/仓库/前端? 任何出现在 .env 之外、或能被前端源码看到的 key,都算暴露。
  • 有没有给 key 设额度上限? 默认无限额 = 被盗即破产。
  • dev / prod 是不是共用一把 key? 共用意味着测试环境的泄露直接打穿生产账单。
  • 多久看一次用量明细? 没有逐笔明细、没有异常告警,你永远是最后一个知道的人。
  • 五、用 Yady 时,怎么把账单炸弹掐死在源头

密钥安全最终是应用方自己的事——我们不代你管密钥、也不该代管。但 Yady 基于 New API 原生能力,给你四道「默认就能用」的护城河,正好对着 Token Jacking 的每个命门:

① 按密钥额度上限(per-key quota)。 New API 原生支持给每个 key 设独立余额上限。即使某把 key 泄露,攻击者最多烧到上限就停——把「无限额提款机」变成「有盖的存钱罐」。这是对抗 Token Jacking 最关键的一道闸。

② 环境隔离。 给开发、测试、生产各发不同 key、各自限额。一把测试 key 泄露,绝不会拖垮生产账单。

③ 逐笔明细可溯源。 每次调用都留 request_id、prompt、参数、耗时、用量。异常调用(短时暴增、非常规模型、异常来源 IP)一眼可见,不用等月账单出来才后知后觉。

④ 密钥轮换 + 最小权限。 定期轮换 key、只给当前业务最小模型权限,把「一把万能钥匙」的风险面压到最小。

诚实边界照实说:方舟当前仅激活 1 个模型(广度短板,不掩饰);我们不承诺全网最低价、也不代你承担凭证保管义务。但「可预期单价(方舟官方价 × 固定 1.27×,不随峰谷浮动)+ 逐笔明细可导出 + 原生按密钥额度上限/环境隔离」这套组合,本身就是对抗 Token Jacking 最实在的工程手段。

六、结语:便宜的算力,可能正用着你的 key

灰产中转站用「骨折价」吸引开发者,背后往往是一池子被盗的合法密钥在供血。你以为省了钱,可能正把自己的 key 喂给别人的黑店,还替他付账单。

选平台别只看单价。把按密钥额度上限、环境隔离、逐笔明细可溯源这三样,做成选型的一票否决项——它们挡住的不只是溢价,更是那张可能烧穿你公司账户的百万账单。

Yady 不代办你的安全,但把你能用上的安全能力,默认就给你开好了。

配图 2
配图 2