開發者追回 2016 年 HongCoin ICO 合約中鎖定的 200 萬美元

ETH-0.52%
EUL-5.96%

一位名為 Florent 的開發者從一份 2016 年 HongCoin 首次代幣發行(ICO)合約中,回收了約 1,003 ETH;以目前價格計算,價值約 200 萬美元。該合約資金被困了九年之久。這次 Ethereum 代幣銷售原本設計為在募資未達到目標後,能自動向投資者退款,但程式漏洞使得退款功能無法在餘額超出已耗盡的全域計數器的持有人身上執行。Florent 利用該合約管理員(admin)功能中的溢出(overflow)漏洞,與 HongCoin 團隊合作約一週,為 48 名原始投資者解鎖資金。此次回收凸顯了:在 SafeMath 之前的早期智慧合約漏洞,至今仍可能將價值鎖在鏈上。

溢出漏洞阻止退款長達九年

HongCoin 合約在 2016 年被定位為由社群運作的投資基金,合約中包含一個退款機制:凡是代幣持有人餘額超出某個全域計數器變數者,退款將被拒絕。多年來的部分退款使該計數器下降至 356,導致總退款上限被封頂在 3.56 ETH(約 7,000 美元),而大多數仍在的持有人手上的金額遠高於此。

Florent 告訴 The Block,該合約部署時使用的是較舊版本的 Solidity 程式語言,當時缺乏對溢出錯誤的保護。在這類錯誤中,當數值達到足夠高的門檻時,會重設為 0 或 1;這個脆弱性後來才在 SafeMath 函式庫中被修正。

開發者透過團隊的管理員功能找到一個繞過方法。該功能原本是用於針對特定事件鑄造獎勵代幣。透過以精確的輸入值呼叫此功能,能將持有人的餘額重設為 1,使退款檢查通過並釋放被鎖住的 ETH。

團隊協作使白帽解鎖流程得以完成

管理員功能被限制在 HongCoin 的多簽(multisig)錢包之下,無法單方面行動。Florent 透過電子郵件聯繫團隊,並在 Foundry 的主網(mainnet)分叉 (fork) 上驗證交易序列;隨後,團隊簽署了解鎖交易。根據 Florent 表示,從最初發信到完成,整個流程大約花了一週。

在可領取資金的 48 名原始投資者當中,有 41 人需要透過上述餘額重設的漏洞利用方式。其餘 7 人的持有金額較小,足以透過既有功能直接退款。團隊簽署了 41 筆交易——每名被阻擋的持有人一筆——覆蓋了確實被困住的約 1,000 ETH。

有 2 位投資者已收回合計 96.5 ETH(約 193,000 美元),並自願向 Florent 發送白帽(whitehat)獎勵。Florent 告訴 The Block,過程中沒有任何費用、抽成或佣金。「除了團隊本身之外,真的沒有人有動機去把合約那麼仔細地挖出來,」Florent 說。「也沒有所有權方面的瑕疵能讓某人把資金據為己有,所以對駭客而言,並沒有任何可得之利;任何漏洞利用的唯一結果,就是 ETH 回到原始投資者手上。」

開發者先前已從失敗合約中釋放 19.329 ETH

在 5 月 24 日(週日),Florent 描述他從兩份較舊的合約中回收了 19.329 ETH,約 40,590 美元。第一份是失敗的 2018 年 1 月 ICO 合約,原本有 5.141 ETH,並且背後存在一個未曾被呼叫的公開退款功能。第二份涉及一名 Liquality Wallet 使用者的 7 筆已到期的原子交換(atomic swaps),合計 14.190 ETH;在 2024 年 Liquality 關閉其應用後,Florent 代表該使用者完成退款。

掃描方法識別高價值被卡住合約

Florent 表示,他最近建立了一個自架(self-hosted)的 Ethereum 節點,並製作了一個掃描器,用來標記所有持有超過 100 ETH 的合約,然後逐一處理候選名單。「很多合約都是其他合約的分叉(fork),所以在同一個群集(cluster)內,只要其中一處有瑕疵,其他的也會有相同瑕疵,」Florent 說。「不過話說回來,那些大而且眾所周知的群集已經被相當徹底地翻過了。」

在被問到是否使用 AI 協助時,Florent 表示他使用 Claude Code 來加速合約的排序與分群,但發現智慧合約分析存在限制。「AI 往往會被一個事實所偏誤:之前這份合約從未被破解過,以及之前的人找不到突破方法……所以它常常就變成『這是不可能破解的,我什麼都試過了』,但這種說法經常是假的。」

此次回收發生在 DeFi 被利用(exploit)浪潮之中。僅 4 月,攻擊就累計達數億美元,當中由 Kelp DAO 近約 2.93 億美元的資金外流所帶頭。安全公司 OpenZeppelin 的一位共同創辦人最近表示,他認為所有 DeFi 都不安全。部分漏洞利用以白帽回收或自願歸還告終,例如 Euler Finance 在其 2023 年漏洞利用後幾乎全額回收。

「最近針對協議的駭客明顯又變多了,而且 DeFi 也正在成為一個需要複雜思考才能投資的領域,」Florent 說。「我很希望能看到另一種反向行動——有人試著去保護事物,而不是去利用它。這在道德上更有成就感,而且有時也能賺得不少。」

常見問題(FAQ)

是什麼原因導致 HongCoin 的 ICO 資金被鎖住長達九年?

2016 年 HongCoin 合約的退款功能存在一個程式漏洞:凡是代幣持有人,只要其代幣餘額超出某個全域計數器變數,就會被拒絕退款。多年來的部分退款把該計數器降低至 356,導致對餘額更大者無法退款,而該合約也缺乏後來較新版本 Solidity 所標準具備的溢出保護。

Florent 是如何在不竊取的情況下解鎖被困的 ETH?

Florent 找到了一個最初本來是用於鑄造獎勵代幣的管理員功能。透過以特定輸入值呼叫該功能,由於溢出漏洞,他能將持有人的餘額重設為 1,使退款檢查得以通過。由於管理員功能需要 HongCoin 團隊的簽名,Florent 因此與團隊協調,花了約一週來為被阻擋的投資者執行 41 筆解鎖交易。

Florent 從舊合約中回收了多少 ETH?

Florent 從 HongCoin 合約中回收了約 1,003 ETH(約 200 萬美元)。在 5 月 24 日(週日),他表示又從另外兩份合約中釋放了額外 19.329 ETH(約 40,590 美元):包括一份失敗的 2018 年 1 月 ICO,金額為 5.141 ETH,以及 7 筆已到期的 Liquality Wallet 原子交換,合計 14.190 ETH。

免責聲明:本頁面資訊可能來自第三方來源,僅供參考,不代表 Gate 的立場或觀點,亦不構成任何財務、投資或法律建議。虛擬資產交易具有高風險,請勿僅依賴本頁資訊作出決策。詳情請參閱 免責聲明
回覆
0/400
暫無回覆