VesperFi Finance被黑事件分析
摘要: 以太坊上的 DeFi 协议 VesperFi Finance 遭到攻击!损失超300万美元!
前言
11 月 3 日,知道创宇区块链安全实验室监测到 以太坊上的 DeFi 协议 VesperFi Finance 遭遇预言机操控攻击,损失超 300 万美元。
知道创宇区块链安全实验室 第一时间对本次事件深入跟踪并进行分析。
攻击流程简析
攻击分为两部分:
第一部分:攻击阶段
交易哈希:
0x89d0ae4dc1743598a540c4e33917efdce24338723b0fabf34813b79cb0ecf4c5
1. 攻击者向 pool 添加 (VUSD 对 USDC 为无穷大) 的 0.1USDC 流动性
2. 攻击者通过 Swap 用 232k USDC 兑换走 pool 内正常的 222k VUSD 流动性
第二部分:套利阶段
交易哈希:
0x8527fea51233974a431c92c4d3c58dee118b05a3140a04e0f95147df9faf8092
1. 通过 Swap 将 222k VUSD 兑换为 2205MM fVUSD
2. 将 2205MM 抵押置换成其他 pool 基础代币
攻击原理分析
1. 首要分析为什么黑客要进行两次操作,而不通过同一攻击合约完成操作?
解决这个问题首先我们要知道 Uniswap V3 使用的预言机为 TWAP 类型,该预言机功能为获取一个时间周期上的交易平均价格,也就是说当价格已经发生改变时,该交易可能还并没有处在 TWAP 获取价格的时间周期中。
所以在黑客已经完成攻击后,他并没有基于兑换手中的 VUSD,而是等到价格发生变化时再入手。我们也确实可以看到套利阶段发生在攻击阶段 10 块高后。
攻击交易哈希:
套利交易哈希:
2. 至于添加流动性和兑换流动性得到解释
在 Uniswap V3 中,只有一个区块内对价格有影响的第一笔交易会被写入预言机。
因此添加过高的流动性可以让 TWAP 发现并获取到攻击者指定的价格。而兑换走流动性则是让 TWAP 发现前一步骤以及套利。
总结
本次安全事件的主角虽然是 VesperFi Finance,但是更让人关心的是 Uniswap V3 的 TWAP 预言机是否依然安全,可以观察到并非 TWAP 预言机本身错误地获取了价格,而是一个严重超高的价格被设置出来让它获取的,不可否认其存在局限性,但是本次事件最主要的问题还是流动性过于集中在预期价格附近很容易被操纵以及允许 pool 内单个代币不合理的流动性被设置。
知道创宇区块链安全实验室在此提醒,任何有关资金问题的操作都需要慎重考虑,合约审计、风控措施、应急计划等都有必要切实落实。
作者:创宇区块链安全实验室;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请联系微信:chaindd123。
作者:创宇区块链安全实验室;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请联系微信:chaindd123
评论(0)
Oh! no
您是否确认要删除该条评论吗?