Back to Blog

每週Web3安全事件彙整|2026年2月16日至2月22日

Code Auditing
February 25, 2026
7 min read

在過去一週(2026年2月16日至2月22日),BlockSec 偵測並分析了三起攻擊事件,估計總損失約為 ~$6.22M。下表概述了這些事件,各案例的詳細分析請參閱後續小節。

日期 事件 類型 估計損失
2026/02/16 Moonwell 事件 配置錯誤 ~$1.78M
2026/02/19 PearlDriver 事件 算術溢位 ~$40.3K
2026/02/21 IoTex 事件 金鑰洩露 ~$4.4M

1. Moonwell 事件

簡要摘要

2026年2月16日,Base 鏈上的 Moonwell 協議因預言機配置錯誤而遭到利用,導致約 $1.78M 的壞帳。問題發生於 MIP-X43 提案執行期間,Base 鏈的 cbETH 預言機被錯誤地指定為 cbETH/ETH 匯率餵價,而非包含 ETH/USD 價格的複合預言機。這導致預言機將 cbETH 的報價約為 $1.12,而非其實際市場價值約 $2,200。清算機器人立即在償還極少債務的情況下奪取了 1,096.317 個 cbETH,直到上限被降低以阻止此次漏洞利用。

背景

Moonwell 是一個跨多條鏈的借貸協議,於 2026年2月16日執行了名為 MIP-X43 的提案。該提案旨在於 Base 和 Optimism 的所有剩餘核心及隔離市場中啟用 Chainlink OEV(預言機可提取價值)包裝合約,將覆蓋範圍擴展至 MIP-X38 中最初啟用的三個餵價之外。OEV 包裝器旨在允許協議在依賴預言機價格的清算過程中捕獲價值,同時確保清算者保持適當的激勵。

漏洞分析

該漏洞源於 ChainlinkOracleConfigs.sol 建構函數中的配置錯誤。對於 Base 鏈的 cbETH,提案將預言機配置為 "cbETHETH_ORACLE"(一個 cbETH/ETH 匯率餵價),而非將該匯率與 ETH/USD 定價相結合的正確複合預言機。當 OEV 包裝器被部署並透過 ChainlinkOracle 上的 setFeed() 接入後,協議開始使用原始匯率(cbETH/ETH ≈ 1.12)作為 cbETH 的美元價格。這在報告價格(~$1.12)與實際市場價值(~$2,200–$2,400)之間造成了巨大差異,導致 cbETH 抵押品被低估約 2,200 倍。

攻擊分析

  1. 2026年2月16日 UTC+8 凌晨 2:01,MIP-X43 執行完成,在 Base 鏈上啟用了配置錯誤的 cbETH 預言機。

  2. 監控協議的清算機器人立即偵測到價格差異,並對 cbETH [抵押品倉位] 執行清算。

  1. 在數分鐘內,1,096.31 個 cbETH 被清算者奪取,在受影響的市場中產生了約 $1.78M 的壞帳。

結論

此事件最終由 Moonwell MIP-X43 部署中的配置錯誤所引發,Base 鏈的 cbETH 被錯誤地指定了 cbETH/ETH 匯率餵價,而非正確的複合預言機。此配置錯誤導致大量 cbETH 抵押品被迅速耗盡。

對於管理多個預言機餵價的協議而言,實施完善的部署前驗證程序以確保每項資產連結到其預期價格來源至關重要。嚴格的驗證可顯著降低此類高影響配置錯誤的風險。


2. PearlDriver 事件

簡要摘要

2026年2月19日,PearlDriver 在 BSC 上的 NLAMM 聯合曲線合約遭到利用,導致約 $40.3K 的損失。根本原因是 buy() 函數中未經檢查的算術溢位,使攻擊者能以接近零的成本鑄造極大數量的遊戲代幣,再將其傾銷至 PearlDEX 流動性池中。

背景

PearlDriver 使用 NLAMM(非線性自動做市商)聯合曲線進行代幣鑄造。使用者可透過 buy() 函數購買遊戲資源代幣,購買的穩定幣成本計算方式為:cost = amount * currentPrice

在正常情況下,此公式確保所需付款與購買數量成正比。聯合曲線依賴以下假設:較大的購買量需要相應較大的付款,以維持定價完整性並防止不成比例的代幣發行。

漏洞分析

根本原因是穩定幣付款計算中的算術溢位。整個 buy() 函數被包裹在 unchecked 區塊中,停用了 Solidity 的內建溢位保護。因此,用於計算購買成本的乘法在超過最大整數限制時不會回滾,而是溢位並回繞至一個小得多的數字,大幅降低了所需的付款金額。

因此,攻擊者幾乎無需付款即可鑄造大量代幣,並立即將其傾銷至 DEX 流動性對以抽乾 USDT。

