近来,一种特殊的”攻击“频繁的出现在我们眼前,或许叫他攻击也不对,本质上这更像是由于dev为了自己的私利导致的套利行为。
首先先看易受攻击的代码片段:
简要说下逻辑:这类土狗合约在交易、转账的过程中会扣税到自己地址,积攒到一定数量之后会触发卖出操作,将自己地址拥有的土狗换成ETH、稳定币等发送给Dev,拿去添加流动性等。又因为这个钱本来就是收税来的,所以兑换的时候并不会考虑到滑点操作。当然也有可能是懒,不想计算滑点操作哈哈。
好了,有了以上的前提条件,我们尝试来构建一个可能的攻击向量:
- 从V3、V2不同的pair来借出土狗。这里不能是合约里会进行卖出的那个代币,因为这是我们要夹住合约里的卖出。
- 将借来的代币交换成ETH、稳定比等,在这里会被收税,从而增加合约里的token,进而满足分红条件,触发卖出操作。
- 由于2的操作,现在我们的土狗价格下跌,从而我们能够以更少的稳定币换回土狗币。
- 将土狗偿还给闪电贷,完成整个套利。
这类合约非常的多,但是一般只有链上比较活跃的土狗能达到套利条件。而且可以重复套利,只要等合约积攒够了token就行。