Radix Foundation於9月17日披露,Radix網路一項源自2023年程式碼重構的漏洞在今年8月遭攻擊者利用,約126萬美元資產從多個金庫中被轉走。由於漏洞位於負責執行交易及驗證資產所有權的Radix Engine,驗證者一度主動停止網路共識,區塊鏈交易最終暫停逾10天。
這起事件的影響不只限於被竊金額。調查顯示,該漏洞理論上可被用來攻擊網路上的任何金庫,涉及用戶帳戶、應用程式及流動性池中的代幣。對交易平台和流動性提供者而言,關鍵問題在於原本應由底層執行層維持的權限邊界未能正常生效。
26筆交易轉走多種加密資產
根據社群對帳本的重建,攻擊者在8月31日16時02分至16時57分(UTC)之間完成26筆利用交易,轉走約458,915枚USDC、72,420枚USDT、61.08枚ETH、6.35枚Wrapped Bitcoin、536.16枚SOL及32.91枚BNB。按8月31日市價計算,這些資產總值約126萬美元,其中兩種穩定幣合計約53.13萬美元。
攻擊者還從一個金庫提取13,000枚XRD,用於支付交易費用。被竊資產其後透過Hyperlane轉移至Ethereum、BNB Chain及Solana,並兌換為ETH。Radix Foundation表示,Hyperlane跨鏈橋本身按設計運作;攻擊者是在Radix Engine取得資產後,才使用該跨鏈工具轉出資金,目前沒有跡象顯示私鑰遭到外洩。
實際損失可能高於已轉移資產的金額。調查人員認為,漏洞不只影響被攻擊者直接提取的跨鏈資產,網路內其他金庫的代幣和資產也可能面臨同類風險。
漏洞可追溯至2023年程式碼重構
Radix Foundation表示,缺陷由RDX Works開發團隊在2023年6月清理Radix Engine程式碼時引入。漏洞在網路中存在逾三年,直到2026年8月31日才遭利用。
問題涉及引擎處理金庫引用的方式。交易可以透過內部地址指向另一名用戶的金庫,並將這項引用傳遞給特定智能合約。其後,Radix Engine允許呼叫一般提款函式,卻沒有正確執行所有權檢查,未能拒絕未經授權的請求。
在正常設計下,只有金庫所有者或獲授權的交易可以提取其中資產。但這項缺陷使攻擊者無需取得資產所有者簽名,就可能接觸用戶帳戶、應用程式及流動性池中的資金。
這項程式碼問題此前也曾通過一次獨立安全審查。Zellic於2024年對Radix協議進行審計,範圍包括包含缺陷的引擎核心,但審查未發現這項授權漏洞。由於漏洞源自前一年的程式碼重構,事件也顯示,例行維護可能改變既有安全假設,而一般審計未必能識別這類變化。
驗證者停用共識以阻止交易延續
當調查人員確認問題位於交易執行層,而非單一應用程式時,Radix驗證者展開協調行動,主動下線足夠數量的質押,以阻止網路繼續達成共識及處理更多交易。
網路停擺持續逾10天。協議修復加入新的檢查機制,禁止受限制的金庫引用被用於一般提款。根據社群帳本重建,用戶交易於9月11日恢復。
事件也造成流動性池的後續損失。攻擊者從部分交易對的一側移走跨鏈資產後,相關池子的價格比例遭到扭曲;另一個帳戶利用價格異常,從受影響的流動性池提取數百萬枚XRD。這表示,即使初始被竊資產已離開網路,執行層漏洞仍可能透過價格失真和流動性變化,持續造成經濟損失。
Radix將擴大回歸測試及應急機制
Radix Foundation表示,後續措施包括增加回歸測試、強化安全審查流程,並將驗證者為恢復網路安全而採取的緊急操作正式制度化。修復工作的重點不只在於堵住已遭利用的程式碼路徑,也包括重新檢視所有涉及授權邏輯的程式碼變更。
Foundation還表示,未來的安全工作需要考慮能力持續提升的AI輔助程式碼分析工具,並認為這類工具可能協助攻擊者定位這項存在多年的缺陷。不過,現有披露並未確認攻擊者使用了哪一種具體工具。
對開發者和驗證者而言,接下來的重點是避免一般維護工作在缺乏充分測試和複核的情況下改變權限模型。對用戶和流動性提供者而言,網路能否持續正確執行金庫所有權檢查,以及新的應急流程能否在類似事件中及時啟動,將直接影響他們對Radix資產安全及網路穩定性的判斷。