密钥没泄露为何也可能被搬空?

很多人把 API Key 当成"另一个密码"来理解:只要字符串没外流就没事。真实的风险结构不是这样。一把 API Key 能做什么,取决于你在创建那一刻勾了哪几档权限;泄露后的损失上限,也是在那一刻就定下来的。同一串字符,如果只带读取权限,攻击者拿到手能看到你的持仓和历史;如果带着交易权限,他能在你的账户里下单;如果带着提现权限,资产可以直接被转走。

还有一个容易被忽略的方向:只读也不是没有代价。持仓、余额、成交记录本身就是社工素材,知道你有多少仓位、习惯什么时段操作的人,能把钓鱼做得像模像样。所以这篇不谈"怎么申请、怎么调用"——那类教程网上一大把;这篇只谈四件事:权限该关哪些、白名单到底在管什么、第三方要密钥时怎么审、以及怀疑泄露后先做哪一步。

一句话

密钥的长度不重要,权限范围才重要。泄露的损失上限,在你点"创建"之前就已经决定了。

四种权限各管什么?

按币安官方帮助页《如何在币安创建 API 密钥》(页面显示更新于 2025 年 3 月 20 日)的用词,创建密钥时涉及的权限包括允许读取现货交易合约交易权限提现权限。把它们按"泄露后攻击者能做什么"排一遍,选择就清楚了:

  • 允许读取:能看余额、持仓、历史订单。不能下单、不能转出。它是看板、记账、行情脚本真正需要的那一档。
  • 现货交易:能在你的现货账户里买卖。攻击者不能直接把币转走,但可以用你的余额去接自己挂的低流动性单——资产照样会缩水,只是路径绕了一圈。
  • 合约交易权限:能在合约账户开仓。这一档的破坏速度最快,因为带杠杆的仓位可以在很短时间里把保证金打光。
  • 提现权限:能把资产转出账户。这是唯一一档"泄露即等于丢币"的权限,绝大多数用途根本不需要它。

具体的勾选界面与档位名称,会随版本调整,动手时以你账户里 API 管理页当前的显示为准。原则不变:按用途给最小权限——看板类只给读取,跟单和量化按平台明确要求的那一档给,提现权限默认一律不给。

不加 IP 限制会发生什么?

这是本文最值得记住的一条,也是网上多数教程说得最模糊的一条。官方帮助页写明:支持添加 IP 访问(IPv4 格式)限制,而没有 IP 限制的 HMAC API 密钥"除读取权限之外没有任何权限";要启用其他权限,必须先加 IP 限制。

这句话有两层含义,两层都实用。

  • 安全层面:白名单不是"可选的加固项",它是交易与提现权限的开关本身。没配白名单的密钥,即使你勾了交易权限,实际能做的也只有读取——平台把风险面替你按住了。
  • 排障层面:很多人"接了机器人却一直下不了单"、以为是代码或平台的问题,真因往往就在这里——密钥没绑 IP,交易权限并未真正生效。先查这一项,比翻文档快得多。

反过来说,这也解释了为什么不该把白名单当成障碍去绕:它正是把你的交易和提现权限挡在门外的那道机制。

白名单该怎么填才不返工?

白名单登记的是"请求从哪个出口地址发出"。会返工,通常是因为出口地址本身不稳定:家庭宽带的公网地址常随重连变动,不少云主机的出口地址也不是固定的。所以顺序应该是先确定一个稳定的出口地址,再去创建密钥、登记地址、开权限——而不是先建好密钥,等报错了再回头补。

如果你的环境暂时给不了稳定地址,正确的处理方式是按官方页面当前支持的配置方式来(例如使用具备固定出口地址的运行环境),而不是想办法让请求"看起来"来自白名单里的地址。绕过这道限制等于自己拆掉刚才那道开关,也让日后真出问题时无法判断请求来源。

顺序建议

先定稳定出口地址 → 再创建密钥 → 登记地址 → 按用途开最小权限 → 用小额或只读调用验证一次通路。

提现权限什么情况下都不该开?

把这一节单独拿出来,是因为它的后果和其他三档不是一个量级。看板、记账、行情监控、绝大多数跟单与量化用途,都不需要提现权限——它们要么只读,要么只需要交易那一档。一旦开了提现权限,密钥泄露的后果就从"数据被看到"直接变成"资产被转走",而且这类转出通常是不可逆的。

唯一值得考虑的场景,是你自己写程序、明确需要把资产在自己的地址之间转移、并且完全清楚这把密钥存在哪、谁能读到、多久轮换一次。如果这几个问题里有任何一个答不上来,这一档就不该开。第三方平台要求你开提现权限时,这本身就是一个需要停下来的信号,而不是一个照做的步骤——同类信号我们在跟单交易的红旗清单里单独列过。

第三方要 API 时该怎么审?

