返回部落格

零式機攻擊分析

Code Auditing
2021年8月9日
閱讀約 3 分鐘

2021年08月08日(北京時間,區塊高度 12982491),Zerogoki 遭受攻擊,造成約 670K 美元的損失。經過調查,我們發現此事件與被入侵的價格預言機有關。攻擊者提供了由合法私鑰簽名的價格預言機,其中包含經過精心構造的代幣交換數量。然而,攻擊者為何能夠構造出有效簽名,目前仍不得而知。

代碼分析

我們首先對被攻擊的合約 (0x80ecdb90) 進行了分析。

swap 函數呼叫 decode_op 以獲取預言機中的資訊。在執行驗證後,合約隨即銷毀 ns[0] 個 x.token,鑄造 ns[1] 個 y.token,並向 GOV 合約支付交換手續費。

從 decode_op 的實現來看,參數中存在三個簽名。在執行代幣交換(銷毀與鑄造)之前,這些簽名需要經過驗證(及授權)。

總結而言,swap 函數的第一個參數 ns 定義了待交換的代幣數量,第二個參數包含需要驗證的簽名。當驗證通過後,交換的代幣數量由第一個參數(ns)決定。

攻擊分析

在攻擊交易 0x81e5f715 中,攻擊者構造了一條包含有效簽名的消息,並傳入經過精心設計的 ns 參數(其中包含大量 zUSD)。因此,攻擊者僅使用 300 REI 便換取了 700K zUSD。

與簽名相關聯的三個地址為:

0x0d93A21b4A971dF713CfC057e43F5D230E76261C
0x3054e19707447800f0666ba274a249fc9a67aa4a
0x4448993f493b1d8d9ed51f22f1d30b9b4377dfd2

然而,就目前階段而言,我們尚無法得知這些地址的私鑰為何遭到洩露。

總結

確保 DeFi 項目的安全並非易事。除代碼審計之外,我們認為社群應採取積極主動的方式來監控項目狀態,並在攻擊發生之前將其阻斷。

關於 BlockSec

BlockSec 是一家開創性的區塊鏈安全公司,由一群享譽全球的安全專家於 2021 年創立。公司致力於提升新興 Web3 世界的安全性與可用性,以推動其大規模普及。為此,BlockSec 提供智能合約及 EVM 鏈安全審計服務、用於安全開發與主動攔截威脅的 Phalcon 平台、用於資金追蹤與調查的 MetaSleuth 平台,以及協助 Web3 建設者高效暢遊加密世界的 MetaSuites 擴充功能。

迄今為止,公司已服務超過 300 家知名客戶,包括 MetaMask、Uniswap Foundation、Compound、Forta 及 PancakeSwap,並在兩輪融資中獲得數千萬美元,投資方包括 Matrix Partners、Vitalbridge Capital 及 Fenbushi Capital 等頂級投資機構。

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

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

訂閱最新動態
NEAR Intents 遭攻擊:退款漏洞與資安教訓
Security Insights

NEAR Intents 遭攻擊:退款漏洞與資安教訓

NEAR Intents 遭到攻擊時,攻擊者利用金額過大的退款事件,在存入的資產退回後仍保留內部餘額。本文分析重建回執流程及 BNB Chain 上合計 3,865,021 USDT 的七筆出金,將這些資金流出與專案方所稱的資金全數追回區分開來,並概述開發及審計 NEAR 智能合約時應注意的安全事項。

損失約 557萬 USD:X100 Freezer、NEM 遭攻擊 | BlockSec 週報
Security Insights

損失約 557萬 USD:X100 Freezer、NEM 遭攻擊 | BlockSec 週報

本週報涵蓋 2026年10月19日–2026年10月25日 期間發生在 Ethereum 和 BNB Chain 上的兩起安全事件。報告分析了以閃電貸提供資金、奪取 X100 Freezer 治理權的事件,以及影響 BNB Chain 上某個 NEM 代幣流動性池的稅費結算缺陷。報告範圍內的估計損失合計約 557萬 USD:具代表性的 X100 交易造成約 475萬 USD 的損失,NEM 流動性池事件造成約 82.0萬 USD 的損失。此合計金額不包含另行報導的後續 X100 資金提取。

損失約 387萬 USD:Autheo Network、UNCX 遭駭|BlockSec 週報
Security Insights

損失約 387萬 USD:Autheo Network、UNCX 遭駭|BlockSec 週報

本週報告涵蓋 2026年10月12日–2026年10月18日 期間的 3 起安全事件,估計總損失約為 387萬 USD。Autheo Network 因私鑰遭入侵損失約 176萬 USD;Qubic Wallet 因種子產生機制薄弱損失約 130萬 USD;UNCX Network 的 Smart Token Vesting V2 合約在 Ethereum、BNB Chain、Base 和 Robinhood Chain 上因帳務計算錯誤造成約 80.7萬 USD 的損失。重點分析的 UNCX 事件說明,有缺陷的份額總計計算如何將以不同代幣與份額比率建立的代幣歸屬批次混在一起,進而使人得以從共用資金池超額提領。

Web3 最佳安全審計方

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

BlockSec 審計