返回部落格

Coin98 如何悄悄修復漏洞

Code Auditing
2022年1月16日
閱讀約 3 分鐘

上週五,我們的監控系統偵測到針對 BSC 上 Coin98 智能合約(0x8aaf408e06feed6a6a6182ea3c464035748b9b31 — 受害合約)的一次攻擊。我們立即透過 Twitter 私訊了專案負責人,但未獲得回應。由於當時漏洞仍然存在,我們並未將其公開。幾個小時後,我們發現專案負責人已經建立了一個修復該漏洞的新合約。因此,我們現在可以安全地在此總結該漏洞及其修復方式。

攻擊交易與根本原因

我們內部監控系統引發的該交易記錄引起了我們的注意。經過仔細調查,我們確認這是由於 swapExactTokensForTokens 函數中 route 參數(實際上是指路由器)的存取控制缺失所致,如下所示:

該合約盲目地信任了 route,然後調用了路由器的 swapExactTokensForTokens 函數。在此之前,它會將受害合約擁有的所有代幣授權給該 route。然而,route 可以由攻擊者傳入。在這種情況下,攻擊者可以將受害合約的所有代幣轉移給自己,然後兌換成 WBNB 以獲取利潤。

以下是其中一次攻擊交易。

該漏洞的隱蔽修復

我們上週五透過 Twitter 私訊了專案負責人,但未獲回應。隨後我們在今天再次檢查了該合約,發現已經部署了一個新的智能合約(0x83f25d16bdf91f51120032f264dad0e1ab1c8227)。這個新合約為 route 增加了白名單機制:

結論

我們已經見過許多案例,智能合約盲目地信任傳入的參數。這確實會造成嚴重的安全漏洞。

請勿信任任何不受控制的參數!

關於 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 審計
Coin98 如何悄悄修復漏洞