链捕手消息,以太坊DeFi项目xToken遭受攻击,损失近2500万美元,慢雾安全团队介入分析,得出造成本次攻击的原因如下:
本次被黑的两个模块分别是xToken中的xBNTa合约和xSNXa合约。两个合约分别遭受了“假币”攻击和预言机操控攻击。
一)xBNTa合约攻击分析1.xBNTa合约存在一个mint函数,允许用户使用ETH兑换BNT,使用的是BancorNetowrk进行兑换,并根据BancorNetwork返回的兑换数量进行铸币。2.在mint函数中存在一个path变量,用于在BancorNetwork中进行ETH到BNT的兑换,但是path这个值是用户传入并可以操控的3.攻击者传入一个伪造的path,使xBNTa合约使用攻击者传入的path来进行代币兑换,达到使用其他交易对来进行铸币的目的。绕过了合约本身必须使用ETH/BNT交易对进行兑换的限制,进而达到任意铸币的目的。
二)xSNXa合约攻击分析1.xSNXa合约存在一个mint函数,允许用户使用ETH兑换xSNX,使用的是KyberNetwork的聚合器进行兑换。2.攻击者可以通过闪电贷Uniswap中ETH/SNX交易对的价格进行操控,扰乱SNX/ETH交易对的报价,进而扰乱KyberNetwork的报价。从而影响xSNXa合约的价格获取3.攻击者使用操控后的价格进行铸币,从而达到攻击目的。
总结:本次xToken项目被攻击充分展现了DeFi世界的复杂性,其中针对xSNXa的攻击更是闪电贷操控价格的惯用手法。慢雾安全团队建议DeFi项目开发团队在进行DeFi项目开发的时候要做好参数校验,同时在获取价格的地方需要防止预言机操控攻击,可使用Uniswap和ChainLink的预言机进行价格获取,并经过专业的安全团队进行审计,保护财产安全。
参考链接:官方分析:https://medium.com/xtoken/initial-report-on-xbnta-xsnxa-exploit-d6e784387f8e
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。