Back to Blog

當「SafeTransfer」不再安全:QBridge 安全事件的教訓

Code Auditing
January 28, 2022
2 min read

1 月 28 日,QBridge 遭到攻擊,約 8,000 萬美元的資產被盜。經過分析,我們發現程式碼中的根本原因在於 safeTransfer(以及 safeTransferFrom)函數的實作方式。

根本原因

首先,該項目並未使用普及的 OpenZeppelin SafeERC20 函式庫來進行代幣轉帳,而是實作了一個名為 SafeToken 的函式庫。

其次,該實作未檢查目標是否為有效的合約(或是否為零地址)。

第三,EVM 的底層呼叫(low-level call)在目標合約為零時不會回傳 false。 這與開發者的常識相違背。

當然,此次事件還有其他原因,例如將零地址放入了白名單中。然而,如果程式碼能正確處理這種特殊情況,那麼它就不會存在漏洞。

順帶一提:市面上還有其他項目使用了類似的程式碼,它們可能也容易受到類似問題的影響。

實驗

為了驗證第三點(即當目標合約為零時,虛擬機不會回傳 false),我們開發了一個測試合約,如下所示:

執行 TestSafeTransfer.test() 不會觸發回滾(revert)。

教訓與如何降低風險

我們建議:

  • 除非有非常充分的理由,否則請使用普及的函式庫,不要嘗試「重新發明輪子」。
  • 在資產轉移前後檢查餘額,以確保轉移的資產數量符合預期。這同時也能避免通貨緊縮和通貨膨脹代幣帶來的問題。

關於 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
當「SafeTransfer」不再安全:QBridge 安全事件的教訓