PANews消息,自动做市商协议MonoX Finance遭到闪电贷攻击,安全机构BlockSec分析了其中一笔黑客交易,这笔交易哈希为0x9f14d093a2349de08f02fc0fb018dadb449351d0cdb7d0738ff69cc6fef5f299,转出地址为0xecbe385f78041895c311070f344b55bfaa953258,转入地址为0xf079d7911c13369e7fd85607970036d2883afcfd。
BlockSec发现,这次攻击是因为MonoX合约中tokenIn和tokenOut使用的token是一样的,这也是该合约的一大漏洞。具体来说,在`swapTokenForExactToken` 函数中,攻击者可以使用与 tokenIn和tokenOut相同的代币。计算新价格之后,`Monoswap` 合约再调用`_updateTokenInfo` 函数更新价格。但是,由于tokenIn和tokenOut是同一个token,tokenOut更新之后会覆盖tokenIn的价格更新,继而导致这个token的价格暴涨。在这种情况下,MooX代币价格会变得非常高,此时攻击者便利用这一漏洞从流动性池中兑换所有的其他代币。