WakeMint: 在 NFT 智能合约中检测睡眠矿洞漏洞
软件工程
2025-02-27 v1
摘要
非彈性代幣 (NFT) 市場已在過去十年中發展演進,NFT 作為區塊鏈上的唯一數位標識符,確定所有權與真實性。然而,其高價值也吸引了攻擊者利用 NFT 智能合約漏洞獲取非法利潤,從而損害 NFT 生態系統。NFT 智能合約的一項突出漏洞是睡眠矿掏礦 (sleepminting),該漏洞允許攻擊者非法轉移他人的代幣。雖然已有一些研究對睡眠矿掏礦進行過分析,但這些研究基本上是定性分析或基於歷史交易數據。缺乏從合約代碼角度的理解,這對於識別此類問題並在發生前防止攻擊至關重要。為了克服這一缺口,本文對 NFT 智能合約中的四種睡眠矿掏礦進行了分類。每種類型都附有綜合定義和示範性代碼示例,以提供這些漏洞在合約代碼中如何顯現的示例。此外,為了在睡眠矿掏礦問題發生前檢測這些定義的缺陷,我們提出了一個名為 WakeMint 的工具,基於符號執行框架構建,旨在與高版本和低版本的 Solidity 兼容。該工具還採用了剪枝策略以縮短檢測時間。此外,WakeMint 收集關鍵信息,例如 NFT 的擁有者以及與 NFT 所有權轉移有關的事件在符號執行期間的發生。然後,它基於此信息分析轉移函數的特徵,以判斷睡眠矿掏礦的存在。我們在 11,161 個真實世界的 NFT 智能合約上運行了 WakeMint 並對結果進行了評估。我們總共發現了 115 個睡眠矿掏礦問題,工具的精確率為 87.8%。
引用
@article{arxiv.2502.19032,
title = {WakeMint: Detecting Sleepminting Vulnerabilities in NFT Smart Contracts},
author = {Lei Xiao and Shuo Yang and Wen Chen and Zibin Zheng},
journal= {arXiv preprint arXiv:2502.19032},
year = {2025}
}
备注
Accepted by SANER 2025