攻擊分析

單筆交易中,攻擊者使用相同的攻擊模式對五種資產(鐵礦石、煤炭、木材、沙子和黏土)利用了存在漏洞的 buy() 函數。以第一種資產為例:

  1. 攻擊者在調用 buy() 時指定了極大的購買數量。由於未經檢查的算術,amount * currentPrice 的計算發生溢位並回繞至接近零的值,僅需支付 0.0053 USDT(不到約 $0.01)作為付款。儘管成本微乎其微,合約仍向攻擊者鑄造了大量鐵礦石,具體為 7.03 × 10⁵⁸ 個代幣。

  2. 攻擊者立即將部分鑄造的鐵礦石兌換至其對應的 PearlDEX 流動性對,獲得 7,805.55 USDT(約 $7,805.56)。

相同的溢位傾銷序列被應用於其他四種資產,抽乾了每個資產-USDT 對的流動性,總獲利超過 $40K。

結論

此事件由 NLAMM buy() 函數定價邏輯中未經檢查的算術所引發。透過停用溢位檢查,該函數允許極端輸入值扭曲付款計算,破壞了聯合曲線模型的經濟假設。

雖然未經檢查的算術在嚴格受控的場景中可能是適當的,但在直接決定付款金額的金融邏輯中使用可能會帶來重大風險。為降低此類風險,開發者應仔細審查所有算術運算,並在考慮停用 Solidity 0.8+ 內建溢位檢查時保持謹慎,特別是在影響定價或轉帳的程式碼路徑中。


3. IoTex 事件

簡要摘要

2026年2月21日,IoTeX 的 ioTube 跨鏈橋在以太坊驗證者擁有者金鑰遭到洩露後發生安全漏洞。攻擊者獲得了驗證者合約的所有權,繼而控制了 TokenSafeMintPool 合約,抽乾了約 $4.4M 的跨鏈橋儲備金,並鑄造了超過 4 億個 CIOTX 代幣。被盜儲備金被兌換並部分轉移至比特幣。根據專案方表示,約 3.55 億個已鑄造的 CIOTX 代幣已被永久鎖定或凍結。

背景

遭到入侵的 ioTube 是 IoTeX 的跨鏈橋基礎設施,連接 IoTeX Layer 1 與以太坊等其他網路。在以太坊側,橋接架構以驗證者合約(即 TransferValidatorWithPayload)為核心,該合約用於驗證跨鏈結算訊息並管理下游鑄造合約。這些合約包括持有跨鏈橋儲備資產的 TokenSafe,以及持有特定代幣(如 CIOTX)鑄造權的 MintPool

漏洞分析

根本原因是驗證者合約擁有者私鑰遭到洩露。由於跨鏈橋依賴單一 EOA 且無多簽或時間鎖控制,持有此金鑰即可獲得完整的管理控制權。攻擊者利用合約的 upgrade() 函數,將 TokenSafeMintPool 合約的所有權轉移至攻擊者控制的地址。這使得攻擊者能夠直接提取跨鏈橋儲備資產並未經授權地大量鑄造 CIOTX。

攻擊分析

  1. 洩露以太坊上的驗證者合約擁有者金鑰,獲取管理控制權

  2. 使用驗證者合約轉移 TokenSafeMintPool 合約的所有權。

  1. TokenSafe 抽乾約 $4.4M 的儲備資產(USDC、USDT、WBTC、WETH、BUSD 等),並透過 MintPool 鑄造超過 4 億個 CIOTX。

  2. 兌換被盜的儲備代幣並跨鏈轉移至其他鏈。

結論

此事件是典型的單點故障金鑰洩露案例。以太坊側的整個跨鏈橋安全性依賴於具有完整管理權限的單一 EOA,且無多簽保護或時間鎖防護措施。一旦該 EOA 的私鑰遭到洩露,對關鍵跨鏈橋組件的控制權便實際上已喪失。

此案例凸顯了中心化管理控制的風險,並強調了透過更強大的治理機制分散升級和託管權限的重要性。


關於 BlockSec

BlockSec 是一家全棧區塊鏈安全與加密合規服務提供商。我們構建產品和服務,幫助客戶在協議和平台的完整生命週期內進行程式碼審計(包括智能合約、區塊鏈和錢包)、即時攔截攻擊、分析事件、追蹤非法資金,以及履行 AML/CFT 義務。

BlockSec 已在知名會議上發表多篇區塊鏈安全論文,報告了多起 DeFi 應用程式的零日攻擊,攔截了多次駭客攻擊並救援超過兩千萬美元,並保護了數十億美元的加密貨幣。

Sign up for the latest updates

Best Security Auditor for Web3

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

BlockSec Audit