zkSync Era 生態中 DEX 協議 Merlin 才剛完成審計、剛剛開始公募,就遭駭 180 萬美元,引起加密社群的議論。社群成員分析指出,此次很可能是項目方的刻意 Rug Pull 行為,並對負責審計 Merlin 的安全團隊 Certik 提出質疑。
(前情提要:zkSync生態出包》DEX Merlin 遭駭 180 萬鎂!才剛完成審計、開啟公募)
(背景補充:L2深度分析》zkSync Era 是什麼?與Lite性能差異?埋伏空投互動教學)
基於零知識證明技術(ZK rollup)的以太坊 L2 擴容方案 zkSync,在 3 月 24 日啟動主網 zkSync Era 後,災情頻頻傳出,生態中的 DEX 協議 Merlin 本週稍早才剛完成審計、開啟公募,就遭駭 180 萬美元,引起加密社群的議論。
延伸閱讀:zkSync Era出包》921 ETH卡合約無法領!團隊承認:部分函數非EVM等效
社群質疑 Merlin 遭駭是 Rug Pull
隨著案件延燒,根據社群用戶 @zkaliburDEX 針對 Merlin 的合約進行分析,他表示此次遇駭很可能是項目的內部行為:
initialize 函數中的有兩行程式碼批准將 uint256 最大值分配給 feeTo 地址(部署者),在這種情況下,feeoTo 地址有可能調用相應的 token transferFrom 函數,將 token 從合約地址轉移到自己的地址。因此這很可能是項目方的內部行為。
另一名社群用戶 @delucinator 也表示 Merlin 百分之百是 Rug Pull(意譯:跑路)。此外,他還對負責審計 Merlin 的安全團隊 Certik 提出質疑:
Certik 對該協議進行了審計,且不像是被交換掉的前端,Certik 看到了該合約中允許無限制地分配給某個隨機地址,但仍然通過了它。
and Certik did audit this, it's not like a swapped out frontend, Certik legit saw the contract allow infinite to some random ass address and gave it a pass pic.twitter.com/jbAVfD3O8R
— yieldfarming (@delucinator) April 26, 2023
對此,區塊鏈安全公司 Verichains 創辦人 Thanh Nguyen 認同上述社群成員的看法,他指出「Merlin 是一個明顯的故意後門插入案例」。
在 Merlin 程式碼中存在一個“後門”程式碼(L87-88),允許 MerlinFactory 的 feeTo 在交換函數中除了手續費外,轉移交易對中的所有資產。這個後門是一個明顯的安全風險,因為沒有使用場景需要它的批准。
CertiK 必須承認其審計期間未注意到後門的程式碼。
CertiK 否認審計失誤
針對上述的質疑,CertiK 發文回應稱,目前正在調查 Merlin 事件,初步調查結果指向一個潛在的私鑰管理問題,而不是因為合約漏洞才導致協議遇駭,並表示審計不能防止私鑰問題。
We’re actively investigating the @TheMerlinDEX incident. Initial findings point to a potential private key management issue rather than an exploit as the root-cause.
While audits cannot prevent private key issues, we always highlight best practices to projects.
Should any foul…
— CertiK (@CertiK) April 26, 2023
然而,令人諷刺的是,同一日(26日)極客公園才刊文 Certik 創辦人、哥倫比亞大學計算機系教授顧榮輝的專訪,他在訪談中驕傲地表示:「CertiK 幾乎是靠一己之力把區塊鏈安全變成一個賽道,吸引了很多關注,吃下安全市場 70% 的份額,把 Web3 安全審計的費用降低了 90% 以上。」