2022年5月19日,據Beosin-Eagle Eye態勢感知平台消息,Arbitrum公鏈上項目Swaprum項目疑是發生Rug Pull,涉及金額約300萬美元。
Beosin安全團隊第一時間對事件進行了分析,發現了項目方部署的流動性抵押獎勵池存在後門,項目方(Swaprum: Deployer)利用了add()後門函數盜取了用戶抵押的流動性代幣,以達到移除交易池子的流動性獲利的目的。
事件相關信息
攻擊交易(由於存在大量的攻擊交易,這裡僅展示部分)
攻擊者地址
0xf2744e1fe488748e6a550677670265f664d96627(Swaprum: Deployer)
漏洞合約
0x2b6dec18e8e4def679b2e52e628b14751f2f66bc
(TransparentUpgradeableProxy Contract)
0xcb65D65311838C72e35499Cc4171985c8C47D0FC
(Implementation Contract)
攻擊流程
為了方便展示我們以其中兩筆交易為例:
https://arbiscan.io/tx/0x36fef881f7e9560db466a343e541072a31a07391bcd0b9bcdb6cfe8ae4616fc0(調用add後門函數盜取流動性代幣)
https://arbiscan.io/tx/0xcb64a40d652ff8bfac2e08aa6425ace9c19f0eeb4a6e32f0c425f9f9ea747edf(移除流動性獲利)
1. Swaprum項目方(Swaprum: Deployer)通過調用TransparentUpgradeableProxy 合約的add()後門函數盜取用戶質押在TransparentUpgradeableProxy 合約的流動性代幣。
2.通過將實現合約反編譯後,add()函數確實存在後門。該後門函數會將合約中的流動性代幣轉賬給_devadd地址【通過查詢_devadd地址,該地址返回為Swaprum項目方地址(Swaprum: Deployer)】。
3.Swaprum項目方(Swaprum: Deployer)利用第一步盜取的流動性代幣移除流動性代幣從而獲取大量的利益。
4.值得注意的是,項目方原本的流動性抵押合約並無漏洞,而是通過升級的方式將正常的流動性抵押獎勵合約
(https://arbiscan.io/address/0x99801433f5d7c1360ea978ea18666f7be9b3abf7#code)
替換為了含有後門的流動性抵押獎勵合約
(https://arbiscan.io/address/0xcb65d65311838c72e35499cc4171985c8c47d0fc#code)
漏洞分析
本次攻擊主要原因是Swaprum項目方利用了代理合約可切換實現合約的功能,將正常的實現合約切換至存在後門函數的實現合約,從而後門函數盜取了用戶抵押的流動性資產。
資金追踪
截止發文時,Beosin KYT反洗錢分析平台發現被盜的約1628個ETH(約300萬美金)資金已跨鏈至以太坊上,並且向Tornado Cash存入了1620個ETH。