零時科技|| SiloFinance 攻擊事件分析

我們監控到Ethereum 上針對SiloFinance 的攻擊事件,攻擊共造成54.6k USD 的損失

背景介紹

2025年6⽉25⽇,我們監控到Ethereum 上針對SiloFinance的攻擊事件:

https://etherscan.io/address/0xcbee4617abf667830fe3ee7dc8d6f46380829df9

攻擊共造成54.6k USD的損失。

攻擊及事件分析

⾸先,攻擊者調⽤了合約的openLeveragePostion ,該函數是⼀個⽤於開啟槓桿頭⼨的函數,它透過閃電貸(flashloan)機制來實現槓桿交易。接著在onFlashLoan 回檔中執⾏ _openLeverage 完成將閃電貸資⾦透過_fillQuote 轉換為抵押品等操作。

零時科技 || SiloFinance 攻擊事件分析

我們可以看到相關程式碼:

零時科技 || SiloFinance 攻擊事件分析

其中_flashArgs.flashloadTarget 為攻擊者設定的攻擊合約,所以函數調⽤了攻擊和約的flashloan 。

零時科技 || SiloFinance 攻擊事件分析

隨後,攻擊合約調⽤了onFlashLoan ,我們可以看到相關代碼如下:

零時科技 || SiloFinance 攻擊事件分析

由於_txAction 在函數openLeveragePostion 已經被設定成為了LeverageAction.Open ,所以接下來會調⽤ _openLerverage 。

零時科技 || SiloFinance 攻擊事件分析

接著會調⽤ _fillQuote ,這個函數的作⽤是將debt token 兌換為collat​​eral token ,問題就出在這裡⾥。我們看⼀下_fillQuote 的實作⽅式:

struct SwapArgs {

address exchangeProxy; //0x160287e2d3fdcde9e91317982fc1cc01c1f94085

address sellToken; //0x79c5c002410a67ac7a0cde2c2217c3f560859c7e

address buyToken; //0x79c5c002410a67ac7a0cde2c2217c3f560859c7e

address allowanceTarget;//0x79c5c002410a67ac7a0cde2c2217c3f560859c7e

bytes swapCallData; //0xd516418400000000000000000000000000000000000000000000000c249fdd327780000000000000000000000000000004377cfaf4b4a44bb84042218cdda4cebcf8fd6200000000000000000000000060baf994f44dd10c19c0c47cbfe6048a4ffe4860}

我們將input data 也就是swapCallData 解碼後得到:

0xd5164184 // borrow(uint256,address,address)

0x00000000000000000000000c249fdd3277800000 //uint256 _assets

0x04377cfaf4b4a44bb84042218cdda4cebcf8fd62 //address _recviver

0x60baf994f44dd10c19c0c47cbfe6048a4ffe4860 //address _borrower

也意味著攻擊者調⽤了borrow 函數。隨後,攻擊者透過borrow 獲得了224個WETH 完成攻擊。

零時科技 || SiloFinance 攻擊事件分析

總結

本次漏洞的成因是Silo 合約的flashloan callback 函數沒有驗證傳入的數據,導致攻擊者傳入惡意數據,最終完成對Silo 的攻擊。建議項⽬⽅在設計經濟模型及程式碼運⾏邏輯時要多⽅驗證,合約上線前審計時盡量選擇多個審計公司交叉審計。

分享至:

作者:零时科技

本文為PANews入駐專欄作者的觀點,不代表PANews立場,不承擔法律責任。

文章及觀點也不構成投資意見

圖片來源:零时科技如有侵權,請聯絡作者刪除。

關注PANews官方賬號,一起穿越牛熊
推薦閱讀
41分鐘前
1小時前
2小時前
2小時前
3小時前
5小時前

熱門文章

行業要聞
市場熱點
精選讀物

精選專題

App内阅读