8月4日,知道创宇区块链安全实验室 监测到 BSC 链上的 DeFi 协议 Wault Finance 遭遇闪电贷袭击,价值跌落近半。实验室第一时间跟踪本次事件并分析。
攻击合约地址:0xaa895873a268a387e38bd841c51d2804071197a10x50AFA9383EA476BDF626d6FbA62AFd0b01C8fEa1
受害合约地址:0x6102d8a7c963f78d46a35a6218b0db4845d1612f0xa79fe386b88fbee6e492eeb76ec48517d1ec759a
1. 获取启动资金
首先黑客通过闪电贷从 WUSD-USDT 池中借出 1,683 万 WUSD
接着通过 WUSDMaster 销毁 WUSD 获得 1,503 万 USDT 和 1.065 亿 WEX
黑客再通过闪电贷从 PancakeSwap 借出 4,000 万 USDT,并将其中 2,300 万 USDT 兑换为 WEX
2. 攻击阶段
黑客向 WUSDMaster 重复的进行质押 USDT 以获得 WUSD,此过程 WUSDMaster 会自动将部分 USDT 置换为 WEX
最后将手中的 WEX 兑换为 USDT
3. 离场
黑客归还闪电贷并将获利代币通过兑换为 ETH,再通过 AnySwap 跨链离场。
其实原理很简单,就是黑客利用闪电贷低价大量买入 WEX ,再通过向 WUSDMaster 质押 USDT 拉升 WEX 价位,最后再抛售获利。
那为什么 WUSDMaster 在接收质押时会拉升 WEX 价位?
在攻击过程分析中我们可以看到,黑客质押 USDT 获取 WUSD 时,WUSDMaster 合约自动将一部分 USDT 兑换为 WEX
观察源码
很明显当大量质押交易产生时会导致交易对中的 WEX 大量下降,其价值会迅速拉升,此时黑客抛售 WEX 就能获取巨额利润。
近期,BSC 链上频频爆发攻击事件,合约安全愈发需要得到迫切重视,合约审计、风控措施、应急计划等都有必要切实落实。