安全实战与案例库中级715 次阅读
Ronin 跨链桥被盗约 6.24 亿美元:5/9 多签为何失守
2022 年最大规模跨链桥被盗案,根因不是合约漏洞,而是验证者私钥被钓鱼拿到 5 把——多签的阈值设计被击穿。
#安全#案例#跨链桥#多签#Ronin
一句话结论
Ronin 事件说明:跨链桥的风险往往不在代码,而在密钥管理。多签只要被拿到足够数量的私钥,就等同于没有防护。
事件经过
Ronin 是 Axie Infinity 游戏侧链的跨链桥。2022 年 3 月,攻击者盗走约 173,600 个 ETH 与 2550 万 USDC,按当时价格合计约 6.24 亿美元,是当年规模最大的被盗案。异常直到6 天后才被用户发现——因为项目方的提现限额机制恰好让大额提现进入了"人工审核"的静默状态。
根本原因:5 把私钥被拿走
Ronin 桥使用 9 个验证者、5 票通过 的多签方案,其中:
- 4 把私钥属于 Sky Mavis(项目方)
- 1 把私钥属于 Axie DAO,且是此前为了分担高峰负载而临时授权给 Sky Mavis 代签的,事后没有撤销
攻击者通过伪造的招聘邮件等社会工程手段,拿到了 Sky Mavis 的 4 把私钥,再加上那把未撤销的代签权限,正好凑齐 5 票。整个过程不需要任何合约漏洞。
更深的问题
- 权限收缩缺失:临时授权用完就该立刻撤销,留着就是敞开的门。
- 密钥集中在同一套运维环境:4/9 属于同一实体,且被同一批钓鱼攻击一次性拿下。
- 发现太慢:6 天空窗期让资金被逐步转移和洗白。
给你的教训
- 评估跨链桥时,不要只看"9/5 多签"这个数字,要看密钥由几个独立主体持有、是否真的地理与设备隔离。
- 使用过的授权与代签权限要定期清理——这一点对个人钱包同样适用(撤销你用不到的合约授权)。
- 不要把大额资产长期放在跨链桥或 L2 桥的待提现状态,桥是攻击者眼中的高价值目标。