慢霧:Transit Swap因任意外部調用被黑,2500 BNB已轉移到Tornado Cash

BlockBeats 消息,10 月 2 日,據慢霧安全團隊情報,跨鏈 DEX 聚合器 Transit Swap 項目遭到攻擊導致用戶資產被非預期的轉出。慢霧安全團隊分析評估此次被盜資金規模超過 2300 萬美元,駭客地址為 0x75F2...FD46 和 0xfa71...90fb。接着對此次攻擊過程進行了分析: 1. 當用戶在 Transit Swap 進行 swap 時,會先通過路由代理合約 (0x8785bb...) 根據不同的兌換類型選擇不同的路由橋合約。隨後路由橋合約 (0x0B4727...) 會通過權限管理合約 (0xeD1afC...) 的 claimTokens 函數將用戶待兌換的 Token 轉入路由橋合約中。因此在 Token 兌換前用戶需要先對權限管理合約 (0xeD1afC...) 進行授權。 2. 而 claimTokens 函數是通過調用指定 Token 合約的 transferFrom 函數進行轉賬的。其接收的參數都由上層路由橋合約 (0x0B4727...) 傳入,本身沒有對這些參數進行任何限制只檢查了調用者必須為路由代理合約或路由橋合約。 3. 路由橋合約 (0x0B4727...) 在接收到用戶待兌換的 Token 後會調用兌換合約進行具體的兌換操作,但兌換合約的地址與具體的函數調用數據都由上層路由代理合約 (0x8785bb...) 傳入,路由橋合約並未對解析後的兌換合約地址與調用數據進行檢查。 4. 而代理合約 (0x8785bb...) 對路由橋合約 (0x0B4727...) 傳入的參數也都來自於用戶傳入的參數。且代理合約 (0x8785bb...) 僅是確保了用戶傳入的 calldata 內各數據長度是否符合預期與所調用的路由橋合約是在白名單映射中的地址,未對 calldata 數據進行具體檢查。 5. 因此攻擊者利用路由代理合約、路由橋合約與權限管理合約均未對傳入的數據進行檢查的缺陷。通過路由代理合約傳入構造後的數據調用路由橋合約的 callBytes 函數。callBytes 函數解析出攻擊者指定的兌換合約與兌換數據,此時兌換合約被指定為權限管理合約地址,兌換數據被指定為調用 claimTokens 函數將指定用戶的 Token 轉入攻擊者指定的地址中。實現了竊取所有對權限管理合約進行授權的用戶的 Token。 此次攻擊的主要原因在於 Transit Swap 協議在進行 Token 兌換時並未對用戶傳入的數據進行嚴格檢查,導致了任意外部調用的問題。攻擊者利用此任意外部調用問題竊取了用戶對 Transit Swap 授權的 Token。 截止到目前,駭客已將 2,500 BNB 轉移到 Tornado Cash,剩餘資金分散保留在駭客地址中。經過駭客痕跡分析發現,駭客存在從 LATOKEN 等平台存提款的痕跡。慢霧 MistTrack 將持續跟進被盜資金的轉移以及駭客痕跡的分析。

原文連結


鉅亨AI投組

根據標的評分機制自動配置,使用AI優化效率前緣,創造高報酬率的投組。

try AI optimize

投資本金$10,000收益

AI優化後報酬率

+17.40%

$11,740

原投組報酬率

+11.48%

$11,148

投組標的成分

  • 40%

    中興電

    1513

  • 20%

    八貫

    1342

  • 20%

    宜特

    3289

  • 10%

    乙盛-KY

    5243

  • 10%

    新加坡大華黃金及綜合基金-USD

相關貼文

prev icon
next icon