数字资产安全 > 投资策略 > 区块链安全
核心关键词:MPC钱包、dYdX风险、签名派生密钥、STARK Key、资产自托管、硬件钱包绕过、安全审计
在使用MPC钱包或任何自托管方案登录去中心化交易所dYdX之前,你必须了解一种名为“签名派生密钥风险”的隐形漏洞。它能让看似“保险箱”里的资金,在无需你再次授权的情况下被悄悄挪用。以下文章用通俗语言拆解其技术原理、影响范围和最实用的避险策略,并穿插真实验证案例,帮助你避开这一暗礁。
一、事件回顾:Safeheron审计揪出的“授权后可撤回”漏洞
Safeheron安全团队对市面上常见的dApp交互进行独立审查时,发现任何MPC钱包首次连接dYdX后,秒内即可被平台运营后台获取控制权限,具体表现为:
- 与传统硬件钱包“用完即锁”不同,dYdX允许获取第一次签名后永久离线调用,跳过后续的硬件授权。
- 使用GG18/GG20/MPC-CMP等协议的t/n多方签名方案时,MPC钱包里的t个运营节点会收到完整签名,这些签名虽不能挪走你在链上的ETH,却足以在dYdX里任意下单、转出L2资产。
🚨 关键点:该问题“不影响MPC链上资金安全”,却可打破“用户自行控制dYdX资产”的假设。
二、技术拆解:为何“相同的签名”能永久开锁
1. RFC6979:把随机签名变成“可预测”值
大多数EVM钱包(MetaMask、Ledger等)默认遵循RFC6979确定随机算法。对固定的消息,每次都会输出一样的签名结果,这让dYdX的设计者动起了心思:
- 用你的钱包对
dYdX STARK Key
做一次签名,结果Stark Key就被写成“兑换码”; - 再做一次
dYdX onboarding
签名,API Key也被固定下来; - 至此,未来任何持有这两个签名的人即可“离线派生”完整秘钥,并绕过你的钱包二次确认。
2. MPC签名的“多方可共视”特性
- 在单私钥场景下,签名只是交易的一部分,本无价值。
- 但在t/n MPC协议里,只要t方合谋或单节点被黑,就能把签名单独保存下来,完成离线派生。
- 结果是:你的“MPC自托管”变成了资产可退出dYdX,但操纵权可被留平台。
三、案例剖析:一步步重现资产“被转走”
以下由慢雾安全团队验证的POC(概念验证)展示了攻击流程:
- Alice 用MPC钱包首次连接dYdX,授权签名步骤1与2,产生
_stark_key_signature_
、_api_key_signature_
。 - 节点A把这两个签名偷偷存下。数周后Alice离职,节点A在离线环境照样能派生STARK Key、API Key。
- 节点A用派生秘钥在dYdX下单把Legacy balance转到匿名地址,再通过L1提币完成洗钱。
整个过程中,Alice的硬件钱包指示灯一次也没有再次亮起,资产却已被悄悄转出。
四、风险清单:谁必须立刻检查自己的持仓
受众 | 直接威胁 | 建议行动 |
---|---|---|
托管金额 > 5 万美金 | 一旦节点泄露,L2资产可被定向扫货 | 新建资金账户,立即迁移 |
机构、基金公司 | 离职员工仍可访问账户,绕过内部风控 | 启用专用单人钱包 + 风控系统兜底 |
使用随机临时密钥k钱包 | 关闭浏览器后,STARK Key不能复现,资金被锁 | 检查钱包是否合规RFC6979,并准备ETH Key赎回脚本 |
五、通用避险方案
A. 立即采取的安全动作
- 检查授权记录:浏览器插件或Zapper Debank等工具里,看是否有“dYdX-derived-stark-key”字样授权。
- 迁移到新账户:创建新钱包,返回dYdX,重新完成KYC后一键迁移所有仓位。
- 启用硬件签 StarkEx:使用原生支持STARK curve的专用硬件,如Ledger配合 StarkEx 版本固件,确保签名+派生都在设备内完成。
👉 这条链接内展示了如何5分钟内完成资产迁移并关闭签名派生权限的实操教程。
B. 长期策略:共建行业安全标准
- 项目方:Safeheron 已公开支持 STARK curve 的 MPC-ECDSA 草案,欢迎社区 review。
- dApp:在连接钱包前做 RFC6979 合规检查,不符合规范的钱包弹出醒目警告。
- 用户:优先选择 V1.4+ 固件版本的硬件钱包,启用“盲签白名单”,每次在线登录前用OLED二次确认金额与路径。
六、常见问题速答(FAQ)
Q1:我已经在dYdX上开过多单,现在是否也意味着我的L1私钥会泄露?
A:不会。被泄露的只是STARK Key
及API Key
,对L1资产的签名仍需硬件钱包二次确认。
Q2:用Fireblocks、ZenGo也会被影响吗?
A:若它们接入网站UI而非原生协议,同样会经历“一次性授权”路径,目前已在跟进版本迁移。
Q3:把资产暂时提到CEX,是否更安全?
A:CEX的黑天鹅风险另算。可视为短期方案,但长周期看,回归链上、裸签可控的硬件钱包才是正道。
Q4:用户自己是否能检测节点是否偷跑签名?
A:现行协议下无法直接审验。但可通过流量抓包和代码审计,且团队需要强制公开节点签名日志。
Q5:“金属助记词+Keplr”能规避吗?
A:不包括ECDSA-STARK派生逻辑。只有在你仍用EVM钱包签署dYdX消息时,才会触发风险。
Q6:MPC钱包闭源是否有影响?
A:闭源意味着无法审计“是否合谋留存签名”。建议选择已开源或正在接受第三方审计的方案。
七、小结与下一步
安全是一场不断迭代的接力:项目方修复、社区协同、用户警醒。Safeheron将持续发布Golang开源码:github.com/safeheron/stark-mpc,供所有合规平台二次开发。同时建议读者:
- 立刻核查⏰最近一次dYdX登录时间;
- 如超过7天,优先转移仓位;
- 完成后在社交平台#MPC签名风险# 话题下打卡,标记行动时间,帮助更多人少踩坑。
记住:唯一能100%保卫资产的人,是你自己。