Back to Blog

超越市場風險:SushiSwap KashiPairMediumRiskV1 合約中發現的邏輯漏洞

Code Auditing
December 15, 2022
4 min read

2022 年 11 月 8 日,我們偵測到部分攻擊成功從建立在 Sushi 官方 KashiPairMediumRiskV1 合約(或其分叉合約)之上的資金池中提走資產。經調查後,我們發現根本原因是邏輯漏洞導致代幣價格計算錯誤。

我們立即與 Sushi 安全團隊聯繫,他們證實了我們的發現。好消息是,他們正在採取行動,保護一些有價值但存在漏洞的資金池免受攻擊。此外,他們還提供了補償因該漏洞而損失資金的用戶的程序。因此,我們現在認為披露該漏洞和攻擊的細節是安全的。在本報告中,我們將提供詳細的分析。

漏洞分析

在分析 KashiPairMediumRiskV1 合約源碼後,我們斷定該漏洞存在於 borrow 函數中,該函數在 solvent 修飾器中使用過時的 exchangeRate 來驗證借貸份額。具體而言,驗證將基於 _isSolvent 函數中 exchangeRate 的當前值執行。

而在 liquidate 函數中,updateExchangeRate 函數在最開始就被呼叫。因此,驗證和計算將基於更新後的值執行。

顯然,此漏洞可能被利用並導致(巨大的)價格差異。

攻擊分析

我們觀察到兩次攻擊:

  1. 0xcf8f242ea83100b6d43e659f7f53a698d304fc6ac2ca6fe79e3e07ee05fefe58:受害者使用 KashiPairMediumRiskV1 合約,損失約 9,466 USDC。
  2. 0x3d163bfbec5686d428a6d43e45e2626a220cc4fcfac7620c620b82c1f2537c78:受害者是一個使用 CauldronMediumRiskV1(KashiPairMediumRiskV1 的分叉)的策略合約,損失約 110,911 MIM。

請注意,第一次攻擊交易是由一個搶先原始攻擊交易的機器人發起的:0x7a845d8d2af7919f5b9e22dd5571305cb5347d17986a8402715c1463d515fc18,原始攻擊者地址為 0xb7ea0f0f8c6df7a61bf024db21bbe85ac5688005

我們以 第一次攻擊交易 為例,它包含以下步驟:

  1. Balancer 借入 40,900 BADGER 和 121,904 USDC 的閃電貸。
  2. 將 40,900 BADGER 和 113,599 USDC 存入 BentoBox
  3. 呼叫 kmBADGER/USDC-LINK 的 addCollateral 函數,存入 40,900,000,000,000,000,000,000 份額的 BADGER。
  4. 呼叫 kmBADGER/USDC-LINK 的 addAsset 函數,存入 112,529,000,000 份額的 USDC。
  5. 呼叫 borrow 函數借出 120,755,095,093 份額的 USDC。
  6. 呼叫 UpdateExchangeRate 函數。
  7. 呼叫 liquidate 函數清算自己。
  8. BentoBox 提取 40,899 BADGER 和 123,006 USDC。
  9. 歸還閃電貸,獲利約 9,466 USDC。

請注意,步驟 6 並非必要,因為 borrow 函數會呼叫 UpdateExchangeRate 函數。

關鍵步驟如下:

不難發現,borrow 函數中使用的 exchangeRate 值與 liquidate 函數中使用的值存在偏差:

  • borrow 函數中:250,997,938,545,109,237,740,214,705,193
  • liquidate 函數中:328,266,883,541,864,569,505,752,156,794

影響範圍

有數十個資金池(在 Ethereum 和 BSC 上)可能受到此錯誤的影響。緩解此問題的一種暫時方法是透過偶爾(或定期)呼叫 UpdateExchangeRate 函數來減少或消除這種偏差。許多受影響的項目已經採用了這種方法,並且在鏈上可以觀察到相應的交易。

總結

確保 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
Harmony 跨鏈 ONE 鑄幣事件 + 約4700萬美元金鑰洩露損失 | BlockSec
Security Insights

Harmony 跨鏈 ONE 鑄幣事件 + 約4700萬美元金鑰洩露損失 | BlockSec

2026年8月10日至16日期間,共5起重大安全事件,量化損失約4700萬美元。深度分析聚焦Harmony Layer-1鏈實作缺陷:跨分片收據重放導致原生ONE被未授權鑄造,目的分片以未驗證的MerkleProof.ShardID及BlockNum欄位判定收據已花費標記,而非依簽署來源標頭,使已入帳收據可重放而無對應來源分片扣款。約偽造3.01兆ONE,惟其名目價值遠超代幣市值,無法變現亦未確認實現損失,故Harmony不計入總額;約4700萬美元來自私鑰洩露(未知巨鯨錢包約2500萬、Kite約1400萬、Coinsbuy約790萬)及Fox業務邏輯缺陷(約11.7萬)。

~$160萬美元損失:Moke代幣、LpdFi遭攻擊利用 | BlockSec週報
Security Insights

~$160萬美元損失:Moke代幣、LpdFi遭攻擊利用 | BlockSec週報

2026年8月3-9日當週,BNB Chain發生2起重大安全事件,總損失約160萬美元,均源於價格操縱。LpdFi事件(約69.7萬美元)重複使用同一可操縱的PancakeSwap流動池儲備進行訂單估值和利息贖回,使攻擊者虛增本金並操控池子以索取超額利息。Moke Token事件(約90.6萬美元)結合可操縱現貨價格與重複LP分紅計算,多次領取虛增的MOKE及BNB分紅。

COLDCARD事件:當錢包的「隨機」助記詞並不隨機
Security Insights

COLDCARD事件:當錢包的「隨機」助記詞並不隨機

COLDCARD固件存在靜默構建整合漏洞,導致比特幣種子生成回退至軟件RNG,其弱隨機性使錢包種子可被離線破解。由於弱點存在於種子本身,固件更新無法修復;截至2026年8月7日,已確認損失達1,405 BTC(約9,100萬美元),私下估計高達2,055 BTC。

Best Security Auditor for Web3

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

BlockSec Audit
超越市場風險:SushiSwap KashiPairMediumRiskV1 合約中發現的邏輯漏洞