橫跨 Solana 轉送器在 7 月 17 日的偽造存款攻擊中損失了 450萬美元

SOL-3.00%
ACX-2.72%
Key Takeaways
  • Risk Labs 的 Solana 中繼節點於 2026 年 7 月 17 日損失 450 萬美元,原因是攻擊者偽造了 1,627 次存款事件。
  • 攻擊者利用缺少八位元 Anchor 事件鑑別碼檢查,製作出 4,170 萬美元的詐欺性提現請求。
  • Risk Labs 停用 Solana 路由,並於五小時內部署修正,於十二小時內恢復滿載服務。

Risk Labs 的 Solana 中繼器(relayer)在 2026 年 7 月 17 日遭遇約 450 萬美元的損失:攻擊者利用 offchain(非鏈上)事件解析程式碼中缺少 8-byte 檢查,偽造了 1,627 個從未在鏈上發生的存款事件。該弱點使總面值約 4,170 萬美元的詐欺性提現請求得以成立,其中 581 筆在團隊停用 Solana 路由並於偵測後 5 小時內部署修復之前已被填入。由於 Across 的運作方式是意圖協定(intents protocol),中繼器會先墊付自己的資本而不是動用共享的使用者託管資金,因此沒有使用者資金遭到損失或風險,整體財務影響被限定在 Risk Labs 的營運準備金內。

缺少區分碼檢查使偽造的存款事件得以啟用

該弱點存在於 Risk Labs 中繼器的 SvmCpiEventsClient 元件中;它接受任何透過其 event_authority PDA 對 SpokePool 合約發出的內部指令,並將其視為真實事件,而未驗證 8-byte Anchor 事件區分碼。攻擊者部署了一個封裝(wrapper)程式,用它呼叫一個無害的唯讀 SpokePool 輔助函式—get_unsafe_deposit_id—並將偽造的 FundsDeposited payload 附加在其後。從中繼器的角度,這些看起來像合法的存款事件;儘管鏈上沒有資金移動、沒有餘額變動,也沒有合約被觸及。Risk Labs 澄清 get_unsafe_deposit_id 並非本身的弱點,而只是攻擊者用來攜帶載荷的載體;根本原因是中繼器程式碼庫中缺少區分碼檢查。

攻擊者在 18 條鏈上提交 1,627 筆偽造存款

在 7 月 17 日 05:07 至 06:14(UTC)之間,攻擊者從 1,627 個僅用一次(single-use)錢包提交了 1,627 筆偽造存款,並將它們分散到 18 條目標鏈上,面值約 4,170 萬美元,最終匯總給一個單一的 EVM 接收者位址。Risk Labs 的中繼器填入了其中 581 個詐欺性請求,在團隊將 Solana 停用為來源鏈(origin chain)之前,先動用其自身資本支付了約 450 萬美元。剩餘約 3,700 萬美元的偽造存款在中繼器停止填入後變得毫無價值而過期。沒有任何智慧合約遭到入侵;整起事件期間,Solana 程式與所有 EVM 合約的行為完全符合設計。

意圖協定設計避免使用者資金損失

在事件期間的任何時刻都沒有使用者資金遭到損失。Across 的運作方式是意圖協定:使用者將資產存入來源鏈上的託管合約(escrow),獨立的中繼器則會先墊付自己的資本,以在目的鏈上完成轉帳。協定只會在一個獨立的結算(settlement)流程驗證每個中繼器已填入的存款後,才會向中繼器償付;因此,偽造的存款從未觸及使用者託管。每一筆真實的使用者存款要嘛在當天完成,要嘛獲得完整退款。Risk Labs 直接吸收了約 450 萬美元的總出款;由於其中約 50 萬美元仍被困在協定內,淨損失低於 400 萬美元,且隨著復原作業推進仍持續縮小。

Risk Labs 在偵測後 5 小時內部署修復

第一筆偽造存款在 7 月 17 日 05:07(UTC)提交;偽造存款的串流在 06:14(UTC)結束,並在 06:16(UTC)將首批攻擊者位址列入黑名單。API 於 08:23(UTC)在來源鏈與目的鏈層面禁用 Solana;08:35(UTC)於鏈上暫停 Solana SpokePool;08:36(UTC)發布第一則公開聲明。根本原因的修復已於 09:37(UTC)合併並於 10:26(UTC)部署到所有 Risk Labs 基礎設施—距離偵測約 5 小時。透過 CCTP 路由在 17:05(UTC)重新啟用 Solana 存款,約在 12 小時內恢復完整 Solana 服務。其餘所有協定作業在整起事件中均未受影響。

Solana 事件解析邏輯進行再稽核

Risk Labs 表示,Solana 的訂單流程目前僅透過後援(fallback)CCTP 路由進行,並涵蓋所有主要鏈。對 Solana 的意圖路由(to and from Solana)仍保持停用,直到團隊重新稽核 Solana 的 offchain 事件解析邏輯,以確認該弱點類型已被完全關閉,並針對事件處理的安全模型在整個堆疊中已標準化。Risk Labs 正與 SEAL 911 合作;該單位在事件通報後提供近乎即時的支援,並與美國執法單位合作;攻擊者位址已在交易所與 off-ramp 被標記。ACX 代幣收購(buyout)流程完全不受影響,並將依計畫繼續進行。

FAQ

在 Across 的 Solana 中繼器攻擊中,是否有任何使用者資金遭到遺失?

在任何時刻都沒有使用者資金遭到損失或面臨風險。所有真實的轉帳都已在 2026 年 7 月 17 日完成或獲得完整退款。

Risk Labs 中繼器的資安弱點的技術原因是什麼?

該弱點是由於 offchain 中繼器程式碼未驗證 8-byte Anchor 事件區分碼而造成。這使攻擊者得以偽造存款事件,並被中繼器當作真實事件處理,即使鏈上沒有任何資金移動。

Risk Labs 如何回應其 Solana 中繼器上的偽造攻擊?

Risk Labs 將 Solana 停用為來源鏈,並在鏈上暫停 Solana SpokePool;在偵測後約 5 小時內部署根本原因修復,並透過後援 CCTP 路由於約 12 小時內完全恢復 Solana 服務。

免責聲明:本頁面資訊可能來自第三方來源,僅供參考,不代表 Gate 的立場或觀點,亦不構成任何財務、投資或法律建議。虛擬資產交易具有高風險,請勿僅依賴本頁資訊作出決策。詳情請參閱 免責聲明
回覆
0/400
暫無回覆