近来,一种特殊的”攻击“频繁的出现在我们眼前,或许叫他攻击也不对,本质上这更像是由于dev为了自己的私利导致的套利行为。
首先先看易受攻击的代码片段:
image
简要说下逻辑:这类土狗合约在交易、转账的过程中会扣税到自己地址,积攒到一定数量之后会触发卖出操作,将自己地址拥有的土狗换成ETH、稳定币等发送给Dev,拿去添加流动性等。又因为这个钱本来就是收税来的,所以兑换的时候并不会考虑到滑点操作。当然也有可能是懒,不想计算滑点操作哈哈。
image
好了,有了以上的前提条件,我们尝试来构建一个可能的攻击向量:

  1. 从V3、V2不同的pair来借出土狗。这里不能是合约里会进行卖出的那个代币,因为这是我们要夹住合约里的卖出。
  2. 将借来的代币交换成ETH、稳定比等,在这里会被收税,从而增加合约里的token,进而满足分红条件,触发卖出操作。
  3. 由于2的操作,现在我们的土狗价格下跌,从而我们能够以更少的稳定币换回土狗币。
  4. 将土狗偿还给闪电贷,完成整个套利。

放个TX:https://app.blocksec.com/explorer/tx/eth/0x3d5b4a0d560e8dd750239b578e2b85921b523835b644714dc239a2db70cf067c

这类合约非常的多,但是一般只有链上比较活跃的土狗能达到套利条件。而且可以重复套利,只要等合约积攒够了token就行。