保護你的加密貨幣,Rug Pull詐騙識別,F1-Score高達94.5%
?“Your Token BecomesWorthless: Unveiling Rug Pull Schemes in Crypto Token via Code-and-Transaction Fusion Analysis”
區塊鏈技術推動了金融領域的變革,促進了去中心化金融(DeFi)應用的發展,但也帶來了安全挑戰,尤其是“Rug Pull”詐騙,2024年損失達8540萬美元。Rug Pull是一種詐騙手法,詐騙者通過吸引投資者購買代幣,隨后撤走資金,導致投資者手中代幣變得毫無價值。
本研究收集了645個真實Rug Pull案例,構建了最大的手動分析數據集。提出了RPHunter方法,利用圖神經網絡(GNN)建模代碼風險信息和可疑交易行為,通過語義風險代碼圖(SRCG)和代幣流行為圖(TFBG)進行特征學習。RPHunter在評估中表現優異,檢測精度達到95.3%,召回率93.8%,F1分數94.5%,并在以太坊主網識別出4801個Rug Pull代幣,實際評估精度為91%。
摘要
Rug Pull詐騙是加密貨幣中的持續威脅,導致重大財務損失,通常通過蜜罐合約吸引投資,限制代幣銷售并抽走資金。現有檢測方法主要依賴預定義模式或統計交易數據,無法有效識別復雜的惡意代碼和可疑交易行為的結合。本文提出RPHunter,結合代碼和交易信息進行Rug Pull檢測。
- RPHunter通過聲明性規則和流分析提取代碼風險信息,構建語義風險代碼圖(SRCG)。
- 同時,RPHunter將動態代幣交易活動形式化為代幣流行為圖(TFBG),從網絡結構和市場操控角度表征節點和邊。
- 最后,利用圖神經網絡提取SRCG和TFBG的互補特征,通過注意力融合模型增強Rug Pull檢測。
手動分析645個Rug Pull事件,構建了真實數據集,RPHunter在該數據集上實現了95.3%的精確率、93.8%的召回率和94.5%的F1分數,優于現有方法。在實際應用中,RPHunter識別了4801個Rug Pull代幣,精確率為91%。
簡介
區塊鏈技術推動了金融領域的變革,促進了去中心化金融(DeFi)應用的發展,但也帶來了安全挑戰,尤其是“Rug Pull”詐騙,2024年損失達8540萬美元。Rug Pull是一種詐騙手法,詐騙者通過吸引投資者購買代幣,隨后撤走資金,導致投資者手中代幣變得毫無價值。現有的檢測方法分為基于規則的方法和基于學習的方法,前者依賴靜態分析,后者使用機器學習,但都存在高假陰性或假陽性的問題。研究發現,Rug Pull方案不斷演變,現有方法未能有效整合代碼和交易信息。
本研究收集了645個真實Rug Pull案例,構建了最大的手動分析數據集,揭示了Rug Pull的過程和風險特征。提出了RPHunter方法,利用圖神經網絡(GNN)建模代碼風險信息和可疑交易行為,通過語義風險代碼圖(SRCG)和代幣流行為圖(TFBG)進行特征學習。RPHunter在評估中表現優異,檢測精度達到95.3%,召回率93.8%,F1分數94.5%,并在以太坊主網識別出4801個Rug Pull代幣,實際評估精度為91%。
背景
智能合約與交易
智能合約是自執行的程序,包含預定義規則和邏輯。通常使用圖靈完備的編程語言(如Solidity、Viper)編寫。部署時需編譯為字節碼并通過交易提交到區塊鏈。一旦部署,智能合約不可更改,通過公共函數與外部賬戶或其他合約交互。交易是區塊鏈網絡中進行操作(如合約創建和調用)的媒介。
代幣和代幣標準
代幣是通過智能合約實現的加密貨幣,管理持有者信息并支持相關活動。代幣標準確保代幣創建、分發和交互的統一協議,保證跨平臺兼容性。代幣智能合約需實現標準接口并發出標準事件,否則無法在區塊鏈上交易。代幣主要分為可替代代幣(ERC-20)和不可替代代幣(ERC-721)。ERC-20標準定義了6個接口和2個事件,用于代幣轉移、余額查詢和授權使用。
Rug Pull
Rug Pull是DeFi生態系統中的常見騙局,通常發生在去中心化交易所(DEX)中。DEX通過流動性池進行交易,流動性池將代幣與信譽資產(如WETH)配對,用戶可直接從池中交易。流動性池根據供需原理動態調整代幣價格。騙局開始時,詐騙者部署一個騙局代幣并創建流動性池,吸引用戶購買,導致代幣價格上漲。一旦價格顯著上升,詐騙者迅速將大量騙局代幣兌換為有價值的代幣,抽走流動性,投資者則剩下無價值的代幣。
真實世界的Rug Pull研究
數據收集與分析
收集了1048個Rug Pull事件,涵蓋多個區塊鏈網絡(ETH、BSC、FTM等),最終分析得到645個有效事件。排除131個無源代碼和272個無交易歷史的代幣,確保數據的準確性。進行手動分析,三位專家獨立審查代幣合約和交易記錄,識別潛在風險。通過共識投票確定每個Rug Pull的根本原因,并總結出Rug Pull的通用流程和風險特征。
Rug Pull程序
Rug Pull程序分為三個階段:
- 階段1:策略注入
嵌入欺詐性代碼(如稅免地址)以操控代幣。
- 啟動代幣并建立流動性池以吸引投資者。
- 階段2:拉高和拋售
通過高價值交易制造需求假象,抬高代幣價格。
- 一旦資金積累,進行流動性提取。
- 階段3:崩潰與逃逸
流動性被抽走后,代幣價格迅速崩潰至零。
- 通過多地址洗錢以掩蓋資金來源。
檢測Rug Pull的關鍵:
- 整合代碼風險信息與可疑交易行為,以實現全面檢測。
- 僅依賴單一方面可能導致誤報或漏報。
Rug Pull風險特征
Rug Pull代碼風險:
- Sale Restrict:限制投資者出售代幣的能力,包括:
Amount Restrict:限制銷售金額和最低持有要求。
Timestamp Restrict:限制特定時間內的銷售。
Address Restrict:使用白名單或黑名單限制地址。
- Variable Manipulation:詐騙者控制關鍵變量以進行惡意操作,包括:
Modifiable Tax Rate:可隨意提高稅率。
Modifiable Tax Address:可修改稅收地址,轉移資金。
Modifiable External Call:可替換外部合約中的惡意代碼。
- Balance Tamper:通過預編碼功能任意修改賬戶余額,包括:
Hidden Mint/Burn:無記錄地創建或銷毀代幣。
Hidden Balance Modification:未經授權修改用戶余額。
Rug Pull交易行為:
- Abnormal Network Structure:Rug Pull的交易圖顯示異常網絡結構,中心節點連接性高,表明流動性和代幣流動的主導角色。
- Market Manipulation:詐騙者通過集中購買代幣制造虛假流動性,分散交易以掩蓋操控行為,誘使投資者以高價購買。
方法
概覽
RPHunter的設計包括三個主要模塊:語義風險代碼圖(SRCG)構建、代幣流行為圖(TFBG)構建和拉高出貨檢測。
首先,RPHunter構建代幣合約的語義代碼圖,并提取代碼風險信息。同時,RPHunter分析代幣流交易,提取異常交易行為特征,構建代幣流行為圖。最后,利用圖神經網絡和注意力融合模型綜合檢測拉高出貨風險。
語義風險代碼圖構建
代碼預處理:RPHunter通過Web3 API獲取合約字節碼,使用Gigahorse反編譯為中間表示(IR),構建控制流圖(CFG)并分析數據依賴關系,最終生成有向語義代碼圖(SCG)。
代碼風險信息提取:RPHunter在SCG上進行流分析,識別潛在的Rug Pull操作和關系。定義基本關系(如數據流依賴DF和比較操作VC)和高級關系(如稅率變量TV),并關注特權函數和代幣轉移函數中的風險。
聲明性規則:建立“基本組件 + 插件”規則,針對三類代碼風險和八個子類別,開發特定插件以檢測獨特模式,實現更細致的風險分析。
銷售限制(Sale Restrict):在代幣轉移功能中,存在機制限制代幣銷售,主要通過特權地址控制。
基本組件C1-BC:利用PTF識別代幣轉移功能,提取受控的存儲變量和映射,標記為污染數據(PUMV ∨ PUMD)。
流傳播分析:對存儲變量和映射進行流傳播分析,以識別其他污染數據。
地址限制(ADDR):插件C1-P3將代幣轉移函數的地址變量視為敏感變量(PFAV),分析其與污染數據的比較,指示潛在約束(VC)。
比較操作:由于未使用直接比較運算符,比較操作分析依賴于IZ(s, v)檢查特定條件是否與零比較。
流分析框架:結合基本組件和插件,提出流分析框架以有效識別代碼風險的語義。transferFrom函數檢查發件人地址是否在黑名單中,若在則終止交易。黑名單由合約所有者控制,存在可控黑名單的風險。基本組件BC識別到黑名單的使用并標記為污染數據。插件P3將transferFrom函數的from參數視為敏感變量。SHA3計算內存內容的哈希值,確定黑名單狀態。存儲的布爾值用于條件檢查,形成require語句。存在源與匯之間的可達路徑,關鍵操作和數據流被標記為關鍵塊和關鍵流。
語義風險代碼圖生成器。RPHunter構建語義風險代碼圖(SRCG = (B, E)),B和E分別為節點和邊的集合。遍歷SCG中的每個節點并添加到SRCG,判斷節點類型:若在CB中則為“critical”,含內部調用則為“invocation”,否則為“normal”。建立節點與其后繼節點之間的邊,判斷邊類型:若在CF中則為“critical”,有依賴關系則為“dependent”,否則為“normal”。
代幣流行為圖的構建
事務預處理。研究表明,代幣流動性是識別可疑交易行為的重要指標,重點關注代幣流動的交易。利用區塊鏈瀏覽器收集代幣合約地址的前500筆交易,以捕捉可疑行為,防止Rug Pull。從交易收據中提取轉賬金額和時間戳等關鍵屬性。由于不同代幣的小數位數差異,轉賬金額需經過兩步處理:首先進行小數標準化,然后應用對數變換以減輕極端值的影響。
代幣流行為圖生成器。構建代幣流動行為圖(TFBG),節點為交易雙方,邊表示交易,包含節點和邊的特征向量。TFBG用于捕捉動態交易活動,識別可疑行為,特征提取分為網絡結構和操控行為兩方面。
- 節點特征包括:中心性度量(如度中心性、介數中心性等)和操控行為特征(如TokenCreator、資金進出比、短期最大交易量等)。
- 邊特征主要從操控行為角度提取,分為時間序列、交易和投資特征,包括創建間隔、最新間隔、是否批準等。
- 交易行為特征包括:Gas Limit(高值可能表明緊急交易)、轉賬值(異常高值可能操控市場)、諧波轉賬值(結合節點中心性識別潛在操控)。
定義八個特征以捕捉可疑投資行為,分析交易。累計進出交易量和數量反映節點作為接收者或發送者的總交易情況,異常可能指向詐騙行為。短期最大進出交易量和數量揭示短時間內的突發資金流動,可能暗示市場操縱。針對每個加密貨幣,RPHunter構建14維特征向量的交易網絡圖(TFBG)。
Rug Pull檢測
代碼圖嵌入學習:使用BERT模型對SRCG中的節點進行編碼,提取操作碼序列進行基本塊嵌入。采用異構圖神經網絡(RGCN)處理SRCG中的三種邊類型(關鍵、依賴、普通),通過加權求和聚合節點特征。
交易圖嵌入學習:使用TFBG作為輸入圖,設計統一聚合GNN(UAGNN)從節點和邊特征中學習嵌入。聚合過程基于GCN,考慮時間相關的邊特征,通過掩碼機制聚合相關邊的特征,最終通過均值池化獲得TFBG的嵌入。
利用兩種圖嵌入構建融合模型進行Rug Pull檢測,充分利用代碼和交易圖中的惡意信息。融合模型通過特征對齊,將SRCG和TFBG的圖特征映射為8維向量,確保一致性。通過注意力模塊進行特征變換和權重計算,輸出的注意力權重經過softmax歸一化。最終權重用于生成融合特征向量,輸入分類器(包含dropout和全連接層)以預測代幣標簽。
實驗
我們的目標是解決以下研究問題:
- RQ1:RPHunter在檢測Rug Pull方面的有效性與現有方法的比較。
- RQ2:RPHunter的時間開銷。
- RQ3:RPHunter各組件在檢測Rug Pull中的貢獻。
- RQ4:RPHunter能否揭示真實加密代幣中的Rug Pull方案。
實驗設置
構建了一個包含645個Rug Pull代幣和1675個良性代幣的真實數據集,基于開源代碼和交易歷史。收集了1048個Rug Pull代幣,排除無源代碼和無交易歷史的代幣后,得到645個Rug Pull代幣。使用區塊鏈瀏覽器API收集代幣流轉交易。
RPHunter原型使用Python和Datalog實現,包含2000多行Python代碼,圖神經網絡基于Pytorch設計。數據集劃分為60%-20%-20%的訓練、驗證和測試集,采用五折交叉驗證。評估指標包括精準率、召回率、F1分數、假陽性率和假陰性率。實驗在配備Intel Xeon Platinum 8163 CPU、3個RTX3090 GPU和1TB RAM的機器上進行。
RQ1: RPHunter的有效性
評估RPHunter的有效性,比較其與五種先進的Rug Pull檢測方法的表現。
- 選擇標準:開源可用性和適合自動化大規模實驗。
- 五種方法包括:Ma et al.的Pied-Piper(基于datalog分析和模糊測試)、Lin et al.的CRPWaner(基于靜態分析)、Mazorra et al.和Xia et al.(基于統計交易特征的學習模型)、GoPlus(商業工具,提供API)。
RPHunter在交易量為100時,F1分數達到91.8%,與交易量500的差異僅為2.7%,顯示出其在低交易場景下的穩定性和有效性。RPHunter在真實數據集上表現優異,精度95.3%,召回率93.8%,FPR 1.8%,FNR 6.2%,F1分數94.5%;而Pied-Piper的FPR最低,但FNR極高。
數據集中229個事件通過解鎖流動性發起Rug Pull,靜態分析工具表現不佳;RPHunter結合代碼語義信息和早期交易,有效檢測無明顯代碼風險的Rug Pull。
學習型方法因依賴大量交易量和缺乏代碼分析而表現不佳。在Rug Pull數據集中,84%的Rug Pull代幣交易超過100次,只有3.4%少于10次,顯示出高交易量的欺詐特征。
實驗比較了有無代碼信息的RPHunter性能,測試交易量為100至500。在不結合代碼信息的情況下,隨著交易量增加,檢測效果逐漸提升,?? ?? 500的F1分數比?? ?? 100提高11.2%。
RQ2:RPHunter的時間開銷
RPHunter檢測Rug Pull風險的平均時間為20.95秒,主要來自復雜的流分析,適合早期檢測以防止財務損失。
規則基礎方法耗時較長,分別為28.36秒和103.46秒;學習型方法處理速度較快,但缺乏代碼分析。商業工具GoPlus在標準場景下檢測時間最短,但分析新部署代幣時可能超過5分鐘。RPHunter在時間開銷和代碼語義分析上表現平衡。
RQ3:消融分析
RPHunter的設計包括三個主要組件:提取SRCG中的代碼風險信息、整合TFBG的節點和邊特征、使用貪婪策略選擇最佳模型。結合代碼信息后,SRCG和TFBG的融合分析提升了Rug Pull檢測效果。
進行的消融實驗表明,去除SRCG中的代碼風險信息(?? ?? ?? ???? ?? ?? ??)導致精確率、召回率和F1分數分別下降6.1%、7.4%和6.7%,強調了代碼風險信息在檢測性能中的重要性。
實驗去除節點特征(?? ?? ?? ???? ?? ??)導致精度下降5.3%,召回率下降17.6%,F1分數下降9.6%。去除邊緣特征(?? ?? ?? ???? ?? ??)導致召回率下降22.0%,F1分數下降11.2%。節點和邊緣特征的缺失顯著降低召回率,增加假陰性率,表明它們在捕捉交易行為中至關重要。未進行同時去除節點和邊緣特征的實驗,因為這會剝奪TFBG的有效信息。
RPHunter結合SRCG和TFBG的分析,提升了檢測效果。與單獨使用SRCG相比,RPHunter在精確度、召回率和F1分數上分別提高了2.6%、4.7%和3.7%。TFBG幫助RPHunter利用交易行為信息,增強檢測能力。與單獨使用TFBG相比,RPHunter在精確度、召回率和F1分數上分別提高了23.6%、13.1%和18.5%。結果表明SRCG和TFBG的融合分析有效提升了Rug Pull檢測性能。
RQ4:現實世界中的Rug Pull
RPHunter在以太坊主網的實驗中,分析了2024年5月至7月間部署的合約,識別出4801個Rug Pull代幣。通過對247個開源代幣的深入分析,發現23個假陽性,真實陽性率為91%。假陽性的主要原因是某些詐騙者使用簡單合約和社交媒體吸引投資,快速撤回流動性。108個Rug Pull代幣存在時間不超過24小時,顯示出詐騙的迅速性和檢測框架的必要性。MNHA代幣案例中,詐騙者在8分鐘內通過限制交易和提取流動性完成Rug Pull,RPHunter成功在流動性提取前識別出該行為。
對有效性的威脅
研究方法存在有效性威脅,主要因樣本偏差,需更多Rug Pull事件以評估RPHunter。RPHunter在代碼風險信息提取上受限于Gigahorse的流分析精度,建議整合更先進的工具以降低此威脅。
總結
本文提出了RPHunter,一個新型的Rug Pull檢測框架,結合代碼和交易信息,通過SRCG和TFBG進行特征學習。在645個Rug Pull代幣和1675個良性代幣的手動標注數據集上評估,RPHunter有效檢測Rug Pull代幣,超越五種先進方法,時間開銷可接受。在以太坊主網上應用RPHunter,識別出4801個Rug Pull代幣,精度達到91%,證明其在實際場景中的有效性。
本文轉載自???靈度智能???,作者:靈度智能
