BitsLab 旗下 AI 工具發現並協助修復 Bluefin 的高風險漏洞

作者:BitsLab

隨着 Web3 協議復雜度飆升,面向資產安全設計的 Move 語言又因公開數據與研究稀缺而加大了審計難度。爲此,BitsLab構建了一套多層 AI 安全工具“BitsLabAI”:以專家策劃領域數據爲底座,結合 RAG(檢索增強生成)、多級自動化審核,以及運行在確定性靜態分析之上的專用 AI 智能體集羣,爲審計提供深度自動化支持。

在 Bluefin 永續合約 DEX 的公開審計中,BitsLab AI 共發現四個問題,其中包含一個高風險邏輯缺陷,Bluefin 團隊已據此完成修復。

1)爲什麼此刻需要 AI:鏈上安全範式的遷移

鏈上安全與數字資產保護的範式正在經歷根本性的轉變。隨着基礎模型的重大進展,如今的大型語言模型(LLMs)和 AI 代理具備了一種初步但強大的智能形態。在給定明確定義的上下文時,這些模型可以自主分析智能合約代碼,以識別潛在的漏洞。這推動了 AI 輔助工具的快速普及,例如對話式用戶界面(UIs)和集成代理的 IDE,逐漸成爲智能合約審計員和 Web3 安全研究人員的標準工作流程的一部分。

然而,盡管這第一波 AI 融合帶來了希望,但其仍受制於關鍵性的局限,無法滿足高風險區塊鏈環境所要求的可靠性:

淺層次且依賴人工的審計:當前工具充當的是“副駕駛”,而非自主審計員。它們缺乏理解復雜協議整體架構的能力,並依賴於持續的人類引導。這使得它們無法執行確保互聯智能合約安全所需的深度自動化分析。

由幻覺導致的高噪音信號比:通用 LLM 的推理過程受到“幻覺”困擾。在安全場景下,這意味着會產生大量誤報和冗餘警示,迫使審計員浪費寶貴時間去駁斥虛構的漏洞,而不是修復那些真實且可能帶來災難性後果的鏈上威脅。

對特定領域語言理解不足:LLM 的性能直接取決於其訓練數據。對於 Move 這樣專爲資產安全而設計的專用語言而言,由於復雜代碼庫和已記錄漏洞的公共資源稀缺,導致其對 Move 獨特安全模型的理解流於表面,包括其核心的資源所有權和內存管理原則。

2)BitsLab 的 AI 安全框架(面向規模化的可靠性)

鑑於通用型 AI 的關鍵缺陷,我們構建的框架採用了多層次、安全優先的架構。它並不是單一模型,而是一個集成系統,其中每個組件都被設計用於解決智能合約審計中的特定挑戰,從數據完整性到深度自動化分析。

  1. 基礎層:專家策劃的領域專屬數據集

任何 AI 的預測能力都根植於其數據。我們的框架卓越的表現始於我們獨有的知識庫,這與用於訓練公共 LLM 的通用數據集有着根本性的不同。我們的優勢體現在:

細分領域的大規模覆蓋:我們擁有龐大而專業化的數據集,這些數據集經過精心收集,專注於諸如 DeFi 借貸、NFT 市場以及基於 Move 的協議等高風險領域。這爲特定領域的漏洞提供了無與倫比的上下文深度。

專家策劃與清洗:我們的數據集不僅僅是抓取而來,而是由智能合約安全專家持續清洗、驗證並加以豐富。該過程包括對已知漏洞的標注、安全編碼模式的標記,以及無關噪音的過濾,從而爲模型創造出高保真度的“真實基礎”進行學習。這種人機協作的策劃確保了我們的 AI 從最高質量的數據中學習,從而顯著提升其準確性。

  1. 準確性:通過 RAG 與多層次審查消除幻覺

爲了解決幻覺和誤報這一關鍵問題,我們實現了一個復雜的雙重系統,使 AI 的推理始終基於可驗證的事實:

檢索增強生成(RAG):我們的 AI 並非僅依賴其內部知識,而是在做出結論前持續查詢實時知識庫。該 RAG 系統會檢索最新的漏洞研究、既定的安全最佳實踐(例如 SWC 註冊表、EIP 標準),以及來自類似且已成功審計協議的代碼示例。這迫使 AI 必須“引用其來源”,確保其結論基於既有事實,而非概率性的猜測。

多層次審查模型:每一個由生成式 AI 識別出的潛在問題,都會經過嚴格的內部驗證流程。這一過程包括由一系列專門化模型組成的自動化審查機制:交叉引用模型會將發現與 RAG 數據進行比對,經過微調的“審計員”模型會評估其技術有效性,最後“優先級”模型會判斷其潛在的業務影響。通過這一流程,低置信度的結論和幻覺會在到達人類審計員之前被系統性地過濾掉。

  1. 深度:通過靜態分析與 AI Agent 協同實現深度自動化

爲了實現超越簡單“副駕駛”工具的深度、具備上下文感知的自動化,我們採用了一種協同方式,將確定性分析與智能代理結合起來:

靜態分析作爲基礎:我們的流程首先通過全面的靜態分析遍歷來確定性地映射整個協議。這會生成完整的控制流圖,識別所有狀態變量,並追蹤所有合約之間的函數依賴關係。該映射爲我們的 AI 提供了一個基礎的、客觀的“世界觀”。

上下文管理:框架維護了整個協議的豐富而整體的上下文。它不僅理解單個函數,還理解它們是如何相互作用的。這一關鍵能力使其能夠分析狀態變化的連鎖效應,並識別復雜的跨合約交互漏洞。

AI Agent 協作:我們部署了一組專門化的 AI 代理,每個代理都針對特定任務進行訓練。“訪問控制代理”專門搜尋權限提升漏洞;“可重入代理”專注於檢測不安全的外部調用;“算術邏輯代理”則仔細檢查所有數學運算,以捕捉溢出或精度錯誤等邊界情況。這些代理基於共享的上下文映射協同工作,能夠發現單一、單體 AI 所遺漏的復雜攻擊手法。

這種強大的組合使我們的框架能夠自動化發現深層次的架構性缺陷,真正作爲一個自主的安全合作夥伴發揮作用。

3)案例研究:揭示 Bluefin PerpDEX 中的關鍵邏輯缺陷

爲了在真實場景中驗證我們框架的多層架構,我們將其應用於 Bluefin 的公開安全審計。Bluefin 是一個復雜的永續合約去中心化交易所。這次審計展示了我們如何通過靜態分析、專門的 AI 代理以及基於 RAG 的事實校驗,發現傳統工具無法識別的漏洞。

分析過程:多代理系統的運作

這一高危漏洞的發現並非單一事件,而是通過框架中各個集成組件系統性協作完成的:

上下文映射與靜態分析 流程首先對 Bluefin 的完整代碼庫進行輸入。我們的靜態分析引擎確定性地映射了整個協議,並結合基礎分析 AI 代理,對項目做了整體性概覽,定位到了與核心金融邏輯相關的模塊。

專門化代理的部署 基於初步分析,系統自動部署了一系列專門的階段性代理。每個 AI 代理都有自己的審計提示與向量數據庫。在本次案例中,其中一個專注於邏輯正確性與邊界情況漏洞(如溢出、下溢和比較錯誤)的代理發現了該問題。

基於 RAG 的分析與復核 算術邏輯代理(Arithmetic Logic Agent)開始執行分析。借助檢索增強生成(RAG),它查詢了我們專家策劃的知識庫,參考 Move 語言中的最佳實踐實現,並將 Bluefin 的代碼與其他金融協議中已記錄的類似邏輯缺陷進行對比。該檢索過程突出顯示了正負數比較是一個典型的邊界錯誤案例。

發現:核心金融邏輯中的高危漏洞

通過我們的框架,我們最終識別出四個不同的問題,其中一個是深植於協議金融計算引擎中的高危邏輯漏洞。

漏洞出現在 signed_number模塊中的 lt(小於)函數。該函數對於任何金融比較都至關重要,例如倉位排序或盈虧(PNL)計算。漏洞可能導致嚴重的財務差異、錯誤的清算,以及 DEX 核心操作中的公平排序機制失效,直接威脅協議的完整性。

問題的根源在於當負數與正數進行比較時出現了錯誤的邏輯。signed_number模塊使用 value: u64和 sign: bool(true 表示正數,false 表示負數)來表示數值。而 lt函數在其 else 分支(處理不同符號數的比較)中存在缺陷。當比較一個負數(!a.sign)與一個正數(b.sign)時,該函數錯誤地返回了 a.sign(即 false),實際上斷言了“正數小於負數”。

修復措施:

爲糾正這一關鍵問題,lt函數的 else分支需要進行一個簡單但至關重要的修改。修復後的實現必須返回 !a.sign,以確保在比較時,負數始終能夠被正確地評估爲小於正數。

修復

結果:Bluefin 開發團隊已在收到這份詳細報告後第一時間被通知,並立即採取措施修復該問題。

4)BitsLab AI 對 Web3 團隊的意義

更少誤報噪聲:RAG + 多級復核顯著降低“幻覺”與僞陽性。

更深覆蓋面:靜態分析地圖 + 智能體協同,捕捉跨合約、邊界條件與邏輯層面的系統性風險。

面向業務的優先級:以影響分級引導工程投入,讓時間花在“最關鍵的問題”上。

5)結論:BitsLab AI 賦能的安全成爲新基線

Bluefin 的實踐驗證了 BitsLab 的核心論點:可信的 Web3 安全,必須同時“有據可依”(RAG)、“層層把關”(多級復核)、並“深入結構”(靜態分析 + 智能體協作)。

這一路線在理解與校驗去中心化金融底層邏輯時尤爲關鍵,也是維系協議規模化信任的必要條件。

在快速演進的 Web3 環境中,合約復雜度不斷攀升;而 Move的公開研究與數據仍相對稀缺,導致“安全保障”更具挑戰。BitsLab 的 BitsLab AI 正是爲此而生——通過專家策劃的領域知識、可核驗的檢索增強推理,以及面向全局上下文的自動化分析,端到端識別與緩解 Move 合約風險,爲 Web3 安全注入可持續的智能動力。

BLUE-27.1%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)