Bitget App
交易「智」變
快速買幣市場交易合約理財廣場更多
BitsLab 旗下 MoveBit 研究發布|Belobog:面向真實攻擊的 Move 模糊測試框架

BitsLab 旗下 MoveBit 研究發布|Belobog:面向真實攻擊的 Move 模糊測試框架

TechFlow深潮TechFlow深潮2025/12/16 09:31
顯示原文
作者:TechFlow深潮

作者:BitsLab

Move 作為 Web3 開發者不可忽視的一種語言,在強型別系統和資源語義、資產所有權、非法轉移、資料競爭等方面非常「硬核」。

Sui、Aptos 等生態將越來越多關鍵資產與核心協議放在 Move 上,也是因為 Move 語言的核心特性,使其能夠建立更安全、風險更小的智能合約。

但我們在長期審計與攻防實踐中看到的現實是:很大一部分棘手的問題往往不發生在「語法錯誤」或「型別不匹配」這種顯眼的位置,而是發生在更複雜、更真實的系統層面——跨模組互動、權限假設、狀態機邊界,以及那些單看每一步都合理、組合起來卻能被利用的呼叫序列。

也正因如此,即便 Move 語言具有更完善的安全範式,但在其生態中依然發生過影響重大的攻擊事件。顯然,Move 的安全研究還需要更進一步。

我們洞察到了一個核心問題:在 Move 語言中,缺乏一款有效的模糊測試(Fuzzing)工具。因為 Move 的約束更強,傳統智能合約 Fuzzing 在 Move 場景會面臨一個棘手的痛點:生成「型別正確」又「語義可達」的交易序列非常複雜。輸入不夠精準,呼叫就無法完成;無法呼叫,就無法覆蓋深層分支、觸及關鍵狀態,更容易錯過真正能觸發漏洞的路徑。

基於這個長期痛點,我們與高校研究團隊合作,聯合完成並發布了研究成果:

《Belobog: Move Language Fuzzing Framework For Real-World Smart Contracts》

arXiv:2512.02918(預印本)

這篇論文目前發佈在 arXiv 上屬於 preprint(預印本),它的意義是讓社群更快看到研究進展並接受反饋。我們正在將該工作投稿至 PLDI’26並等待 peer review 流程。在投稿結果確認並完成同行評審後,我們也會第一時間同步相關進展。

讓 Fuzzing 真正「跑得進」 Move:從隨機試錯到型別引導

Belobog 的核心思路很直接:既然 Move 的型別系統是它的基礎約束,那麼 Fuzzing 也應該把型別當成導航,而不是當成障礙。

傳統做法很多時候依賴隨機生成和變異,但在 Move 上,這會迅速產生大量無效樣本:型別不匹配、資源不可達、參數無法正確構建、呼叫鏈存在卡點——最後你得到的不是測試覆蓋,而是一堆「起跑即失敗」。

Belobog 的方法更像是在給 Fuzzer 裝一個「地圖」。它從 Move 的型別系統出發,為目標合約構建基於型別語義的 type graph,再基於這張圖去生成或變異交易序列。換句話說,它不是盲目拼接呼叫,而是沿著型別關係去構造更合理、更可執行、更容易深入狀態空間的呼叫組合。

對安全研究而言,這種改變帶來的不是「更花俏的演算法」,而是非常樸素但關鍵的收益:

有效樣本比例更高,探索效率更高,也更有機會觸及那些真實漏洞常出現的深層路徑。

面對複雜約束:Belobog 引入 Concolic Execution 去「推開門」

真實 Move 合約裡,關鍵邏輯往往被層層檢查、斷言與約束包圍。你如果只靠傳統變異,很容易在門口來回碰撞:條件始終滿足不了,分支始終進不去,狀態始終到不了。

為了解決這個問題,Belobog 進一步設計並實現了 concolic execution(具體執行 + 符號推導的混合執行)。簡單說就是:

它一方面保持「能跑」的具體執行,另一方面利用符號推導去更有方向性地逼近那些分支條件,從而更有效地穿透複雜檢查,推進覆蓋深度。

這點對 Move 生態尤其重要,因為 Move 合約的「安全感」常常建立在多層約束上,而真正的問題往往藏在約束交錯後的縫隙裡。Belobog 想做的,就是把測試推進到這些縫隙附近。

對齊真實世界:不是跑通 demo,而是逼近真實攻擊路徑

我們不太希望這類工作只停留在「能跑通 demo」。Belobog 的評估直接面向真實專案與真實漏洞結論。根據論文中的實驗結果:Belobog 在 109 個真實世界 Move 智能合約專案上進行評估,實驗結果顯示,Belobog 能夠檢測出由人工安全專家審計確認的 100% 的 Critical 漏洞以及 79% 的 Major 漏洞。

更值得關注的是:Belobog 在不依賴先驗漏洞知識的情況下,能夠在真實的鏈上事件中重現完整攻擊(full exploits)。這類能力的價值在於,它更接近我們在現實攻防裡面對的情況:攻擊者並不是靠「單點函數錯誤」得手,而是靠完整路徑與狀態演化得手。

這項工作想表達的,不只是「做了一個工具」

這篇論文之所以值得讀,並不只是因為它提出了一個新框架,而是因為它代表了一種更務實的方向:把一線安全經驗抽象成可複用的方法,並用可複驗的工程實現把它落地。

我們認為 Belobog 的意義不在於「又一個 Fuzzer」,而在於它讓 Fuzzing 在 Move 上更接近現實——能跑得進、能走得深、也更貼近真實攻擊路徑。Belobog 並非為少數安全專家設計的封閉工具,而是一個 developer-friendly 的框架:它盡量降低使用門檻,讓開發者能夠在熟悉的開發流程中持續引入安全測試,而不是把 Fuzzing 變成一次性、事後才做的工作。

我們也將以開源的方式發布 Belobog,希望它成為社群可以共同使用、擴展和演進的基礎設施,而不是停留在「工具層面」的實驗性專案。

論文(預印本):

(同時該工作正在投稿 PLDI’26,等待同行評審中。)

關於 MoveBit

MoveBit(莫比安全),BitsLab 旗下子品牌,是一家專注於 Move 生態的區塊鏈安全公司,通過率先使用形式化驗證使 Move 生態成為最安全的 Web3 生態系統。MoveBit 已經陸續與全球多家知名專案合作,並為合作夥伴提供了全方位的安全審計服務。MoveBit 團隊由學術界安全大牛和企業界安全領軍人物組成,具有10年的安全經驗,在 NDSS、CCS 等頂級國際安全學術會議上發表安全研究成果。並且他們是 Move 生態最早期的貢獻者,與 Move 開發者共同制定安全 Move 應用的標準。

0
0

免責聲明:文章中的所有內容僅代表作者的觀點,與本平台無關。用戶不應以本文作為投資決策的參考。

PoolX: 鎖倉獲得新代幣空投
不要錯過熱門新幣,且APR 高達 10%+
立即參與
© 2025 Bitget