SharkTeam:Hedgey Finance 被攻击事件分析
撰文:SharkTeam
2024 年 4 月 19 日,Hedgey Finance 遭受多笔攻击交易,损失超过 200 万美元。
SharkTeam 对此事件第一时间进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。
一、攻击交易分析
Hedgey Finance 被过个攻击者发起了多次攻击,利用代币批准漏洞,盗取了 ClaimCampaigns 合约中的大量代币。
以其中涉及金额最大的一笔交易为例,涉及金额约 130 万美元:
攻击交易:0x2606d459a50ca4920722a111745c2eeced1d8a01ff25ee762e22d5d4b1595739
攻击者:0xded2b1a426e1b7d415a40bcad44e98f47181dda2
攻击合约:0xc793113f1548b97e37c409f39244ee44241bf2b3
目标合约:0xbc452fdc8f851d7c5b72e1fe74dfb63bb793d511(ClaimCampaigns)
该交易直接从 ClaimCampaigns 合约中转移走了 1,303,910.12 USDC。交易详情如下:
实际发起攻击的交易是
0xa17fdb804728f226fcd10e78eae5247abd984e0f03301312315b89cae25aa517(简记为 0xa17f)
攻击过程如下:
1 从 Balancer 中闪电贷 1.305M USDC。
2 调用 ClaimCampaigns 合约中的 createLockedCampaign 函数。在该函数中,攻击合约会将 1.305M USDC 存入 ClaimCampaigns 合约中,然后 laimCampaigns 合约会将转入的 1.305M USDC 批准给攻击合约使用。
3 调用 ClaimCampaigns 合约中的 cancelCampaign 函数。在该函数中,攻击合约将存入的 1.305M USDC 提取出来,但在 createLockedCampaign 函数中批准给攻击合约的 USDC 并没有取消。
4 攻击合约偿还 Balancer 的闪电贷。
在该交易中,攻击合约将保存在 ClaimCampaigns 合约中的 1.305M USDC 提取走后,ClaimCampaigns 合约批准给攻击合约的 1.305M USDC 并没有取消,因此攻击合约可以直接调用 USDC 的 transferFrom 函数再次从 ClaimCampaigns 合约中转移走 1.305M USDC。这也是交易 0xa17fdb804728f226fcd10e78eae5247abd984e0f03301312315b89cae25aa517 实现的功能。
通过以上两笔交易,攻击者从 ClaimCampaigns 合约中盗取了 1.305M USDC。
除了 USDC 外,该攻击者利用此漏洞还从 ClaimCampaigns 合约中盗取了大量的 NOBL Token,加上 USDC,总价值超过 200 万美元。
二、漏洞分析
本次事件的根本原因是项目方智能合约在实现逻辑上存在代币批准漏洞,使得攻击者可以利重复转移目标合约批准给 msg.sender 中的 Token。
智能合约 ClaimCampaigns 的 createLockedCamaign 函数会将 msg.sender 的 Token 存入到目标合约中,并将这些 Token 批准给 msg.sender。
cancelCampaign 函数会将存入的 Token 提取出来,但却并没有取消代币的批准。
攻击者利用此漏洞,直接调用 Token 的 transferFrom 函数从目标合约中再次转移走批准的代币。
三、安全建议
针对本次攻击事件,我们在开发过程中应遵循以下注意事项:
(1)项目在设计和开发过程中,要保持逻辑的完整性和严谨性,尤其是涉及到资产的转移过程中,在转移 Token 时保证同步代币批准的数量,避免上面转移走了 Token 但没有取消批准的情况。
(2)项目上线前,需要由第三方专业的审计公司进行智能合约审计。
免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。
你也可能喜欢
Thesis分拆项目Acre斩获400万美元融资,比特币质押赛道估值突破9000万美元
在数字货币领域,每一次重大的融资事件和市场估值的变化都牵动着投资者和从业者的心。近日,Thesis分拆项目Acre成功斩获400万美元融资,与此同时,比特币质押赛道的估值突破了9000万美元。这一消息犹如一颗重磅炸弹,在币圈引起了广泛的

矿工投降潮背后:算力战升级触发比特币“人为熊市”
近期,比特币市场掀起了一股不小的波澜,矿工投降潮成为了行业内热议的话题。比特币作为加密货币领域的龙头,其市场动态一直备受关注。而此次矿工投降潮的出现,更是引发了市场参与者的高度警觉。这一现象不仅反映了比特币市场当前的复

特朗普加密政策摇摆,比特币“10万关口”遭政治博弈狙击?
近期,比特币市场再次成为全球金融领域的焦点,其价格一路攀升,不断逼近“10万关口”。这一关键价位的临近引发了市场的广泛关注和热议,投资者们翘首以盼,期待着比特币能够创造新的历史。比特币作为加密货币的代表,其价格的波动不仅影响

Mt.Gox 90亿美元比特币还款启动,幕后操盘手借利空“砸盘”?
Mt.Gox曾经是全球最大的比特币交易平台,在2014年却因被盗约85万枚比特币而宣告破产,这一事件成为了比特币发展史上的重大挫折,严重打击了投资者对加密货币市场的信心。如今,时隔多年,Mt.Gox的90亿美元比特币还款计划正式启动,这一消息

加密货币价格
更多








