DeFi 項目 Yeld.finance 稱該項目的 DAI 池遭受到閃電貸攻擊,但成都鏈安分析稱,該筆交易爲 Yeld.finance 項目自身的策略機制而導致的資金轉移,與閃電貸攻擊無關。

原文標題:《16 萬美元資產被盜竟是烏龍事件? | Yeld.finance“閃電貸攻擊”事件簡析》
撰文:成都鏈安

事件概覽

北京時間 2021 年 2 月 27 日, 【鏈必安-區塊鏈安全態勢感知平臺(Beosin-OSINT)】 輿情監測到,DeFi 知名項目 Yeld.finance 官方發出通告,表示該項目的 DAI 池遭受到閃電貸攻擊,原文鏈接如下:

https://yeldf.medium.com/the-yeld-dai-earn-vault-has-been-hacked-93f27d475b1b

成都鏈安(Beosin)安全團隊第一時間介入響應,對原文中所提及的交易

(0x57b378f8d20d3945ab40cd62aa24063f375bcfc5693c2e788dc193ffa1a5cc3a) 進行分析。經分析後發現,該筆交易爲 Yeld.finance 項目自身的策略機制 而導致的資金轉移,與 閃電貸攻擊 無關。閃電貸攻擊表示不背這個鍋。

事件分析**

16 萬美元資產被盜竟是烏龍事件? | Yeld.finance“閃電貸攻擊”事件簡析圖 1 交易信息

如圖 1 所示,該筆交易是名爲 0xf0f225e0 的用戶,調用了 0xe780cab7ca8014543f194fc431e6bf7dc5c16762 合約的 deposit 函數 。經確認,0xef80cab7 合約正是項目方的 DAI 池。該筆交易一共產生了 6 筆 代幣轉移,分別用 T1 到 T6 表示。那麼,這些 代幣轉移 究竟是什麼操作導致的呢?下面通過代碼進行分析:

16 萬美元資產被盜竟是烏龍事件? | Yeld.finance“閃電貸攻擊”事件簡析圖 2 deposit 函數源代碼

很明顯,第 538 行代碼,產生導致了序號爲 T1 的代幣轉移,將 token (即 DAI)轉移到 yDAI 合約。這是一筆普通的代幣轉賬,表示用戶存入了 9,377 DAI 到 yDAI 合約。

第 541-553 行代碼,是 yDAI 合約用於計算用戶存入的 DAI 應返回給用戶多少 yDAI,並在第 554 行進行鑄幣,對應序號爲 T2 的代幣轉賬,表示 yDAI 合約向用戶鑄了 9,306 yDAI

然後進入第 555 行的 rebalance 函數 ,分析該函數的邏輯。

16 萬美元資產被盜竟是烏龍事件? | Yeld.finance“閃電貸攻擊”事件簡析圖 3 rebalance 函數源碼

16 萬美元資產被盜竟是烏龍事件? | Yeld.finance“閃電貸攻擊”事件簡析圖 4 recommend 函數

第 732 行代碼會計算 newProvider,該函數會調用 recommend 函數 (如圖 4 所示),recommend 函數會調用 IEarnAPRWithPool 合約查詢 4 個 Defi 項目 DYDX,COMPOUND,AAVE,FULCRUM 中,年利率 (APR) 最高的項目,查詢結果如圖 5 所示:

16 萬美元資產被盜竟是烏龍事件? | Yeld.finance“閃電貸攻擊”事件簡析圖 5 recommend 查詢結果

其中 dYdX 池 的 APR 最高,newProvider 被設置爲 dYdX 池。當前池爲 AAVE 池,進入 736 行的 if 代碼塊,調用 內部函數_withdrawAll

16 萬美元資產被盜竟是烏龍事件? | Yeld.finance“閃電貸攻擊”事件簡析圖 6 _withdrawAll 函數源代碼

第 778 行代碼將會提出 AAVE 池中的所有 DAI,產生了序號爲 T3-T5 的代幣轉移,具體代碼可參考 AAVE(0xfC1E690f61EFd961294b3e1Ce3313fBD8aa4f85d) 合約 redeem 函數相關代碼,此處不再詳述。

最後是第 741 行代碼,將從 AAVE 中提出的 16.6 餘萬枚 DAI 存入 dYdX 合約,產生了序號爲 T6 的代幣轉移,即將 16.6 萬枚 DAI 存入 dYdX 池。

整個交易就此結束,可以看到,這次所謂的「閃電貸攻擊」只是「虛驚一場」 。用戶只是單純的存入了一筆 DAI,然後剛好觸發了 Yeld.finance 項目的策略機制,並不是所謂的「閃電貸攻擊」,可謂是鬧了場「烏龍事件」。

值得注意的是,dYdX 在該事件中充當了一個「良心商家」的角色,並不是以往閃電貸攻擊中的幫兇。

安全建議

儘管本次事件經成都鏈安(Beosin)安全團隊分析後被判斷爲虛假一場,但在這裏還是有必要提醒各項目方,依然需要在日常的安全防護工作中,對閃電貸攻擊 加以預警和防範

同時,作爲 致力於區塊鏈生態安全建設 的成都鏈安(Beosin)也在此建議,項目方的安全預警機制和安全加固工作切不可等閒視之。尋求第三方安全公司的力量,搭建 覆蓋全生命週期的一站式安全解決方案 方爲萬全之策。

來源鏈接:mp.weixin.qq.com