2021 年 8 月 10 日,跨鏈互通平台 Poly Network——讓使用者在不同區塊鏈之間轉移或兌換代幣——遭盜走逾 6.1 億美元,是史上規模最大的數位貨幣竊案之一。安全公司 SlowMist 確認,逾 6.1 億美元被轉至三個地址,其中 O3 Swap 跨鏈池損失慘重。

根本原因是智慧合約的設計缺陷,而非金鑰遭竊。在 Poly 的合約中,EthCrossChainManager 的 verifyHeaderAndExecuteTx 函式可執行跨鏈交易,而它可被用來呼叫 putCurEpochConPubKeyBytes——將 EthCrossChainData 合約的 keeper 角色改成攻擊者選定的地址。keeper 被替換後,攻擊者便能任意建構交易並提走任何金額。

這名攻擊者後來被稱為「Mr. White Hat」,他聲稱這次攻擊是「為了好玩」以揭露該漏洞,並於隔日開始歸還資金。Poly Network 提供 50 萬美元懸賞,並承諾不會追究此人責任。截至 8 月 12 日,約 3.42 億美元已歸還,僅剩約 3,300 萬美元的 Tether 仍被代幣發行方凍結。

在以太坊、幣安智慧鏈與 Polygon 上共被盜走逾 6.1 億美元——當時是史上最大的 DeFi 竊案;除了 3,300 萬美元 Tether 遭凍結外,幾乎全數在數日內歸還。

該合約讓一筆跨鏈交易得以變更守護所有資金的 keeper 地址。

verifyHeaderAndExecuteTx 與 keeper 更新路徑共用函式邊界,毫無權限區隔。

該程式碼部署於三條鏈上,然而同一缺陷在三條鏈上都存在。

事發後沒有足夠迅速的緊急暫停機制來阻止資金被抽乾。

在跨鏈橋中,權限就是金錢:變更 keeper 與驗證訊息的函式需要分別稽核、最小權限與邏輯測試——而不只是金鑰保管。

攻擊者在接下來數日內歸還了幾乎所有被盜資產,Poly Network 宣布此人為「白帽」,並將剩餘部分轉入由雙方共同控制的多重簽名錢包。6.1 億美元這個數字遠超過 2021 年前七個月所有 DeFi 記錄在案的 4.74 億美元犯罪損失,而這起事件也促使跨鏈橋專案將合約邏輯——而不只是私鑰——視為關鍵攻擊面。Poly Network 持續營運,但跨鏈橋在往後數年仍是熱門目標。

追溯依據

參考來源

  1. 'White hat' hacker returns most of $600 million crypto tokens taken - Poly Network Reuters · finance.yahoo.com ·
  2. 'White hat' hacker behind $610m crypto heist returns most of money The Guardian · theguardian.com ·
  3. Over $600 Million Stolen in Biggest Ever Cryptocurrency Theft Infosecurity Magazine · infosecurity-magazine.com ·