市場新聞

Web3 史上最大黑客盜竊案是前端开發的鍋嗎?

By ZAN Team 2025-03-07 03:34
Web3 史上最大黑客盜竊案是前端开發的鍋嗎?

事件回顧

2025 年 2 月 21 日 UTC 時間下午 02:16:11,Bybit 的以太坊冷錢包 (0x1db92e2eebc8e0c075a02bea49a2935bcd2dfcf4) 遭到攻擊,約 401,346 ETH、15,000 cmETH、8,000 mETH、90,375 stETH 和 90 USDT 被轉移至未知地址,總價值約 14.6 億美元。

攻擊者通過釣魚攻擊誘騙 Bybit 的多重籤名錢包籤名者籤署惡意交易。具體步驟如下:

  • 攻擊者提前部署了惡意合約,包含資金轉移的後門功能。

  • 篡改 Safe 前端界面,使籤名者在 Safe 上看到的交易信息與實際發送至 Ledger 硬件錢包的數據不一致。

  • 通過僞造的界面,攻擊者成功獲取三個有效籤名,將 Safe 多籤錢包的實現合約替換爲惡意合約,從而控制冷錢包並轉移資金。

Sygnia 受 Bybit 委托進行取證調查,確定攻擊的根本原因,目標是識別攻擊範圍和來源,並減輕當前和未來的風險。最新報告見:Bybit Interim Investigation Report (https://docsend.com/view/rmdi832mpt8u93s7/d/rwecw3rumhqtgs6a)。

目前爲止,取證調查突出顯示以下發現:

  • 對所有用於發起和籤署交易的主機的取證調查發現,在 Safe 的 AWS S3 存儲桶中的資源被注入了惡意 JavaScript 代碼。

  • 資源修改時間和公开可用的網絡歷史檔案表明,惡意代碼的注入是直接在 Safe 的 AWS S3 存儲桶中進行的。

  • 對注入的 JavaScript 代碼的初步分析表明,其主要目的是操縱交易,在籤名過程中有效地更改交易內容。

  • 此外,對注入 JavaScript 代碼的分析發現了一個激活條件,該條件僅在交易來源匹配兩個合約地址之一時才會執行:Bybit 的合約地址和一個目前未識別的合約地址(可能與威脅者控制的測試合約相關)。

  • 在惡意交易執行並發布後兩分鐘,新版本的 JavaScript 資源被上傳到 Safe 的 AWS S3 存儲桶。這些更新版本已刪除了惡意代碼。

  • 初步發現表明攻擊源自 Safe 的 AWS 基礎設施。

  • 到目前爲止,取證調查未發現 Bybit 基礎設施有任何被入侵的跡象。

對三個籤名者主機的取證調查表明,攻擊的根本原因是來自 Safe 基礎設施的惡意代碼。

在 Bybit 的基礎設施中未發現被入侵的跡象。

調查仍在繼續,以進一步確認這些發現。

從目前的信息來看前端並不是這次的主要問題所在,主要對這次攻擊要負責的是 AWS 上面的存儲服務被黑了,JavaScript 被篡改,導致在 Safe 前端發起的交易內容被修改。但是前端方面,如果 Safe 前端做了基本的 SRI 驗證,即使這個 JavaScript 被改了,也不會出事,這樣來看前端是要有一定責任的。當然 Bybit 肯定也是要負責的,首先他們自己用的硬件錢包沒有顯示具體交易信息他們就確認了,本身他們對 Safe 前端的信任就是不可靠的。

硬件錢包在處理復雜交易時存在局限性,無法完整解析和顯示多重籤名錢包的詳細交易數據,導致籤名者在未完全驗證交易內容的情況下進行“盲籤”。

黑客很擅長利用交互過程的設計缺陷騙取用戶資產,如:利用 UI 劫持、欺騙用戶籤名;利用盲籤名欺騙用戶籤名;利用 Permit 籤名盜取用戶的資產;利用 TransferFrom 零轉欺騙用戶進行釣魚;採用尾號相同空頭實施騙局;對 NFT 進行釣魚等其它通用的釣魚手法。

隨着 Web3 技術的快速發展,前端安全與區塊鏈安全的邊界逐漸模糊。傳統前端漏洞(如 XSS、CSRF)在 Web3 場景下被賦予了新的攻擊維度,而智能合約漏洞、私鑰管理缺陷等問題則進一步放大了風險。

接下來我們從兩個場景來分析一下前端开發和安全問題的關聯。

場景一:交易參數篡改 —— 界面顯示轉账,實際執行授權

示例:前端展示與鏈上執行分離

用戶視角:

✅ 錢包彈窗顯示 "Transfer 1 ETH to 0xUser..."

實際鏈上效果:

⚠️ 執行「 approve(attacker, unlimited) 」,資產可被隨時轉走

怎么辦呢?EIP-712 結構化籤名驗證

1. 前端生成可驗證數據

2. 智能合約驗證籤名

效果:任何前端參數篡改都會導致籤名不匹配,交易自動回滾。

場景二:盲籤劫持 —— 硬件錢包爲何被攻破

示例:篡改 Ledger 解析規則

1.攻擊者劫持前端代碼,向硬件錢包發送僞造的 calldata:

2.Ledger 屏幕顯示:

實際執行:「 approve(attacker, unlimited) 」

怎么辦呢?硬件錢包語義解析 + 鏈上二次驗證

1. 升級硬件錢包固件支持 EIP-712

2. 鏈上強制語義匹配

結語

前端安全與 Web3 安全的融合,既是挑战也是機遇。Bybit 被盜事件暴露了加密貨幣行業在安全管理和技術架構上的深刻問題。隨着黑客攻擊技術的不斷演進,行業需從設備安全、交易驗證和風控機制等多個層面全面提升防護能力,以應對日益復雜的威脅。前端开發要做的就是對 訪問 DApp 、連接錢包、消息籤名、交易籤名、交易後處理 等環節不厭其煩的反復驗證。實現從“被動修補”到“主動免疫”的跨越。唯有如此,方能在 Web3 的开放世界中守護每一筆交易的價值與信任。

當然鏈上合約的安全審計也是每個 Dapp 離不开的,ZAN AI Scan (https://zan.top/cn/home/ai-scan?chInfo=ch_WZ) 能夠通過形式驗證和人工智能輔助安全規範生成確保代碼正確性,提供對數百萬部署合約進行代碼相似性和知識產權風險分析,提供全天候監控和即時通知,涉及可能影響您部署項目的零日漏洞和安全事件。並且擁有一個根據龐大的漏洞數據庫進行優化的 GPT 模型,用於檢測智能合約中各種現實世界的漏洞。

本文由 ZAN Team(X 账號 @zan_team) 的 KenLee 撰寫。

標題:

地址:https://www.pressbased.com/post/11733.html