返回部落格

小額存款,獲益更多:yCREDIT 攻擊詳情

Code Auditing
2021年1月3日
閱讀約 4 分鐘

2021 年 1 月 2 日(北京時間 07:25),我們的監控系統 ThunderForecast 報告了一系列針對 yCREDIT 智能合約的疑似異常交易。隨後,我們使用研究團隊開發的 EthScope 系統對這些交易進行了分析,確認所有被報告的交易均為惡意攻擊。在本篇博文中,我們將說明攻擊詳情。

詳情

此次攻擊的原因是代幣鑄造數量與預期不符。因此,攻擊者能夠以更低的價格獲得更多的 yCREDIT 代幣,隨後將這些代幣賣出以獲取利潤。

存在漏洞的函數位於 StableYieldCredit 合約的 _deposit 函數中。

在下文中,我們將使用一筆 攻擊交易 來演示整個過程。

攻擊者首先向 WBTC-yCREDIT 配對資金池 轉入 1e-8 WBTC 和 331.335 yCredit 代幣。接著,攻擊者向 StableYieldCredit 合約存入 0.5 WBTC 以發起攻擊。

具體而言,_value 是根據 ChainLink 預言機提供的 token(0x2260fac5e5542a773aa44fbcfedf7c193bc2c599 - WBTC)的 amount(0.5)來計算的(第 480 行,_value 為 1466786010075)。其本意是計算存入的 WBTC 的美元價值。之後,合約會將與該價值對應的 yCREDIT 代幣數量(_value - fee)轉給存入 WBTC 的人(攻擊者),因為系統設計使 yCREDIT 的價值等於 1 美元。除了攻擊者損失了少量的 fee 之外,一切看起來都很正常。

此外,該合約會將存入的 WBTC 添加到 WBTC-yCREDIT 配對資金池中,這是為了避免存入的 WBTC 被鎖定在合約中而導致流動性流失。因此,它首先計算了將要投入池中的代幣配對(WBTC 到 yCREDIT)的價值。該值是通過 _addLiquidity 函數計算的,基本原理是根據池內現有的儲備量來計算。由於池中僅有 1e-8 WBTC 和 331.335 yCREDIT 代幣,計算出的 amountA 為 44(amountB 為 1466786010075)。這意味著攻擊者僅花費了 44e-8 WBTC(第 485 行)就獲得了 14667.86010075 - fee = 14594.52080025 個 yCREDIT 代幣(第 493 行)。同時,池中留下了少量的 WBTC(1e-8 + 44e-8)和 yCREDIT 代幣(331.335 + 14667.86010075)。

為了獲取利潤,攻擊者只需在交易所交易掉獲得的 14594.52080025 個 yCREDIT 代幣即可。有趣的是,在此筆 交易 中獲利的過程比實際需要的要複雜得多。我們在其他交易中也觀察到了更巧妙的攻擊策略。

此次攻擊涉及一系列交易,包括(但不限於)以下交易:

更新

2020/01/03:已有 一個修復了該漏洞的新智能合約。

時間線

  • 2021/01/01 23:25 UTC,我們的系統捕獲到攻擊。
  • 2021/01/02 16:20 UTC,發布此博文。
訂閱最新動態
Bitget 3.875億美元鏈下違規事件:超越金鑰與合約的範疇
Security Insights

Bitget 3.875億美元鏈下違規事件:超越金鑰與合約的範疇

2026年9月24日,攻擊者利用第三方安全產品漏洞,獲取內部憑證並偽造提款指令,導致約3.875億美元從Bitget部分營運錢包(涵蓋Ethereum、其他EVM網絡、XRP Ledger、Zcash及TRON)轉出;私鑰及冷錢包未受影響。本文深入梳理事件路徑與資金流向,分析快速轉換為原生資產及生態恢復應對,提出機構縱深防禦框架,並說明授權區塊鏈滲透測試如何驗證跨層假設。

約1130萬美元損失:Multicall Router、Nostra|BlockSec Weekly
Security Insights

約1130萬美元損失:Multicall Router、Nostra|BlockSec Weekly

本報告涵蓋2026/09/14至2026/09/20期間,探討以太坊與Starknet上兩起合計損失約1130萬美元的安全事件。較大一起中,多重呼叫路由器將自身位址接受為分派目標,導致巢狀呼叫以路由器自身已授權身分而非外部呼叫者身分進入Safe錢包的Gateway模組,約2900枚`aEthrsETH`被轉出至攻擊者建立的Uniswap v4池。在Starknet上,Nostra預言機整合僅要求最少一個聚合來源,當三個設定價格來源中僅兩個達成聚合時,操縱的薄池報價與正常報價平均後將`NSTR`估值約49.52美元,支撐約350萬美元以高估抵押品借貸。

损失約3.2億美元:Liquid Network與Symbiosis遭攻擊事件 | BlockSec
Security Insights

损失約3.2億美元:Liquid Network與Symbiosis遭攻擊事件 | BlockSec

本報告涵蓋2026/09/07至2026/09/13,探討兩起造成約3.2億美元損失的安全事件,包括前份報告未提及、發生於2026/09/06的Liquid Network漏洞事件。較大者為該Liquid Network漏洞:Elements中的rangeproof驗證快取藉由雜湊四個欄位(其中兩個長度可變)串接而成金鑰,且未標示欄位邊界,導致某輸出的驗證結果被錯誤套用至另一個未經檢驗證明的輸出,使攻擊者得以憑空創造4,000枚無擔保L-BTC,並將幾乎全數兌回比特幣。在橫跨BNB Smart Chain、Ethereum與Rootstock的Symbiosis跨鏈橋比特幣路徑中,讀取比特幣存款的鏈下程式碼從存款人可自行控制的欄位取得其身份,並在未檢查手續費是否為負值的情況下自存款中扣除,使330聰的存款鑄造出`46,116,860,184.27388234 syBTC`;其須賣出所經之資金池僅有11.26 syBTC,致使流動性提供者與用戶損失約9.97 BTC(約77萬美元)。

Web3 最佳安全審計方

在上線之前驗證設計、程式碼與業務邏輯,對標業內最高安全標準。

BlockSec 審計
小額存款,獲益更多:yCREDIT 攻擊詳情