Smart Contracts to Embeddings: Using off-the-shelf LLMs for Fun and Profit | Markella Gioka (Dedaub)
三句話摘要
利用 LLM 嵌入技術對智能合約進行語義相似性搜尋,實現跨鏈漏洞識別與合約克隆偵測。 預訓練 LLM 的遷移學習能力加上函數選擇器逆向標注,讓無原始碼的智能合約也能進行高效語義相似性搜尋,是跨鏈漏洞追蹤的實用利器。 預訓練 LLM 天然具備遷移學習能力:反編譯後的智能合約字節碼在結構上接近高階物件導向語言,使模型能將訓練於一般程式碼的知識遷移至合約分析,無需從零訓練。
重點整理
重點- 1
預訓練 LLM 天然具備遷移學習能力:反編譯後的智能合約字節碼在結構上接近高階物件導向語言,使模型能將訓練於一般程式碼的知識遷移至合約分析,無需從零訓練。
- 2
函數選擇器是無原始碼合約的破口:公共函數的選擇器是函數簽名的雜湊值,存在於字節碼中,可用來逆向推導函數名稱,進而建立帶語義標籤的反編譯資料集,解決 40% 合約無原始碼的問題。
- 3
公共函數是合約相似性比對的最小單元:將公共函數(含其所有私有子函數展開)視為一個語義單位,既保留了足夠的上下文資訊,又避免整份合約過長超出模型輸入限制。
- 4
近似最近鄰搜尋(ANN)是規模化的關鍵:百萬份合約的暴力距離計算成本極高,向量資料庫將嵌入向量視為圖節點、距離視為邊,能以圖搜尋方式快速定位最近鄰,且主流資料庫均已內建向量擴充功能。
實用技巧與重點
乾貨- 以太坊合約總量:數百萬份;每日部署:數萬份
- 有公開原始碼的合約比例:約 60%;無原始碼:約 40%
- 查詢平均回應時間:< 3 秒
- 支援鏈:以太坊、幣安智能鏈、Optimism 及多數 EVM 相容鏈(跨鏈查詢功能即將推出)
- 實戰案例:Bedrock 無限鑄幣漏洞,部署於 8 條鏈,風險金額 5,000 萬~7,500 萬美元,其中至少一條鏈的合約未經驗證
- 核心模型訓練任務:給定反編譯公共函數代碼,預測其函數名稱(類似 BERT 的 Masked LM)
- 嵌入提取方式:CLS token 池化(將整段代碼的語義壓縮為單一向量)
- 使用的嵌入框架:孿生網路(Siamese Network)原理
- 句子嵌入基線方案:Sentence Encoder(直接輸入,適合快速上線)
- 向量資料庫選項:以向量為中心的資料庫(如 Pinecone、Weaviate 等)或主流資料庫的向量擴充
- 產品入口:app.dedaub.com,任意合約公共函數頁面有「Find Similar Functions」按鈕
- 工具名稱:Dedaub 智能合約相似性搜尋(九月上線)
結論
結論“預訓練 LLM 的遷移學習能力加上函數選擇器逆向標注,讓無原始碼的智能合約也能進行高效語義相似性搜尋,是跨鏈漏洞追蹤的實用利器。”
完整解析
詳細區塊鏈的一個獨特性質是,所有部署的代碼、狀態與歷史執行紀錄永久可查,這為安全工具與機器學習應用提供了其他領域難以企及的資料條件。本場演講的核心命題是:如何利用 LLM 嵌入技術,在數百萬份智能合約中快速找到語義相似的函數——無論是為了追蹤特定黑客的合約克隆、識別 MEV 機器人,或是在漏洞爆發後掃描所有受影響的部署。
嵌入的本質是將資料映射為高維數值向量,使相似的實體在向量空間中距離更近。從早期的 One-hot 到 Word2Vec/GloVe,再到 BERT 等 Transformer 模型,核心進展是從靜態詞嵌入走向上下文相關嵌入——同一個詞在不同語境中會得到不同的向量表示。Transformer 的注意力機制讓每個 token 的嵌入都能感知整段輸入的語境,這正是處理代碼語義所需要的能力。訓練整段代碼的嵌入,孿生網路(Siamese Network)是較佳方案:將兩段已知相似的代碼分別輸入同一模型,最小化其嵌入向量之間的距離,使模型學會把語義相近的代碼映射到鄰近的向量空間位置。
然而,智能合約有幾個特殊挑戰:合約數量龐大(以太坊每日數萬份)、40% 無公開原始碼、字節碼過於底層不含高階語義、模型輸入長度有限,以及缺乏帶標籤的訓練資料。Dedaub 的解法是以反編譯字節碼為切入點,因其結構接近高階物件導向語言,可受益於已在一般程式碼上預訓練的模型。更關鍵的突破在於利用函數選擇器(函數簽名的 Keccak256 雜湊前 4 bytes)逆向推導函數名稱,即使合約未經驗證也能建立帶語義標籤的資料集。以此為基礎,他們訓練 LLM 根據反編譯的公共函數代碼預測其函數名稱,再將模型的內部狀態(CLS token)作為嵌入向量——這個任務迫使模型將函數的完整語義壓縮為單一表示,效果相當於一個針對合約代碼的句子編碼器。
在規模化部署上,百萬級合約的暴力向量比對代價極高,向量資料庫以圖結構組織嵌入節點,利用近似最近鄰(ANN)演算法將查詢時間壓縮到平均 3 秒以內。今年九月上線後,工具在一次公司內部漏洞競賽中得到實戰驗證:團隊發現 Bedrock 協議存在無限鑄幣漏洞,涉及 5,000 萬至 7,500 萬美元資金,相同邏輯散布於 8 條鏈,其中部分合約甚至未公開原始碼。透過相似函數搜尋,團隊得以即時確認所有受影響的部署,並排除其他潛在的相似漏洞分支。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


