專案方應該使用多簽錢包或 DAO 治理來管理具有重要許可權的位址

封面: Photo by Dynamic Wang on Unsplash

2023 年 4 月 26 日,據 Beosin-Eagle Eye 態勢感知平臺消息,Merlin Dex 發生安全事件,USDC-WETH 流動性池的資金已全部被提取,攻擊者獲利共約 180 萬美金。  據瞭解,Merlin Dex 是一個去中心化交易所,關於本次安全事件,Beosin 安全團隊第一時間對事件進行了分析,結果如下。

圖片

事件相關信息

我們以其中一筆交易為例進行分析

攻擊交易

0xf21bedfb0e40bc4e98fd89d6b2bdaf82f0c452039452ca71f2cac9d8fea29ab2

攻擊者位址

0xc0D6987d10430292A3ca994dd7A31E461eb28182

0x2744d62a1e9ab975f4d77fe52e16206464ea79b7

被攻擊合約

0x82cf66e9a45Df1CD3837cF623F7E73C1Ae6DFf1e(USDC-WETH 池子)

攻擊流程

1. 第一步,池子建立者(0xc0D6987d10430292A3ca994dd7A31E461eb28182)創建了工廠合約(0x63E6fdAdb86Ea26f917496bEEEAEa4efb319229F),在初始化時 Feeto 位址已經被設為(0xc0D6987d10430292A3ca994dd7A31E461eb28182)。

圖片

2. 攻击者通过工厂合约部署 USDC-WETH 池子(0x82cf66e9a45Df1CD3837cF623F7E73C1Ae6DFf1e),池子初始化时便将池子中的 USDC 和 WETH 最大化授权给了合约工厂的 Feeto 地址,可以看到这存在明显的中心化风险。

图片

3. 于是在有了最大授权的情况下,攻击者转走了该池子中的所有代币。

图片

4. 值得注意的是,在攻击发生之前,工厂合约的 Owner 和 Feeto 地址曾有过改动,但这一步并不是攻击所必须的,猜测可能是攻击者为了迷惑他人所做的操作。

图片
图片

最后可以看到 USDC-WETH 流动性池的资金已全部被提取,攻击者获利共约 180 万美金。

漏洞分析

Beosin 安全团队分析本次攻击主要利用了 pair 合约的中心化问题,在初始化时最大化授权了工厂合约中的 Feeto 地址,而导致池子中的资金随时可能被初始化时设定的 Feeto 地址提取走。

资金追踪

攻击者调用了 transferFrom 函数从池子转出了 811K 的 USDC 给攻击者地址 1(0x2744d62a1e9ab975f4d77fe52e16206464ea79b7)。攻击者地址 2(0xcE4ee0E01bb729C1c5d6D2327BB0F036fA2cE7E2)从 token1 合约(WETH)提取了 435.2 的 eth,通过 Anyswap 跨链后转到以太坊地址(0xa7D481944730a88B862eB57248Cb1B2C8aa358Ad)和地址(0x0b8a3ef6307049aa0ff215720ab1fc885007393d)上,共获利约 180 万美元。

截止发文时,Beosin KYT 反洗钱分析平台发现目前被盗资金仍存放在上述攻击者的两个以太坊主网地址上,Beosin 安全团队将持续对被盗资金进行监追踪。

图片
图片
图片

总结

针对本次事件,Beosin 安全团队建议,项目方应该使用多签钱包或 DAO 治理来管理具有重要权限的地址,用户在进行项目交互时也要多多了解此项目是否涉及风险。

免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 本文內容僅用於資訊分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。