Back to Blog

LI.FI 攻擊:跨鏈橋漏洞?不,這是未檢查外部調用所致!

Code Auditing
March 21, 2022
4 min read

根據 LI.FI 專案發布的報告以及 Daniel Von Fange 的 Twitter,我們注意到 LI.FI 在 2022 年 3 月 20 日遭受了攻擊。由於目前尚無針對此漏洞的詳細技術分析,我們在下方對該攻擊進行了進一步分析。我們發現此次攻擊的根本原因在於未經檢查的外部呼叫 (unchecked external call)

攻擊交易

我們以該攻擊交易為切入點來闡述攻擊過程。下圖顯示了我們交易視覺化系統的結果。

如上圖所示,整個攻擊過程相當簡單,過程中沒有部署任何惡意智慧合約,也沒有涉及閃電貸 (flashloan)。 攻擊者僅採取了的一個步驟:呼叫 CBridgeFacet 合約 中的 swapAndStartBridgeTokensViaCBridge(0x01c0a31a) 函式,隨後該函式便將各種代幣(例如 USDC、MATIC、RPL、GNO、USDT、MVI、AUDIO、AAVE、JRT 及 DAI)從不同的授權者轉移至該攻擊者控制的 EOA 帳戶中。

程式碼分析

接著我們深入分析受害邏輯合約的程式碼。

的程式碼
的程式碼
的程式碼
的程式碼

根據上述程式碼,swapAndStartBridgeTokensViaCBridge 是來源鏈上跨鏈交易的入口。

LIFI 專案聲稱他們可以為用戶找到最佳路由,這被稱為發生在鏈下的「智慧路由 (Smart Routing)」。具體而言,前端網頁會計算出最佳路由,並將參數(包括交換合約與路由路徑)編碼到 swapAndStartBridgeTokensViaCBridge 函式的參數中。

顯然,LIFI 專案並未考慮到該函式可能會被區塊鏈上的任何帳戶所呼叫,因為該函式未對參數執行任何檢查(例如白名單限制或交換滑點限制)。最嚴重的是,CBridgeFacet 合約要求用戶授權代幣,這導致了用戶的資金面臨風險。

獲利情況

結果就是,攻擊者透過呼叫 swapAndStartBridgeTokensViaCBridge 函式,竊取了已將代幣授權給 CBridgeFacet 合約的 LIFI 用戶資金;該函式隨後呼叫了不同代幣的 transferFrom 函式。損失統計如下表所示。總損失約為 59.6 萬美元,這與 LIFI 專案提供的統計數據基本一致。

代幣 數量 價格
GNO 0.94 310.22
USDC 202,012.28 0.999655
MATIC 3,144.89 1.46
AUDIO 1,202.37 1.10
AAVE 8.99 149.99
RPL 44.86 31.2
MVI 22.95 131.82
USDT 368,745.29 1
DAI 8,421.49 0.999847
JRT 136,805.06 0.03789613

教訓

LIFI 是一個跨鏈橋聚合器,受害合約是跨鏈傳輸的入口。此漏洞並非源於複雜的跨鏈邏輯(這在此前其他跨鏈橋安全事件中常出現),而是源於未經檢查的外部呼叫,這是 Solidity 中十大常見問題之一。

隨著 DeFi 專案變得日益複雜,專案開發人員除了撰寫正確的業務程式碼外,還需要更關注程式碼的安全性。我們強烈建議專案切勿在區塊鏈上部署未經審計的合約。

關於 BlockSec

BlockSec 是一家開拓性的區塊鏈安全公司,由一群全球傑出的安全專家於 2021 年創立。公司致力於增強新興 Web3 世界的安全性和可用性,以促進其大規模普及。為此,BlockSec 提供智慧合約與 EVM 鏈安全審計服務、用於安全開發與主動威脅封鎖的 Phalcon 平台、用於資金追蹤與調查的 MetaSleuth 平台,以及協助 Web3 建設者在加密世界中高效探索的 MetaDock 擴充功能。

迄今為止,公司已服務超過 300 家知名客戶,如 MetaMask、Uniswap Foundation、Compound、Forta 和 PancakeSwap,並從 Matrix Partners、Vitalbridge Capital 和分布式資本 (Fenbushi Capital) 等著名投資者處獲得了兩輪數千萬美元的融資。

官方網站:https://blocksec.com/

官方 Twitter 帳號:https://twitter.com/BlockSecTeam

Sign up for the latest updates
~$598萬損失:Aztec、Raydium等|BlockSec週報
Security Insights

~$598萬損失:Aztec、Raydium等|BlockSec週報

本週區塊鏈安全報告涵蓋2026年6月8日至15日,分析以太坊和Solana上4起重大事件,總損失約598萬美元。重點事件包括:Aztec Connect因缺少輸入驗證導致rollup證明路徑與L1結算狀態不一致;Raydium因舊版AMM v3程式缺少驗證,攻擊者操縱LP代幣贖回計算並清空四個池。兩個漏洞均存在多年後才被利用。報告涵蓋輸入驗證缺失、整數溢出及治理攻擊等類型。

Zcash Orchard 健全性漏洞分析 | BlockSec 週報
Security Insights

Zcash Orchard 健全性漏洞分析 | BlockSec 週報

2026年6月1日當週,Zcash Orchard隱私池電路被公開披露存在嚴重健全性漏洞。該漏洞由halo2 ECC標量乘法組件缺少等式約束引起,可能導致透過雙重支付在Orchard池中無法被偵測地偽造ZEC。此漏洞自2022年5月Orchard啟用以來已存在逾四年,由研究員Taylor Hornby使用Anthropic Opus 4.8模型進行AI輔助安全審計時發現,並透過緊急網路升級(NU6.2)修補。本報告涵蓋技術根本原因、AI輔助發現過程、緊急應對時間軸及對ZKP生態系統的影響。

通訊 - 2026年5月
Security Insights

通訊 - 2026年5月

2026年5月,DeFi生態發生三起重大安全事件。Echo Protocol因管理員密鑰外洩遭惡意增發eBTC,損失約7,670萬美元;StablR因多簽治理漏洞被非法發行穩定幣,損失約1,280萬美元;Verus-Ethereum Bridge因類型驗證失敗導致攻擊,損失約1,170萬美元。

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit