
2026年7月17日,鏈下代碼文件中缺失的8字節校驗讓攻擊者有機可乘,從Risk Labs運營的中繼器中竊取了約450萬美元——然而,Across協議的所有用戶卻毫髮無損。Across Solana中繼器攻擊暴露了區塊鏈所見與鏈下軟件所信任內容之間雖小卻至關重要的差距。
要點總結
- 2026 年 7 月 17 日,攻擊者利用 Risk Labs 的鏈下 Solana 中繼器中的一個漏洞,僞造了鏈上從未存在的存款事件。
- 用戶資金沒有損失或面臨風險;所有真實有效的轉賬都在當天完成或退款。
- Risk Labs 吸收了約 450 萬美元的轉手資本,淨虧損不到 400 萬美元,並且隨着復甦的繼續,虧損還在減少。
- 攻擊者向 18 個目的地鏈提交了 1627 筆僞造存款,總面值約爲 4170 萬美元;在 Solana 被禁用之前,中繼器完成了其中 581 筆存款。
- Solana 服務在大約 12 小時內通過備用 CCTP 路由恢復;執法部門和 SEAL 911 正在積極參與恢復工作。
索拉納中繼器攻擊事件詳情
此次事件發生在Solana的鏈上程序和Risk Labs用於讀取這些程序的鏈下軟件之間的一條狹窄的技術縫隙內。攻擊期間沒有資金在鏈上轉移,也沒有狀態改變。區塊鏈本身運行正常,但監控它的軟件卻出現了問題。
漏洞的技術原因
Solana 的 SpokePool 合約使用 Anchor 的 CPI 事件模式發出事件:程序通過指定的event_authority PDA調用自身並傳遞事件數據。Risk Labs 中繼器內部的 SvmCpiEventsClient 組件將通過該 PDA 發往 SpokePool 的任何內部指令都視爲真實事件。該缺陷很具體:它沒有驗證用於區分真實事件 CPI 和僞裝成事件 CPI 的任意指令的 8 字節 Anchor 事件鑑別器。
這一疏忽爲攻擊者提供了精準的工具。他們部署了一個包裝程序,該程序通過 CPI 嵌入到 SpokePool 的一個看似無害的只讀輔助函數 `get_unsafe_deposit_id` 中,並將僞造的`FundsDeposited` 有效載荷附加到該函數上。從中繼者的角度來看,這些事件看起來像是合法的存款事件。鏈上沒有任何變化。沒有資金轉移,沒有餘額變化,也沒有合約被觸及。欺騙完全發生在鏈下讀取層。
Risk Labs 後來澄清說,get_unsafe_deposit_id 本身並非漏洞所在。它只是一個無害的只讀輔助函數,攻擊者只是將其用作攻擊載體。根本原因是中繼器自身代碼庫中缺少鑑別器檢查。
攻擊規模和僞造的沉積物
7月17日05:07至06:14 UTC期間,攻擊者從1627個一次性錢包提交了1627筆僞造存款,這些存款分散在18條目標鏈上。這些僞造頭寸的總面值約爲4170萬美元,全部匯入同一個EVM接收地址。
Risk Labs 的中繼器處理了其中 581 筆欺詐性請求,在團隊成功禁用 Solana 作爲源鏈之前,已支付了約450 萬美元的自有資金。中繼器停止處理這些請求後,剩餘的約 3700 萬美元僞造存款也隨之作廢。
用戶保護和財務影響
事件期間,用戶資金沒有遭受任何損失。這並非偶然,而是 Across 系統架構本身結構性缺陷的結果。
用戶資金無損失或風險
Across 以意圖協議的形式運行。用戶將資產存入源鏈上的託管合約;獨立的中間商預先投入資金,在目標鏈上完成轉賬。協議僅在經過獨立的結算流程驗證每一筆存款後,纔會向中間商支付費用。這種順序機制確保僞造的存款從未觸及用戶的託管賬戶。所有真實的用戶存款要麼當天完成,要麼當天全額退款。
同樣重要的是:沒有任何智能合約遭到破壞。Solana 程序和所有 EVM 合約在整個事件過程中都完全按照設計運行。整個漏洞存在於鏈下中繼器軟件中,而非任何鏈上邏輯中。
損失僅限於 Risk Labs 的中繼資本
Risk Labs直接承擔了全部經濟損失。中繼器支付的總賠償金約爲450萬美元。由於約有50萬美元的攻擊者資金被困在協議內部,淨損失低於400萬美元,並且隨着恢復工作的推進,損失還在持續減少。
與傳統橋接架構的對比值得我們深思。在傳統的鎖定式橋接中,這樣的漏洞可能使攻擊者直接訪問共享的用戶資金池。而在基於意圖的系統中,中繼者的自有資金會承擔首次損失——這種設計選擇在本例中完全保護了每位用戶。
事件響應與恢復
關鍵緩解措施時間表
攻擊被發現後,應對措施迅速展開。以下是7月17日採取的行動順序(所有時間均爲UTC):
- 05:07 — 首筆僞造存款已提交至 Solana
- 06:14 — 僞造存款流結束;第一個攻擊者的地址於 06:16 被列入黑名單
- 08:23 — Solana 已在 API 中禁用作爲源和目標鏈
- 08:35 — Solana SpokePool 鏈上暫停
- 08:36 — 發佈首份公開聲明
- 09:37 — 根本原因修復已合併
- 10:26 — 修復程序已部署到 Risk Labs 的所有基礎設施
- 17:05 — Solana 存款已通過 CCTP 路由重新啓用
根本原因修復程序在檢測到問題後約五小時部署完畢。通過備用 CCTP 路由, Solana 服務在大約12 小時內完全恢復。所有其他協議操作在此期間均未受到影響。
路線變更和系統更新
Solana 的訂單流現在完全通過備用 CCTP 路由進行路由,Risk Labs 表示該路由覆蓋所有主流區塊鏈。在團隊重新審覈 Solana 鏈下事件解析邏輯期間,與 Solana 之間的 Intent 路由仍然處於禁用狀態,以確認此類漏洞已完全修復,並且事件處理的安全模型在整個技術棧中已實現標準化。
目前也在研發更先進的異常檢測技術,旨在自動標記並阻止這種有組織的僞造存款模式,以免造成大量資金損失。
執法部門介入
恢復工作已超越協議本身。Risk Labs正與SEAL 911(事件報告後幾乎立即提供支持)以及美國執法部門合作。攻擊者的地址已在各大交易所和出站通道上被標記。ACX代幣的收購流程則完全不受影響,並按計劃繼續進行。
安全模型及經驗教訓
Across意圖協議的設計
這次事件成爲了對一項精心設計的架構的一次實戰檢驗。Across 最初被設計爲意圖協議,其決策是讓中繼節點預先投入資金,而不是動用共享的用戶託管資金。這一風險管理策略或許很多用戶從未注意到。7 月 17 日,這一決策的價值得到了驗證。攻擊造成的經濟損失是實實在在的,但完全被 Risk Labs 的運營資金所控制。
儘管如此,該事件也揭示了一種結構性矛盾,任何依賴鏈下事件解析的協議都必須正視這一矛盾。鏈上合約可以進行正式驗證和審計,具有很高的可信度。而鏈下中繼軟件則處於一種灰色地帶——它解讀鏈上活動並據此採取行動,但其解讀邏輯卻遊離於區塊鏈本身的信任保障之外。僅僅因爲這一層缺少一個鑑別器檢查,就足以造成450萬美元的欺詐性支付。
未來緩解計劃和審計
Risk Labs承諾,即使Solana訂單流完全通過CCTP運行(這意味着存在漏洞的路徑已處於非活動狀態),也將重新審覈其Solana鏈下事件解析邏輯。其目標是在重新啓用與Solana之間的意圖路由之前,確保徹底修復此類漏洞,並規範整個基礎設施中事件安全的處理方式。
此次事件引發的更深層次的問題是,業界如何看待鏈上協議的鏈下組件。智能合約審計如今已成爲標準流程。而鏈下中繼邏輯、事件監聽器和解析庫等組件歷來受到的審查較少——部分原因是它們位於大多數審計人員關注的正式安全邊界之外。如果 Across 事件能夠改變協議處理這一安全漏洞的方式,那麼 400 萬美元的損失最終可能會用於資助跨鏈結算領域更廣泛的安全升級。
常問問題
在 Across Solana 中繼器攻擊中,是否有用戶資金損失?
用戶資金在任何階段均未丟失或面臨風險。所有真實有效的轉賬均已於2026年7月17日當天完成或全額退款。
Risk Labs中繼器安全漏洞的技術原因是什麼?
該漏洞是由鏈下中繼器代碼中缺少對 8 字節錨事件鑑別器的驗證造成的。這使得攻擊者能夠僞造存款事件,即使鏈上實際上沒有資金轉移,中繼器也會將其視爲真實事件。
Risk Labs是如何應對針對其Solana中繼器的僞造攻擊的?
Risk Labs 禁用了 Solana 作爲源鏈,暫停了鏈上的 Solana SpokePool,在檢測到問題後大約 5 小時內部署了根本原因修復程序,並在大約 12 小時內使用回退 CCTP 路由完全恢復了 Solana 服務。
Risk Labs中繼器攻擊中涉及的智能合約是否已被攻破?
不,沒有智能合約被利用。所有 Solana 程序和 EVM 合約在整個事件過程中都完全按照設計運行。漏洞完全存在於鏈下中繼器軟件中。
本文由人工智能輔助生成,並經編輯團隊審覈。