The CPIMP Backdoor: Anatomy of a Multi-Chain Proxy Attack
三句話摘要
攻擊者在智能合約代理模式中植入隱藏惡意代理(CPIMP),潛伏數月等待大額資金聚集後準備發動攻擊,被安全研究人員發現並協調緊急救援。 代理合約未初始化的視窗期即是高價值攻擊面,搭配雙委託調用、雙升級事件等特徵可作為 CPIMP 感染的主動檢測依據,智能合約部署流程必須將初始化的原子性與事件驗證納入標準安全程序。 1. 未初始化代理的搶跑攻擊是核心手法
重點整理
重點- 1
1. 未初始化代理的搶跑攻擊是核心手法
- 2
攻擊者透過 frontrun(搶先交易)在部署者之前初始化代理合約,將自己控制的秘密代理設為中間層。受害者的初始化交易表面上成功並發出正確的升級事件,但實際上整個代理已受攻擊者掌控,連 Etherscan 的讀寫介面都會顯示合法的實現地址,幾乎無從察覺。
- 3
2. CPIMP 具備複雜的自保與偽裝邏輯
- 4
惡意代理不是簡單的後門,而是一個功能完整的中間層:封鎖單筆超過 90% 資產的提款、在升級操作時自動重新安裝自身、支援 ERC 轉帳搭配鏈下簽名許可(繞過黑名單限制),且大多數正常交易仍會轉發至合法實現,行為幾乎與正常合約無異。
- 5
3. 協調救援的複雜度遠超技術層面
- 6
由於每個受感染協議的 CPIMP 都有客製化邏輯,救援策略不能統一套用;且若某協議搶先行動,可能驚動攻擊者危及其他協議。作戰室必須同時協調約 10 個協議,在確認嚴重程度的同時制定各自的定制化提取方案。
- 7
4. Etherscan 被舊版代理標準欺騙是關鍵掩護
- 8
攻擊者刻意在一個舊版 OpenZeppelin 代理標準的存儲槽中放入合法實現地址,利用 Etherscan 支援多種代理標準的識別政策,讓 Etherscan 誤讀為正確實現,形成天然的視覺掩護。
實用技巧與重點
乾貨- 數字與規模
- 攻擊者潛伏時間:數個月
- 觸發攔截閾值:單筆提款超過合約資產 90%
- 發現時間:David Benimol 於 7 月 8 日發出警告
- 作戰室協議數量:約 10 個同時受影響協議
- 攻擊者疑似身份:中國駭客組織(非北韓)
- 受影響協議
- Pendle(大型,在收到警告前幾天已自行升級,但不清楚原因)
- Origin(影響相對較小,涉及未使用的次要鏈合約)
- 多條鏈上多個未具名協議
- 攻擊特徵(檢測指標)
- 初始化交易為 frontrun 執行
- 初始化時發出兩個升級事件(一個惡意、一個合法偽裝)
- 受感染合約上的每筆交易包含兩次 delegatecall
- 反編譯代碼中存在特定函數簽名(CPIMP 存在標誌)
- 工具與技術
- 工具:Etherscan 讀寫合約介面、鏈上事件監聽、區塊掃描器、反編譯技術
- 攻擊模式:Proxy frontrun + delegatecall 中間代理
- 標準被利用:舊版 OpenZeppelin 代理存儲槽標準
- 跨鏈通訊:Zero Layer(LayerZero)跨鏈消息傳遞
- 參與人員
- David Benimol:最初發現者與調查主力
- Seal 911 / PC Versaceio:作戰室指揮、Etherscan 欺騙技術調查
- DDOB / Neville:受影響協議查詢、惡意代理逆向工程
- Rashelon Casaparov:最初指出問題,未參與後續調查
結論
結論“代理合約未初始化的視窗期即是高價值攻擊面,搭配雙委託調用、雙升級事件等特徵可作為 CPIMP 感染的主動檢測依據,智能合約部署流程必須將初始化的原子性與事件驗證納入標準安全程序。”
完整解析
詳細今年夏天,安全研究員 David Benimol 在調查同事 Rashelon Casaparov 指出的異常時,發現了一批疑似被攻擊者控制的代理合約。他於 7 月 8 日向安全社群發出警告,表示問題規模可能遠超以往。這個漏洞的核心在於智能合約代理模式的一個古老弱點:若代理合約在部署後尚未初始化,任何人都可以搶先初始化並植入自己想要的實現。傳統上這不是大問題,因為部署者只要再部署一個新代理即可。但這次攻擊的恐怖之處在於,受害者根本無從察覺自己的代理已被入侵。
攻擊者的手法被命名為 CPIMP(Clandestine Proxy Implanted in the Middle Pattern,秘密中間代理植入模式)。攻擊流程是:攻擊者 frontrun 部署者的初始化交易,先將一個自己控制的惡意代理設為中間層,隨後讓部署者的初始化交易「正常」執行,並發出包含合法實現地址的升級事件。如果你查詢代理的實現,它回傳的是合法地址;如果你去 Etherscan 讀寫合約,顯示的也是合法實現。受感染的代理在中間靜默轉發幾乎所有正常調用,大多數交易行為完全正常,使其可以潛伏數個月而不被發現。
CPIMP 的複雜性遠超一般後門。它內建攔截邏輯:阻止單筆超過合約資產 90% 的大額提款,允許小額資金流動以維持表象;若有人嘗試升級合約,它會在實現槽中自動重新安裝自身;它還實現了帶有鏈下簽名許可的 ERC 轉帳邏輯,即使攻擊者地址被列入黑名單,仍可透過鏈下簽名完成資金轉移。此外,攻擊者刻意利用舊版 OpenZeppelin 代理標準的存儲槽放入合法實現地址,讓 Etherscan 誤讀並顯示合法實現,形成完美的視覺掩護——這顯然是攻擊者透過大量實驗才找到的欺騙方法。
接獲警告後,Seal 911 立即召開作戰指挥中心會議,面對的是一個異常艱難的局面:約 10 個協議同時受感染,每個協議的 CPIMP 都有客製化邏輯,無法套用統一救援方案。更棘手的是,若某協議搶先行動,可能驚動攻擊者觸發針對其他協議的攻擊。評估嚴重程度也充滿不確定性,例如其中一個受感染合約擁有透過 LayerZero 發送跨鏈訊息的權限,救援團隊當時無法確定這會對其他鏈造成何種即時影響。儘管如此,整體緩解行動最終相當成功,在攻擊者發動大規模攻擊前完成了救援。攻擊者疑為中國駭客組織,潛伏策略顯示其目標是等待大型協議在受感染合約中積累充足流動性後再一次性收割。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