把密钥交给第三方(跟单平台、量化工具、行情看板)之前,按下面几项过一遍。它们都不需要你懂代码:

  1. 它要哪几档权限,理由是否成立。看板要交易权限、跟单要提现权限,都属于对不上号。
  2. 它是否支持 IP 白名单。如果平台无法给出稳定的出口地址、又要求你开交易权限,你就只能在"不配白名单"和"权限不生效"之间选——这本身说明它的接入方式不够成熟。
  3. 密钥保存在谁那里。要求你把密钥粘贴进网页表单、聊天工具或某个"客服"发来的链接,一律拒绝。
  4. 能否随时撤回。你在自己的 API 管理页删除密钥,是唯一不依赖对方配合的撤回方式——这也是为什么该页面值得定期看一眼。
  5. 先用最小权限跑通再加。能先用只读验证数据对不对,就不要一上来给交易权限。

怀疑泄露了先做哪一步?

币安官方的安全指引给的是一个很直接的口径:怀疑任何 API Key 的安全性已被破坏,不要犹豫,删除它并新建一把。它特别点了一个典型场景——密钥不小心被推到了 git 仓库。这类情况不需要再确认"到底有没有被人用过",先删再说:删除是你单方面就能完成的动作,而确认损失需要时间。

如果已经产生了资金损失,官方指引建议的做法是:截图与本次事件相关的关键信息、联系相关方、并报警。这是提高追回机会的做法,但没有任何人能承诺追回结果——凡是向你保证"一定能追回"的服务,本身就是二次诈骗的常见形态。

顺序上,删除密钥之后再回头检查账户层:登录设备、安全因子、提现地址簿有没有被动过。账户层的检查清单在账户安全:Passkey 与 2FA那篇里;如果你还没做过提现测试,首次转账前的测试流程可以顺手补上。

密钥平时该怎么存怎么查?

官方安全指引里可执行的三条,值得原样照做:

  • 定期在 API 管理页检查活跃的密钥。看到不认识的、或早就停用的项目留下的,直接删。
  • 把所有会用到的 IP 都加进白名单。不是"必要时才加",而是默认就加。
  • 不要把密钥明文存在公共场所或公共电脑上。改用加密存储或密钥管理工具,别放在聊天记录、便签和截图里。

另据币安官方消息帖的说法,API Key 在 30 天不活跃后会被删除。这条我们没有在帮助中心的正式页面上看到,所以请把它当作参考而不是规则——真正可靠的做法仍是你自己定期清理,而不是等系统回收。

还有一点属于习惯问题:新建密钥时把用途写进备注。三个月后你回头看这一页,能一眼分清哪把是自己在用的、哪把该删的,比任何提醒都有效。

常见 API 安全问题怎样回答?

只开只读权限的 API 就一定安全吗?

只读权限不能下单也不能提现,风险面比交易权限小,但它仍会持续暴露你的持仓、余额和历史交易。这些信息本身可以被用来做定向钓鱼或社工。按官方说明,未添加 IP 限制的 HMAC 密钥除读取权限外没有任何权限,所以"只读"常常不是你主动选的,而是没配白名单的默认结果。

为什么我的 API 一直报 IP 不在白名单?

多数情况是你的出口 IP 与白名单里登记的不一致:家庭宽带和多数云主机的出口地址会变动。正确做法是使用一个稳定的出口地址并登记它,或按官方页面当前支持的方式配置,而不是想办法绕过这道限制——它正是把交易和提现权限挡在门外的机制。

提现权限什么情况下可以开?

普通量化、跟单、看板类用途都不需要提现权限。除非你自己明确要用程序把资产转出、并且完全清楚这把密钥的保存与轮换方式,否则这一档不要开。权限一旦开启,密钥泄露的后果就从"数据被看"升级成"资产被转走"。

怀疑 API Key 泄露了,第一步做什么?

按币安官方安全指引,第一步是立即删除这把密钥并新建一把,不要犹豫;典型场景包括不小心把密钥推到了 git 仓库。若已产生资金损失,官方建议截图关键信息、联系相关方并报警,这是提高追回机会的做法。

需要定期更换 API Key 吗?

官方安全指引建议定期在 API 管理页检查活跃的密钥,把不再使用的删掉。另据币安官方消息帖,API Key 在 30 天不活跃后会被删除——这条不在帮助中心正式页里,用它做判断前请以站内当前显示为准。

本文引用的资料

权限档位与 IP 限制的口径来自币安官方帮助页《如何在币安创建 API 密钥》(页面显示更新于 2025 年 3 月 20 日);泄露处置与日常保管的三条建议来自币安官方安全博客How to Use an API Key Securely: 5 Tips From Binance。"30 天不活跃删除"一条仅见于币安官方消息帖,未在帮助中心正式页确认,文中已按参考口径标注。本文查证于 2026 年 8 月,界面与规则可能随版本调整,请以你账户内当前显示为准。

今天应该先完成哪项检查?

打开 API 管理页,把不认识的和早就不用的密钥删掉——这一步不需要任何前置条件,也不会影响正在跑的东西。接着看还留下的每一把:权限是不是超出了它的用途,白名单有没有登记。若某把密钥带着提现权限而你想不起来为什么,先删再重建,比继续留着安全。