去中心化金融协议Balancer自动化造市商协定在遭遇一笔以太坊交易被骇客窃取超过50万美元后,不到24小时内,又遭遇第二次攻击,损失价值约2, 300美元的Compound代币COMP 。
DeBank工程师Hao在推特上贴文说,骇客是藉由欺骗Balancer系统的方式,让系统误以为这名骇客被欠了储存在这家去中心化交易所资金池中的一大笔COMP币。
两次攻击手法相似
攻击手法牵涉到两家加密货币交易平台dYdX和Uniswap的闪电贷款(Flash Loan)。这名骇客贷款逾3,300万美元,这些资金产生了代币cToken,代表在Compound资金池中的所有权。
骇客接着将cToken转移到Balancer资金池中。这引发Compound分配资金池中应收应付的COMP。接下来,骇客迫使Balancer更新资金池中的余额,此时纳入计算所有闪电贷出的资金。这因此让系统相信,这名骇客拥有资金池中很大一笔的COMP,尽管骇客先前根本并未持有任何代币。
然后,骇客要求提领这些COMP,并且兑换成以太币,完成这次的骇客行动。第二次攻击的不法获利相对较小,约10枚COMP,价值约2,300美元。
工程师Hao注意到,第二次骇客窃盗的手法类似稍早窃得50万美元的一案。就像第一起案子,第二次的攻击主要依靠Balancer管理内部情况的特殊方式。
骇客身份依旧不明
1inch.exchange团队分析第一起攻击事件发现,骇客是利用精心策画的交易进行窃盗,这笔交易共消耗了逾800万的Gas,或相当约三分之二的单一以太坊区块,窃走超过价值50万美元的以太币、比特币、Chainlink(LINK)和Synthetix(SNX)代币。
Balancer技术长Mike McDonald在部落格贴文解释说,在世界协调时间28日18时,骇客先是用dYdX平台借入价值2,300万美元的WETH代币,这是一种适合进行去中心化金融交易的以太坊代币。接着,这些代币被用于兑换Statera(STA),Statera是一种投资型代币,每次交易时会销毁1%的币值,主要出自抗通膨目的。
在每次步骤中,合约可用的STA余额减少了1%,但是智慧合约没有考虑到这一点。
骇客就在WETH和STA来回交易24次,导致STA流动性池子耗尽,余额几乎所存无几。由于Balancer认为本身拥有等量的STA,因此释出相当于原先余额的WETH,让骇客每完成一笔交易,就能取得更大的利润。
除WETH外,攻击者还使用WBTC、LINK和SNX对Statera代币进行相同的攻击。
骇客身分依然不明,但1inch.exchange分析师表示,骇客已良好掩饰行动足迹,也就是利用以太币支付交易费用,并且部署智慧合约,透过以太坊混合服务Tornado Cash进行洗钱。
一名资安研究人员与STA团队指责,Balancer团队忽略两个月前就已交出的一份漏洞报告。对此,Balancer技术长Mike McDonald证实这份报告的存在,宣称报告中所指的问题,是无法被利用的,并且把这起骇客事件的责任归咎于闪电贷款。
不过,Balancer的团队已承诺将完全弥补所受影响的客户。他们还将提供报酬补偿给发现漏洞的研究人员。