交易所 API 密钥的权限分级、闲置清理与泄露后的轮换顺序 图 1
交易所 API 密钥的权限分级、闲置清理与泄露后的轮换顺序 · 图 1

大多数被盗的交易所账户,入口不是密码,而是一串被遗忘了两年的 API 密钥:某次试用的网格机器人、一个「余额同步到表格」的小工具、朋友写的记账脚本。密钥本身不是账号,但它持有账号的一类权限;权限判断对了,它的爆炸半径可以小到只有行情;判断错了,它就是一个自带提币开关的备用登录方式。

三种权限类型,别用第三种的权力干第一种的事

交易所创建 API 密钥时通常让你勾选功能类型:只读(行情与账户信息,无资金动作)、交易(下单撤单,通常明确禁止提币)、提币(开启资金转出,多数平台还要求叠加白名单与冷却)。三个层级是刻意分离的,绝大多数误配发生在两个地方:给一个记账工具勾了交易权限,或给一个本可以只读的工具勾了提币权限。

判断标准很简单:这个工具要替你「花钱」还是替你「看账」?看账只读即可;花钱给交易权限并关闭提币;提币权限几乎永远不需要交给第三方——它存在的场景是自己搭的自动化系统,而不是某个网站。

第二条纪律是 IP 白名单:支持的地方一定要填调用方服务器的固定出口地址,留空等于允许全世界任何机器拿这串密钥登录。密钥名称写成用途而不是「test」「123」,因为回收时你要靠名字判断它属于谁。

交易所 API 密钥的权限分级、闲置清理与泄露后的轮换顺序 图 2
交易所 API 密钥的权限分级、闲置清理与泄露后的轮换顺序 · 图 2

闲置密钥的年度盘点

每季度做一次三步清理。第一步,打开交易所的 API 管理页,把列表里每一项对照当前还在运行的服务;第三步之前先做第二步——对不再使用的密钥直接删除,而不是禁用后「留着以后用」。第三步,对仍在用的密钥检查白名单是否仍指向对方真实的出口地址:很多泄露事件里,攻击者正是利用「对方早已废弃、白名单早已被清空」的密钥。

删除而不是禁用,这个动作值得单独强调:禁用状态下密钥结构还在,随时可能被误恢复;删除才是状态终结。

泄露或失联后的轮换顺序

怀疑泄露(异常下单、陌生 IP 登录、第三方服务被爆库)时,按资金暴露从大到小关闸:第一优先处理带提币权限的密钥——删除它,并立即开启或收紧平台的提币地址白名单;第二,删除交易权限密钥,若担心高频撤单类滥用,同时暂停相关策略;第三,把账号密码更新为专属新密码、执行全设备登出,斩断可能并行的登录通道;第四,检查提币地址簿与信任设备列表里有没有新增条目;第五,向平台提交工单说明情况并索取登录与提币日志。

若泄露发生在某个第三方工具,别忘了同一密钥可能复用在多个平台——密钥值是按平台签发的,但「把密钥贴进哪里」的记忆是你自己的,逐个平台排查。

补充一条容易被忽略的冷却规则:多数平台对新添加的提币地址设有生效等待期(时长各平台规则不同,以你所用平台当时说明为准),这段时间正是应急窗口——密钥泄露后如果来不及判断损失范围,先添加一个新地址触发冷却计时,再慢慢排查,相当于免费买到一段「就算密钥还活着钱也暂时飞不走」的缓冲。排查完成之前不要解除白名单限制,也不要图省事把限制改成「仅新设备确认」这类依然依赖登录态的弱方案:攻击者如果同时握着你的会话,那类确认恰好也会自动通过。所有轮换完成后,给这把新密钥按上文标准重做一遍最小权限配置,并把旧密钥的删除时间记进台账——下次盘点时,你才能解释这张列表上每一行的来历。

最后一条边界:任何要求你把 API 密钥和「账户 ID 一起贴给他远程看看设置」的客服,无论多官方,都是在索要资金通道。API 密钥的查看与撤销永远可以自己在后台完成,需要人转述的一律拒绝。

以上均为一般性防御参考,不构成投资建议,也不承诺任何工具或流程绝对安全。