返回部落格

我們如何為 TransitSwap(及 BabySwap)追回被盜資金

Code Auditing
2022年10月10日
閱讀約 4 分鐘

BSC 鏈上的 BabySwap 和 TransitSwap 於 10 月 1 日遭到攻擊。部分攻擊交易被一個機器人搶先交易(front-run)。有趣的是,該機器人極易受到 profanity 工具漏洞的影響,我們成功恢復了其私鑰。我們還設法對該機器人合約進行了逆向工程,並將資金從機器人合約提取到我們的安全帳戶中。我們已將資金轉移給 TransitSwap,目前正在與 BabySwap 進行對接。

針對 BabySwap 攻擊事件的偵測

在 2022 年 10 月 1 日 14:47 (UTC),我們的內部系統報告了一筆攻擊交易。我們進一步分析顯示,這是由於智慧路由器(smart router)合約中受控的工廠合約(factories)所導致。然而,由於當時該項目仍存在漏洞,我們並未公開細節。我們透過 Twitter 私訊和 TG 聯繫了 BabySwap,但未獲得任何回應。

在調查過程中,我們發現這筆交易是由一個機器人帳戶發出的,該帳戶搶先交易了原始的攻擊交易。此外,該帳戶的地址前綴有八個零,看起來像是透過 profanity 工具生成的,而該工具極易受到 profanity 工具漏洞的影響。

恢復機器人的私鑰

在 2022 年 10 月 1 日 16:10 (UTC),我們的工具在大約 20 分鐘內成功恢復了該機器人的私鑰。對於恢復的私鑰,我們將資金轉移到一個安全帳戶(這是我們救援工作的標準流程)。否則,其他同樣恢復了該私鑰的人可能會接管該帳戶,從而使帳戶中的資金面臨風險。

將資金從機器人中轉移出來

挑戰在於資金並非存儲在機器人 EOA 帳戶本身,而是存儲在由機器人部署的合約中。如何轉移這些資金是一個難題。

我們對合約進行了反編譯,發現合約中存在一個提取函數(如下圖所示)。

此函數可用於提取合約中的資金。第一個參數是代幣地址,第二個參數應為零。

我們發送了一筆交易,並成功將資金從合約提取到該機器人帳戶,隨後將資金轉移到了我們的安全帳戶。

又來了一次攻擊!

幾個小時後,我們的系統報告了對 TransSwap 的另一次攻擊。此次攻擊包含來自不同地址的多筆攻擊交易,其中一筆交易再次被該機器人搶先交易!然而,由於該機器人部署的合約與之前不同,因此轉移資金的函數也不同。

退還資金

經過內部審慎評估,我們決定將資金返還給受攻擊的項目方(而非機器人所有者),原因如下:

  • 首先,這些資金是機器人透過攻擊存在漏洞的合約所取得。儘管機器人是藉由搶先交易(而非自行發起攻擊)獲取資金,但我們仍認為搶先交易攻擊交易的行為同樣屬於攻擊。
  • 其次,資金屬於攻擊受害者,即受影響 DeFi 協定的用戶。用戶因 DeFi 協定中的漏洞遭受了巨大損失,他們理應收到來自攻擊者的贖回資金。

我們已經將資金轉移至 TransitFinance 官方資金接收地址,並正在與 BabySwap 聯繫。

救援工作的最新進展

我們仍在執行脆弱地址的救援工作。目前的挑戰在於,在恢復私鑰之前,無法確定一個地址是否真的存在漏洞。儘管我們已經優化了演算法,但受限於計算能力,我們仍需要更多時間來完成整個救援過程。我們將稍後發布一份詳細報告,深入探討整個過程並回答以下問題:

  • 有多少個地址存在漏洞?
  • 該漏洞的影響程度如何,即有多少資產因該漏洞面臨風險?
  • 此次漏洞攻擊事件的整體情況如何?

請保持關注並確保安全。

關於 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 審計