Uniswap: 汇率操控引起的漏洞
大约 1 分钟
Uniswap: 汇率操控引起的漏洞
此次漏洞使用闪电贷、bZx杠杆交易操控Uniswap池子WBTC-WETH的价格,从而获得约36万美元(1271.4127388WETH)的收益。
攻击交易hash:0xb5c8bd9430b6cc87a0e2fe110ece6bf527fa4f170a4bc8cd032f768fc5219838
攻击步骤:
攻击者从dYdX上借出10000 WETH;
将其中5500个WETH放入Compound池子,借贷出112个WBTC;
将其中1300个WETH放入bZx,以5x杠杆做空,借出5637.623762 WETH,接着在Uniswap中卖出,得到51.345576 WBTC。该操作使得Uniswap池子WETH/WBTC价格汇率由0.025974跌至0.00910747;
使用步骤2获取的112个WBTC以低价去Uniswap池子里买回6871.4127388 WETH;
归还dYdX上的10000(借出的10000个WETH还剩3200个,加上刚才买回的6871.4127388个WETH);攻击者赚得71.4127388WETH。
该步骤完成后,攻击者1. 需要归还Compound池子的112个WBTC借贷;2. 需要归还bZx借贷的51.345576个WBTC。
步骤5之后,WETH/WBTC币价汇率回归至0.025974,于是攻击者使用4300个WETH按照该价格可以购买112个WBTC,归还至Compound池子;由此攻击者获取了5500-4300=1200个WETH;
至于bZx里的51.345576WBTC,由于价格下跌厉害,已爆仓。
整个过程到此结束,攻击者共获取1200+71.4127388=1271.4127388WETH。