Back to Blog

揭露以太坊工作量證明(EthereumPoW)上的「訊息」重放攻擊

Code Auditing
September 19, 2022
5 min read

2022 年 9 月 16 日,我們檢測到部分攻擊者通過在 EthereumPoW(即 PoW 鏈)上重放 PoS 鏈的訊息(即調用數據,calldata),成功竊取了大量 ETHW。 本次攻擊的根本原因是 PoW 鏈上的 Omni Bridge 使用了舊的 chainId,且未正確驗證跨鏈訊息的實際 chainId。

我們隨即聯繫了 EthereumPoW 的官方團隊。 該團隊展現了積極應對的意願,並已嘗試 與 Omni Bridge 進行溝通

然而,由於隨後觀察到越來越多的攻擊行為,我們認為有必要向公眾通報此風險,因此我們於 2022 年 9 月 18 日發布了 預警

鑒於目前對於這些攻擊存在一些誤解(例如認為是重放交易而非重放消息),我們希望通過本報告進行詳細剖析以釐清事實。

攻擊分析

以下是攻擊交易的範例:

請注意,這兩筆交易有所不同,但它們的 調用數據(即輸入數據,calldata)完全相同

0x23caab4900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000011500050000a7823d6f1e31569f51861e345b30c6bebf70ebe7000000000000e0f6f6a78083ca3e2a662d6dd1703c939c8ace2e268d88ad09518695c6c3712ac10a214be5109a655671000927c00101806401867f7a4d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a6439ca0fcba1d0f80df0be6a17220fed9c9038a00000000000000000000000000000000000000000000000ad78ebc5ac62000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001482faed2da812d2e5cced3c12b3baeb1a522dc67700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105041c1b1c1c981df6cdaf073d55b78d7f0c7e2b421a569bff677a9464d1d5203672d7b5a3d6af658d14ebc11c26f2547fd0aed01750cca58753a0a79b297bad8a62a71eb6b7ac2099611604eff316e7fe733e9981c1b3890cb04ff9d43612e6f2687227f0226cfa27e4b6cd96a10865e04aa9e0f369dda7548771a094f69bf0a9fa6c27257e22d2b1bbb84beb52ad3966592037b328d352fce375a1fa75cb3fbfd18166f4177a19ad2cc74ce67da68f5ce17b857e6382c3ebf20f76482534135f426f4a74222daa07d9f401cb8baca4339ecd44e285df0e0cb88447a31d08b673cecc67d22c7e6e0ce5afd2ac9439c5a8b68f05077b850cdfdfb79cdaefc5b103bb69360944000000000000000000000000000000000000000000000000000000

這僅僅是調用 safeExecuteSignaturesWithAutoGasLimit 函數的輸入數據。

很明顯,攻擊者(0x82fae)首先通過 Gnosis 鏈的 Omni bridge 轉移了 200 WETH,然後在 PoW 鏈上重放了 相同的消息,並額外獲得了 200 ETHW。 通過這種操作,部署在 PoW 鏈上的橋接合約餘額將被耗盡。

漏洞分析

在分析了 Omni bridge 的 原始碼 後,我們發現合約中確實存在驗證 chainId 的邏輯:

    function _isDestinationChainIdValid(uint256 _chainId) internal returns (bool res) {
        return _chainId == sourceChainId();
    }

遺憾的是,此合約中用於驗證的 chainId 來源於名為 unitStorage 的存儲空間:

    /**
     * Internal function for retrieving chain id for the source network
     * @return chain id for the current network
     */
    function sourceChainId() public view returns (uint256) {
        return uintStorage[SOURCE_CHAIN_ID];
    }

它並非透過 EIP-1344 提出的 CHAINID 操作碼所取得的實際 chainId。 這可能是因為該代碼較為老舊(使用的是 Solidity 0.4.24)。 在 PoW 鏈分叉之前,該代碼一直運作良好。

簡而言之,本次漏洞的根本原因是 ETHW 鏈上的 Omni Bridge 使用了舊的 chainId,且未正確驗證跨鏈訊息的真實 chainId。 此外,類似的問題也可能存在於其他協議中。

影響範圍

最直接的影響是攻擊者可能竊取大量 ETHW(以及 PoW 鏈上橋接合約擁有的其他代幣),並在各個市場(例如某些中心化交易所)進行交易。 這可能會因流動性的增加而影響 ETHW 的價格。 因此,用戶與投資者在 PoW 鏈上進行相關代幣交易時應保持謹慎。

結論

Solidity 開發者在處理設計由合約自身維護的 chainId 時,應給予特別注意。

關於 BlockSec

BlockSec 是一家領先的區塊鏈安全公司,由一群全球傑出的安全專家於 2021 年創立。公司致力於提升新興 Web3 世界的安全性和可用性,以推動其大規模採用。為此,BlockSec 提供智能合約與 EVM 鏈的安全審計服務,開發了用於安全開發與主動威脅攔截的 Phalcon 平台,用於資金追蹤與調查的 MetaSleuth 平台,以及協助開發者在加密世界中高效航行的 MetaDock 擴充套件。

迄今為止,公司已服務超過 300 家知名客戶,包括 MetaMask、Uniswap Foundation、Compound、Forta 和 PancakeSwap,並獲得了包括 Matrix Partners(經緯創投)、Vitalbridge Capital(唯獵資本)和 Fenbushi Capital(分佈式資本)在內的頂尖投資者兩輪數千萬美元的融資。

官方網站:https://blocksec.com/

官方 Twitter 帳號:https://twitter.com/BlockSecTeam

Sign up for the latest updates
~$598萬損失:Aztec、Raydium等|BlockSec週報
Security Insights

~$598萬損失:Aztec、Raydium等|BlockSec週報

本週區塊鏈安全報告涵蓋2026年6月8日至15日,分析以太坊和Solana上4起重大事件,總損失約598萬美元。重點事件包括:Aztec Connect因缺少輸入驗證導致rollup證明路徑與L1結算狀態不一致;Raydium因舊版AMM v3程式缺少驗證,攻擊者操縱LP代幣贖回計算並清空四個池。兩個漏洞均存在多年後才被利用。報告涵蓋輸入驗證缺失、整數溢出及治理攻擊等類型。

Zcash Orchard 健全性漏洞分析 | BlockSec 週報
Security Insights

Zcash Orchard 健全性漏洞分析 | BlockSec 週報

2026年6月1日當週,Zcash Orchard隱私池電路被公開披露存在嚴重健全性漏洞。該漏洞由halo2 ECC標量乘法組件缺少等式約束引起,可能導致透過雙重支付在Orchard池中無法被偵測地偽造ZEC。此漏洞自2022年5月Orchard啟用以來已存在逾四年,由研究員Taylor Hornby使用Anthropic Opus 4.8模型進行AI輔助安全審計時發現,並透過緊急網路升級(NU6.2)修補。本報告涵蓋技術根本原因、AI輔助發現過程、緊急應對時間軸及對ZKP生態系統的影響。

通訊 - 2026年5月
Security Insights

通訊 - 2026年5月

2026年5月,DeFi生態發生三起重大安全事件。Echo Protocol因管理員密鑰外洩遭惡意增發eBTC,損失約7,670萬美元;StablR因多簽治理漏洞被非法發行穩定幣,損失約1,280萬美元;Verus-Ethereum Bridge因類型驗證失敗導致攻擊,損失約1,170萬美元。

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit