事件时间7月14日,BSC 链上的SpaceGodzilla项目遭到黑客的闪电贷攻击,黑客利用闪电贷借取大量资金操纵PancakSwap上交易池中平台币的价格,并且利用项目中漏洞进行了攻击。此次攻击黑客套利25,378.78BUSD,NUMEN实验室第一时间通过分析攻击交易和代码细节,揭开闪电贷的秘密。
事件分析:
攻击者钱包地址:
https://bscscan.com/address/0x00a62eb08868ec6feb23465f61aa963b89e57e57
攻击者合约地址:
https://bscscan.com/address/0x3d817ea746edd02c088c4df47c0ece0bd28dcd72
SpaceGodzilla代币地址:
https://bscscan.com/address/0x2287c04a15bb11ad1358ba5702c1c95e2d13a5e0
攻击者交易:
https://bscscan.com/tx/0x7f183df11f1a0225b5eb5bb2296b5dc51c0f3570e8cc15f0754de8e6f8b4cca4
1. 如图1所示,攻击者从各个借贷平台中贷借取了大量BUSD,WBNB等代币到攻击合约中,并且进行了一些代币之间的借贷和互换。
图 1
2. 如图2图3所示,攻击者将借来的2,952,797.73BUSD在PancakeSwap中平台币的交易池中兑换出71,562,167,863,336个SpaceGodzilla。因此交易池中SpaceGodzilla和BUSD的比例受到影响,SpaceGodzilla的价格被拉高。
图 2
图 3
3. 如图4图5所示,攻击者调用合约中的swapAndLiquifyStepv1()函数,将合约下的30,395.26BUSD和22,634,745,200.05SpaceGodzilla添加到了PancakeSwap的交易池中,此时交易池的比例实际是不平衡的。
图 4
图 5
4. 如图6所示,攻击者将之前兑换的71,562,167,863,336个SpaceGodzilla代币从PancakeSwap的交易池中兑换出2,978,176.48个BUSD,并且把从借贷平台的钱归还回去,此次攻击黑客攻击获利25,378.78BUSD。
图 6
总结:
如图7所示,目前黑客已经将此次攻击获利的25,378.78BUSD兑换为BNB,通过Tornado.Cash进行转移。此次攻击事件的原因是因为项目中的代码逻辑存在一定的安全漏洞,swapAndLiquifyStepv1()函数在添加流动性时将合约下的两种代币全部添加到PancakeSwap的交易池中,此时交易池的比例是不平衡的,从而导致黑客利用这个漏洞进行攻击。Numen Cyber Labs建议,所有项目中接入去中心化交易所接口的函数都要经过严格测试。针对后续项目进展,我们会持续关注。
图7
如需了解更多详情,欢迎访问Numen Cyber Technology官网 https://www.numencyber.com 或发送邮件到operation@numencyber.com。