Terra分叉带来黑客「新套利」,Mirror Protocol损失200万美元事件分析
摘要: 攻击发生的主要原因在于Terra验证节点在分叉后没有更新,导致价格预言机不准确。
北京时间2022年5月30日21时,CertiK审计团队监测到一起针对Mirror Protocol的攻击。目前,该攻击事件造成的总损失约为200万美元。
攻击发生的主要原因在于Terra验证节点在分叉后没有更新,导致价格预言机不准确。预言机错误地报告了LUNA的价格(5美元),而非实际的LUNC(0.0001美元)价格。
这使得用户通过抵押LUNC借贷到的资产远大于提供抵押的金额。
攻击步骤
该次攻击中有多笔用户存入LUNC并借贷其他资产的交易。我们以其中一次交易作为示例:由于Terra验证节点没有及时更新价格预言机,该笔交易允许攻击者抵押10万枚LUNC(价值10美元)贷款30,275枚DOT(价值约30万美元)。
漏洞分析
在Terra分叉之后,现在的Terra已分为:① Terra Classic,LUNA(LUNC)价值0.0001美元。② Terra 2.0,其LUNA价格约为5美元。Mirror Protocol运行于旧的Terra链(现称为Terra Classic)上,并使用Terra Classic提供的价格预言机服务来确定LUNA价格。然而,一些验证者在Terra Classic分叉后并没有更新他们的软件,并且报告的是分叉后的LUNA价格而非LUNC的价格。例如在下方这笔交易中,Terra Classic验证节点报告的LUNC价格约为5美元,而不是0.0001美元。
在正常情况下,假如一个用户想在Mirror Protocol上进行贷款,他需要提供更多的抵押品以进行借贷,比如提供2万美元的抵押来借贷1万美元。也就是需要提供整整2亿枚价值0.0001美元的LUNC代币来进行抵押,但如果是使用价值5美元的LUNA,则只需要提供4000枚。然而,由于一些验证器已经过时,导致预言机提供了LUNA的价格而非LUNC的价格,攻击者仅需提供4000枚LUNC(价值0.4美元)即可借贷到1万美元。目前,如Orion.money的部分验证者已修复该漏洞:
Orion.money于5月30日提供的LUNA价格
Orion.money于5月31日提供的LUNC价格
资产去向
据FatManTerra表明,Mirror Protocol的损失已达200万美元。
漏洞交易
写在最后
因价格预言机导致的攻击事件绝非一例,预言机不应成为链上「套利」专用工具。本次攻击事件本可通过安全审计有效降低风险。审计过程中,CertiK的安全专家会提醒项目方注意外部依赖造成的风险,并提示项目方需时刻检测外部调用。加密领域安全问题层出不穷,项目团队应尽可能提高相关警惕并时刻关注安全事件以自查,及时完善并审计合约代码。
评论(0)
Oh! no
您是否确认要删除该条评论吗?