# NFT合約安全審計:常見問題與典型案例分析2022年上半年,NFT領域安全事件頻發,造成巨大經濟損失。據統計,主要安全事件共10起,造成約6490萬美元損失。攻擊方式主要包括合約漏洞利用、私鑰泄露和釣魚等。其中,Discord平台上的釣魚攻擊尤爲猖獗,幾乎每天都有服務器遭受攻擊,導致用戶資產損失。## 典型安全事件分析### TreasureDAO事件2022年3月3日,TreasureDAO交易平台遭到攻擊,100多個NFT被盜。漏洞存在於TreasureMarketplaceBuyer合約的buyItem函數中,未對代幣類型進行判斷就計算總價,導致可以在支付0代幣的情況下購買NFT。這是由於ERC-1155和ERC-721代幣混用引起的邏輯混亂。### APE Coin空投事件 2022年3月17日,黑客利用閃電貸獲取了超過6萬枚APE Coin空投。AirdropGrapesToken空投合約使用balanceOf()判斷BAYC/MAYC NFT所有權,但這只能獲取瞬時狀態,被閃電貸操縱。### Revest Finance事件2022年3月27日,Revest Finance遭攻擊,損失12萬美元。這是一起典型的ERC-1155重入攻擊,源於合約在鑄造新FNFT時未判斷是否已存在,且狀態變量自增在_mint()函數之後。### NBA薅羊毛事件2022年4月21日,NBA項目遭攻擊。The_Association_Sales合約在驗證白名單時存在籤名冒用和復用問題,未存儲已使用的籤名且缺少msg.sender校驗。### Akutar事件2022年4月23日,Akutar項目AkuAuction合約漏洞導致11539 ETH(約3400萬美元)被鎖死。主要問題包括退款函數邏輯缺陷和未考慮用戶多次投標情況。### XCarnival事件2022年6月24日,XCarnival遭攻擊,損失3087 ETH(約380萬美元)。XNFT合約的pledgeAndBorrow函數未檢查xToken地址白名單和抵押記錄狀態,導致攻擊者可重復利用無效抵押記錄借貸。## NFT合約審計常見問題1. 籤名冒用和復用: - 缺少重復執行驗證,如用戶nonce - 籤名檢查不合理,如未檢查零地址籤名2. 邏輯漏洞: - 管理員繞過總量限制鑄幣 - 拍賣中存在交易順序依賴攻擊風險3. ERC721/ERC1155重入攻擊: - 轉帳通知功能可能導致重入4. 授權範圍過大: - 要求全局授權而非單個代幣授權5. 價格操控: - NFT價格依賴外部合約代幣持有量,易被閃電貸操縱鑑於NFT合約安全事件頻發,項目方應重視合約安全審計,聘請專業安全公司進行全面檢查,以降低安全風險。
NFT合約安全事件頻發 6490萬美元損失背後的教訓
NFT合約安全審計:常見問題與典型案例分析
2022年上半年,NFT領域安全事件頻發,造成巨大經濟損失。據統計,主要安全事件共10起,造成約6490萬美元損失。攻擊方式主要包括合約漏洞利用、私鑰泄露和釣魚等。其中,Discord平台上的釣魚攻擊尤爲猖獗,幾乎每天都有服務器遭受攻擊,導致用戶資產損失。
典型安全事件分析
TreasureDAO事件
2022年3月3日,TreasureDAO交易平台遭到攻擊,100多個NFT被盜。漏洞存在於TreasureMarketplaceBuyer合約的buyItem函數中,未對代幣類型進行判斷就計算總價,導致可以在支付0代幣的情況下購買NFT。這是由於ERC-1155和ERC-721代幣混用引起的邏輯混亂。
APE Coin空投事件
2022年3月17日,黑客利用閃電貸獲取了超過6萬枚APE Coin空投。AirdropGrapesToken空投合約使用balanceOf()判斷BAYC/MAYC NFT所有權,但這只能獲取瞬時狀態,被閃電貸操縱。
Revest Finance事件
2022年3月27日,Revest Finance遭攻擊,損失12萬美元。這是一起典型的ERC-1155重入攻擊,源於合約在鑄造新FNFT時未判斷是否已存在,且狀態變量自增在_mint()函數之後。
NBA薅羊毛事件
2022年4月21日,NBA項目遭攻擊。The_Association_Sales合約在驗證白名單時存在籤名冒用和復用問題,未存儲已使用的籤名且缺少msg.sender校驗。
Akutar事件
2022年4月23日,Akutar項目AkuAuction合約漏洞導致11539 ETH(約3400萬美元)被鎖死。主要問題包括退款函數邏輯缺陷和未考慮用戶多次投標情況。
XCarnival事件
2022年6月24日,XCarnival遭攻擊,損失3087 ETH(約380萬美元)。XNFT合約的pledgeAndBorrow函數未檢查xToken地址白名單和抵押記錄狀態,導致攻擊者可重復利用無效抵押記錄借貸。
NFT合約審計常見問題
籤名冒用和復用:
邏輯漏洞:
ERC721/ERC1155重入攻擊:
授權範圍過大:
價格操控:
鑑於NFT合約安全事件頻發,項目方應重視合約安全審計,聘請專業安全公司進行全面檢查,以降低安全風險。