HyperLab复盘8-14-2022Acala攻击乌龙事件
事件概述:
于 2022 年 8 月 14 日早些时候上线的iBTC/aUSD 流动性池(具体提案可见此处)的错误配置(池子的奖励倍率被误设为 500000000000000000)导致约12.8亿枚 aUSD 的错误铸币。这些铸币在许多 iBTC/aUSD LP 贡献者领取 iBTC/aUSD LP 奖励时被转移到他们的钱包地址(目前已确定 16 个 iBTC/aUSD LP 贡献者的钱包地址将错误铸造的 aUSD 转移给他们,具体见图一)。
事件处理时间线:
2022 年 8 月 13 日 22:41 UTC - 配置错误的 iBTC/aUSD流动池和错误铸币开始启动。
2022-08-13 23:00-23:40 UTC - Acala 网络贡献者注意到异常的链上活动,开始调查并宣布事件。
2022-08-14 01:17 UTC - Acala 平行链配备了通过治理部分暂停某些交易的功能,作为对抗此类事件的防御机制。 一项紧急治理投票通过了暂停 Acalaswap 以确定根本原因。
2022-08-14 01:39 UTC:确定了错误配置的问题,提出并通过了紧急治理投票以纠正配置。 此后,aUSD 的错误铸造已停止。
2022-08-14 01:47 UTC:在接下来的几个小时内,为了遏制错误铸造的 aUSD,紧急治理投票通过了暂停 honzon 协议、xtoken(xcm 转出)、EVM、非 ACA 代币转移、预言机托盘、 和 LDOT 即时兑换。
事件影响:
受 13 亿枚代币错误增发影响,ausd的价格曾一度严重脱锚(短短数小时内从 1.03 美元跳水下跌 99% 至 0.0098 美元)。在Acala项目团队积极应对和市场出于对问题可被妥善解决的预期下,链上的脱锚情况得到缓解,在发稿时 ausd的价格正在逐步恢复锚定(约0.9648美元)。
除此之外,虽然Acala 已通过紧急投票冻结了包括 12.8 亿 aUSD 在内的 Acala 链上相关资金转移,但实际损失其实更多来自于其他一些已出逃的资金。目前已识别的四种资金出逃途径:
a. 将 aUSD 发送至 Moonbeam ;
b. 将 aUSD 兑换为 DOT,再转移至 Polkadot;
c. 将 aUSD 兑换为 iBTC,再转移至 Interlay;
d. 直接转移至 CEX 套现。
据@Alice und Bob 粗略预估真实的资金损失约在 1000 万美元以下,其中最清晰的价值资产流出(主要计算 DOT 和 iBTC)约为 160 万美元,两种途径相应的主要获利地址分别为 23bmUgSeKMD8Y9triphPw5YHuiz3QUJNqcbmb3Eg9QMQDMWN(16.5 万枚 DOT)和 253pFTg22JqHbLeLZupexGMDUuXAJLfEriTYkFqvGWPuwcFi(3.4 枚 iBTC)。
当前,Acala 正在呼吁白帽黑客返还流出资金,且已公布了 Polkado、Moonbeam 等其他链上的资金回收地址。
事件观察:
HyperLab 安全团队据于此次事件的观察后认为,后续有两点值得关注:
a. 如何处理已冻结的 Acala 链上资金(12.8亿枚aUSD 和其他已兑换代币)?
考虑到这部分资金目前处于可控状态,所以我们认为该问题的解决难度并不太大。等待社区集体作出决定后,这部分资金大概率会被销毁。
b. 如何追回或填补并处理已出逃资金?
这个问题相比于第一个问题更加棘手。依靠白帽黑客返还流出资金并不能填补所有的出逃资金,且如果 Acala 链上误增发的 aUSD 需要销毁,这部分资金产生的交易损失的影响值得继续关注。