MEV 机器人漏洞2500万美元事件分析

CertiK view 43562 2023-4-4 09:50
share to
Scan QR code with WeChat

北京时间4月3日,MEV机器人在以太坊的16964664区块被黑客利用。一名恶意验证者替换了数笔MEV交易,导致约2538万美元损失。

MEV机器人会不断追踪用户在mempool (内存池)中的交易,以寻找套利机会。它们经常进行所谓的“三明治攻击”,即在用户交易的前后分别放置一笔交易,将其“夹在中间”。三明治攻击类似于frontrun(抢先交易),用户可以通过预测下一轮交易进行获利,但不同之处在于,三明治攻击会在用户交易后发起第二笔交易。

攻击流程:

许多MEV机器人正在16964664区块进行三明治交易。在以太坊区块16964664中,有8个MEV交易某恶意验证者利用。

该漏洞主要是由于验证者权力过于集中。MEV执行了一个三明治式攻击,他们抢先交易(front-run)然后进行尾随交易(back-run)以获利。恶意验证者front-run了MEVs back-run的交易。

我们以STG-WETH对https://etherscan.io/address/0x410fb10ba8af78a1e191fe3067208d3212ded961... 为例。合约0xe73F15想拉高交易对中的STG价格。每次试图拉高价格时,MEV机器人就会front-run 和 back-run以获取WETH利润。

在一次MEV三明治攻击中,MEV调用swap函数换取STG代币后,恶意验证者利用抢先交易(front-run)替换了尾随交易(back-run)。结果导致2,454 WETH通过0xe73F15合约被转移至https://etherscan.io/address/0x84cb986d0427e48a2a72be89d78f438b3a3c58d1。

总共有大约2500万美元被盗,这也是我们迄今为止所见过的最大的MEV Bot漏洞损失之一。

本次MEV攻击事件的核心原因是拿到了bundle的原始信息,对交易进行了替换。但是MEV机器人的代码并不是开源的。验证者一般需要访问某些特定信息来挖掘交易,而恶意验证者其实可以从中诸如公共内存池(mempool)中获取bundle的信息。flashbot验证者通常比较可靠,因为他们都要通过MevHUB的KYC验证,以保证数据来源安全可信。在这种情况下,因为验证者掌握了信息,所以能先于mevsearcher或mevbot发起抢先交易。需要注意的是,该情况仅限于non-atomical 攻击或策略(如三明治攻击),因为恶意验证者无法从发送者身上套利,而只能从策略中获利(如清算)。

此事件也可能成为MEV生态系统的转折点:日后MEV搜寻者(Searchers)可能会对 non-atomical 策略(如三明治攻击)提高警惕。Flashbot团队或将可能更倾向于使用一些有验证历史记录的“靠谱”验证者。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Tags: 以太坊 MEV
Previous: Bittrex 将于 4 月底停止美国业务 Next: 从存储到计算 去中心化存储复兴

Related