3 亿美元的代价:机构信任链,不止于多签

用了多签,黑客还是成功了
不久前,加密行业接连出了两起安全事件。Resolv Labs 与 Drift 合计损失超过 3 亿美元。
Resolv 的事故脉络相对清楚:核心资产由单私钥管理,密钥失陷,2500 万美元随之转移。这类事故有先例,也有现成的防御方案。
Drift 的损失更让人不安。
Drift 是一个部署了多签方案的协议。在许多机构的安全认知里,多签几乎等于“安全已经做到位了”。但这次攻击者并没有破解密钥,也没有绕过签名机制,他们让签名人自己签了字,并将这些可延后执行的预签名交易保留了下来。
时间锁本是一道缓冲。即便恶意交易被触发,也还有延迟窗口供社区发现和干预。但治理层在事发前已经把配置改成了 Zero Timelock,缓冲消失,囤好的签名也变成了可以立即执行。
多签机制还在,保护却已经没了。
两起事件指向的是同一个更深层的问题:数字资产安全关键不在于有没有多签,而在于信任链上每一个环节是否都被有效约束。
Resolv:一把铸币密钥控制一台印钞机
发生了什么
Resolv 是一个稳定币协议,USR 的发行规则很清楚:存入多少抵押,铸造多少 USR。但问题在于,决定铸币能否完成的关键签名权限,落在链下一把特权密钥上。
2026 年 3 月 22 日,攻击者拿到了这把密钥,非法铸出 8000 万枚 USR,在 DEX 上套现约 2500 万美元。抵押池没动,但 USR 严重脱锚,持币人和下游协议承受了不小冲击。
根本原因:签名权限失守,链上约束缺失
这起事件常被简化为私钥失守,但事实上缺陷分布在两层:
- 链下:关键签名权限集中在单一控制环节,没有独立约束。
- 链上:合约不校验抵押是否足额,既没有铸币上限,也没有异常熔断。
问题不在密钥保管不够小心,而在于系统把按规则铸币这件事交给了可被攻破的链下单点,而链上也没有把约束写成不可绕过的规则。
如果这把密钥以 MPC 或门限签名的方式分散管理,单点被攻破也无法独自完成签名;如果合约设有硬性铸币上限和异常熔断,即便密钥被盗,攻击者也无法凭空铸出远超抵押价值的 USR。
Drift:当多签变成盖章
发生了什么
Drift 事件的攻击逻辑更为复杂。协议本身已经配置了多签治理结构,但攻击者没有试图破解密钥,也没有绕过签名,而是做了两件事:
- 通过社会工程学或其他手段影响了签名人,使多签在形式上完成了合法授权;
- 在发起攻击之前,治理层就已经把时间锁移除,本可以给社区预警、给干预留窗口的缓冲,被自己人提前拆除了。
最终,多签机制运转正常,攻击却合法完成。
根本原因:签名人可被操控,流程约束形同虚设
这个案例暴露的是两个不同层次的漏洞:
- 授权过度集中:签名人作为个体,可以被施压、欺骗或收买。当签名权高度集中在少数人手中,又缺乏相互制衡时,多签的“多”只是数量,而不是独立性。
- 缓冲机制缺失:时间锁是治理流程中最关键的缓冲装置之一,它强制为高风险操作的落地留出理性审查的窗口。一旦它被移除,后续所有的告警和干预机制也就无从谈起。
很多团队在部署多签时,关注的是有几个签名人,而不是这几个签名人是否真正相互独立、是否有结构性的制衡。签名人来自同一团队、共享信息渠道、在同等压力下决策,这样的多签在形式之外,本质上仍是单点。
共性诊断:三层单点风险
两起事件攻击路径不同,但可用同一个“三层框架”理解各自的失守原因。
技术层,是系统与密钥本身的问题。完整私钥是否存在于某处?是否有单一的密钥控制点?签名机制是否有结构性冗余?这一层的风险是纯粹的架构问题,解法也在架构上。
授权层,是授权人的问题。谁拥有签名权?这些人是否真正相互独立?授权是否过度集中于可以被整体施压或操控的群体?技术层再健全,也无法替代对人这一层的约束。
流程层,是操作过程与治理机制的问题。高风险操作是否有强制的多方审批?是否有时间缓冲?这些约束能不能被某一方单独绕过?即使前两层都失守,这一层决定着损失是否仍有被中断的可能。
这三层之间有一个关键的传导关系:上层的失陷,可以绕过下层已有的防御。密钥保护再完善,若签名人作为整体被操控,保护依然失效。时间锁设计再合理,若可被治理决策随时撤销,它便只是一个可撤销的选项。
行业的认知盲区在哪里
过去几年,多签成为机构安全的事实标准,这本身没有错。但多签解决的仅是技术层的部分问题,它让多个密钥参与签名,降低单私钥失陷的风险。它无法落实签名人间的结构性制衡,也无法有效约束高风险操作。
把技术层的冗余等同于整体安全,是行业反复付出代价的认知错位。
系统性解法:逐层击破
技术层:从架构上消除完整密钥的单点存在
技术层解决的核心问题是完整私钥是否存在于某处,以及谁能单独控制它。
解决思路是从架构上消除完整私钥这个单点本身。常见路径有:
- 密钥分片与门限签名:将密钥拆分为多个碎片,分散存储于独立节点,需达到阈值数量才能协同完成签名;
- MPC 门限签名:签名过程本身分布化,私钥从未以完整形态生成或存储,攻击者即使控制部分节点,也拿不到可用密钥,签名同样需达到阈值数量才能协同完成;
- 硬件安全模块(HSM)等物理隔离手段,降低密钥被提取的可能性。
这些方案的共同逻辑是让找到并获取完整密钥这个攻击目标,在架构上失去可操作性。
授权层:权限隔离与最小权限原则
授权层的风险根源在于授权过度集中。应对思路不是相信更可靠的人,而是通过结构设计降低对任何单一个体的信任依赖:
- 角色分离:资产操作、审批授权、策略配置由不同角色承担,互不越权;
- 最小权限:每个角色只拥有完成其职责所需的最低权限,超出范围的操作被系统直接拒绝;
- 操作留痕:所有权限变更均有完整审计日志,异常行为可追溯。
当不存在任何人可以单独完成高风险操作时,社会工程学攻击的有效性将大幅下降,因为攻击者须同时突破多个相互制衡的独立角色,攻击成本随之跃升至另一个量级。
流程层:审批共管
流程层的防御是在操作发起和损失落地之间建立可干预的有效窗口。
审批共管意味着高风险操作需要经过多方授权才能执行,且这一流程由系统强制约束,不依赖操作人的自觉。在此机制下,大额转账、权限变更等操作提交后不会立即生效,而是进入一段强制等待期。这段窗口期,给相关审批方发现异常、触发干预的机会,同时要求必要的多方确认到位后操作才能最终执行。
更深一层的价值在于,它会促使团队重新审视自身业务流程,针对不同场景构建真正有效的审批合规路径,让内部治理的严谨性从制度落到执行。
回看 Drift 事件,如果时间锁还在,攻击链条很可能在落地之前就被截断。
三层防御叠加,构成的不是三道独立阻隔,而是使攻击成本指数级上升的纵深防御体系。突破任何一层,都不足以完成攻击。
机构速查:你的信任链,断在哪里?
以下问题没有标准答案,但每一个“不确定”都值得认真对待。
技术层:密钥与系统架构
- 核心资产是否存在单一私钥控制点?密钥是否以完整形态存储于某处?
- 密钥是否曾在联网设备上生成或传输?生成环境是否经过安全隔离?
- 密钥的生成、使用、备份与恢复流程,是否消除了密钥被截获或泄露的可能?
- 若密钥持有人突然失联或设备丢失,能否在可接受的时间内安全恢复操作权限?
- 是否存在机制可在密钥失陷后第一时间冻结异常操作,而非依赖人工发现后的被动响应?
授权层:签名人与权限隔离
- 多签签名人是否真正来自相互独立的决策主体?还是同一团队、共享信息渠道的不同成员?
- 签名人之间是否存在共同利益关联,可能在同等压力下做出趋同决策?
- 是否存在某人可单独发起并完成高风险操作的路径?
- 权限变更(新增或移除签名人、调整授权门限)是否需要独立于操作人的多方审批?
- 签名人的身份认证机制是否足够健全?是否采用多因素验证?
- 团队是否具备针对社会工程学攻击的操作规范与应对预案?
流程层:审批机制与治理约束
- 大额转账或高风险操作,是否有系统强制的多人审批链路?
- 是否部署了时间锁或冷却期?这一机制是否受到足够保护、不能被单方面移除?
- 高风险的权限变更(如签名人调整、参数修改、合约升级)是否有独立于日常操作的审批路径?
- 当出现异常操作时,是否有实时告警和操作中断机制?
- 是否定期对审批流程进行审计,确认不存在被静默简化或绕过的情况?
- 极端情况下(关键人员失联、多签设备同时失效),是否有经过演练的应急响应预案?
安全从来不是某一项技术的问题,而是整个信任链的问题。
真正稳固的防线,不是将那把锁造得更坚固,而是系统性地消除可被击穿的单点,让攻击者无论从哪个方向切入,都找不到一条可以贯穿全局的路径。