2023年5月28日,据Beosin-Eagle Eye态势感知平台消息,Jimbos protocol的JimboController合约遭受黑客攻击,黑客获利约750万美元。
根据官网介绍,Jimbos Protocol 是部署在 Arbitrum 「反应集中流动性」的实验协议,Jimbos Protocol 推出的主要代币 $JIMBO 旨在不同情况下定期重新平衡其协议的流动性,以提高资金利用效率。
我们所熟知的麻吉大哥黄立成,就在前几天曾花费上百万美元购买此项目的代币,在攻击发生之后,其相关代币也一阵暴跌,不知道麻吉大哥现在有何感想。
Beosin安全团队第一时间对事件进行了分析,现将分析结果分享如下。
事件相关信息
攻击交易
0x44a0f5650a038ab522087c02f734b80e6c748afb207995e757ed67ca037a5eda(其中一笔)
攻击者地址
0x102be4bccc2696c35fd5f5bfe54c1dfba416a741
攻击合约
0xd4002233b59f7edd726fc6f14303980841306973
被攻击合约
0x271944d9D8CA831F7c0dBCb20C4ee482376d6DE7
攻击流程
该攻击交易有多笔,我们用其中一笔进行分析。
1.攻击者首先闪电贷借出10,000 WETH。
2.攻击者然后使用大量的WETH兑换JIMBO代币,使其拉高JIMBO价格。
3.接着攻击者向JimboController合约转移了100的JIMBO代币,目的是为了后面的添加流动性做准备(因为价格JIMBO价格拉高,添加流动性时就只需要很少数量的JIMBO代币)。
4.接着攻击者再调用shift函数,shift函数会移除原有的流动性然后添加新的流动性。调用shift函数,会把该合约的资金拿去添加流动性,以至于JimboController合约的WETH会被全部添加流动性。
5.这时候由于在失衡状态添加流动性(添加流动性时,会依靠当前的价格去作为依据,计算代币需要的数量,相当于使用合约接盘了),以至于攻击者可以获得更多的WETH,攻击者最后把JIMBO兑换成WETH完成获利。
漏洞分析
本次攻击主要利用了JimboController合约中的漏洞,它允许任意人使用shift函数让合约执行移除和添加流动性操作,使其高位接盘。
资金追踪
截止发文时,被盗资金还未被攻击者转出,4048 枚ETH仍在攻击地址中:
(https://etherscan.io/address/0x5f3591e2921d5c9291f5b224e909ab978a22ba7e)
总结
针对本次事件,Beosin安全团队建议:合约开发时,应避免合约被外部操控进行投资;项目上线前,建议选择专业的安全审计公司进行全面的安全审计,规避安全风险。