📚Aevo因Oracle設定錯誤導致資金外洩事件 ✅概要 Aevo整合的舊Ribbon Finance金庫(Vault)因Oracle設定更新錯誤,導致價值約270萬美元的資金外洩。 這並非因加密技術被破解,而是權限管理和價格計算設定的疏忽被連續利用的案例。 過去設計與新更新之間的差距,如何導致致命後果,已整理清楚。 ✅Ribbon與Aevo整合的背景 Ribbon Finance作為DeFi期權的早期協議,後被整合至Aevo。 此整合並非服務終止,而是決定將原有Vault作為Aevo的核心功能繼續使用。 因此,舊Vault至今仍在以太坊上運作,資金也尚未移除。 ✅導致問題的Oracle更新 2025年12月,Aevo更新了舊Ribbon Vault的Oracle設定。 Oracle是將價格資訊傳遞至智能合約的重要機制。 然而,這次更新導致管理權限的檢查被解除,任何人都可以更改價格和實現目標。 簡而言之,就如同將保險箱的鑰匙遺失了。 ✅權限錯誤與價格計算的偏差 更新後的Oracle假設使用18位小數,但Vault內仍存在使用8位小數的舊資產。 這種差異導致價格計算出現偏差,攻擊者得以設定遠高於實際的價格。 此外,Oracle的所有權轉移僅根據tx.origin(交易的最初發送者)來判斷,因此通過特定錢包,攻擊者可以偽裝成正規管理員。 ✅攻擊流程 攻擊者首先創建符合不當條件的期權產品,然後臨時替換Oracle的實現並篡改價格。 在這種狀態下行使oToken(代表期權的代幣)時,Vault誤認為是正確操作,並支付大量WETH和USDC。 重複此操作後,Vault在短時間內被掏空。 ✅資金的轉移與隱藏 外洩資金被分散至多個錢包,並以固定金額分批轉移。 這是一種典型的難以追蹤手法,最終被認為是準備使用混幣器(mixer)的跡象。 此外,也有人指出這並非單獨作案,而是存在分工合作的組織。 ✅Aevo的應對與混亂 事件曝光後,Aevo立即停止了舊Ribbon Vault的運作。 最初提出部分補償的應對方案,但後因前提錯誤而撤回。 結果導致部分已提領資金的用戶與仍存放資金於Vault的用戶出現明顯差異。 ✅此案例所揭示的問題 此事件表明,並非智能合約過時才危險,而是誤認為正在運作的程式碼「實際上未被使用」才是危險的。 即使被標記為Deprecated(不建議使用),只要資金仍存在,擁有權限的程式碼仍可能成為攻擊目標。 更新時若忽略過去的設計理念,長期的安全措施可能在瞬間失效,這一事實被清楚揭示。


