國家籃球協會 NBA 於週三開放鑄造的 NFT 項目 The Association,因為合約出現漏洞,導致許多無白名單的用戶透過該漏洞大量鑄造,讓許多具有白名單的用戶鑄造失敗,損失手續費。
(前情提要:NBA官方推出季後賽「動態」NFT,將依選手球場表現數據自行變化外觀 )
美 國國家籃球協會 NBA 的 NFT 項目 The Association 於昨日開放鑄造,讓早期進入 NBA Discord 並擁有白名單的用戶免費鑄造(只需 Gas)。豈料,在鑄造階段中,因為智能合約出現漏洞,導致許多無白名單資格的用戶在此期間大量鑄造,讓原先具白名單資格的用戶無法順利鑄造 NFT。
對此,知名 NFT 項目 Azuki 的開發人員 Cygaar 就在隨後,於推特上發文講述 NBA NFT 智能合約的漏洞,不僅指出無白名單者是如何調用合約,還給出幾點提醒,呼籲項目方以後要多用點心。
Cygaar 指出,欲利用此合約漏洞,只需將數據發送到尚未鑄造錢包上的合約地址,這一步驟,即便沒有白名單資格也可進行操作。
若將下列數據反編譯,會看到它調用的函數是 mint_approved,info 中的參數則是用來判斷交易是否是由鑄造網站簽名,與錢包地址是否在白名單內。不過,這部分缺少了一個關鍵組成,那就是沒有去檢查
info.from == msg.sender.
What does this data actually mean? If you decompile it, you'll see the function it calls is mint_approved, with the following data. Pay specific attention to the "info" parameter. pic.twitter.com/qABNf3PEvt
— cygaar (@0xCygaar) April 20, 2022
Cygaar 指出,這代表只要一個有效的簽名就可以無限循環,同樣的簽名能被任意重複使用。
雖然一個錢包僅能鑄造一次,但創建新錢包相當容易,還可以透過合約來循環此動作。
Cygaar 另外還提出一個巨大的錯誤,即合約沒有檢查交易是否來自用戶。Cygaar 指出,不知道在這部分已經提醒多少次了,因為在這部分,僅需再添加一行原始碼,就可以有效降低合約被濫用的風險。
require(tx.origin == msg.sender, ‘Caller not user’)
我相信今天一定有很多人利用這點合約漏洞進行鑄造
Cygaar 還稱,在某些餐樹上的結構非常可怕,且很篤定大多數在合約的參數,並沒有使用在此次的鑄造合約中,所以合理懷疑這個合約一定是從其他地方複製貼上的:
整體來說,合約看起來非常草率,大小寫不一,隨意置放的註解、許多未使用到的變數、沒有進行優化。
我甚至不想花太多時間來分析這個合約,因為這只會沒完沒了。
為此,Cygaar 最後還給出幾點建議,並稱,若項目方未來還打算發新項目,很樂意代勞提前查看原始碼,此次項目相當草率與不專業。
- 妥善實施簽名驗證,確保簽名來自訊息發送方
- 對合約付出些努力、多用點心,別只是從其他地方複製貼上
- 聘個審計員吧,任何合格的審計員都可以在短時間內發現這些漏洞
@NBA message me next time you try releasing a project. I'd be happy to review the code AHEAD of time.
Everything about this drop was sloppy and unprofessional. You can do better.
— cygaar (@0xCygaar) April 20, 2022
官方出面致歉
事發幾小時後,NBAxNFT 才在推特上出面對社群表達歉意,並表示目前正在確認漏洞所導致非白名單鑄造的事件。
官方有意識到因為智能合約有漏洞,導致白名單鑄造階段過早售罄的問題。
針對此狀況,我們深感歉意,目前正在確定那些具有白名單但尚未鑄造的錢包地址。
在該則推文底下也看到許多原先持有白名單的用戶,因為在鑄造期間出現漏洞,而交易失敗損失鑄造交易費的留言;不過,至截稿前,官方尚未對此再進行進一步說明。
據 OpenSea,NBA 項目 The Association NFT 目前地板價為 0.475 ETH(當等於 1,462.4 美元),項目目前共鑄造出 1.59 萬個 NFT,持有人數來到 8.6 千人,自開放鑄造至今,已有超過 2,100 ETH 的交易量。
📍相關報導📍
神魚警告 : 盡快更新Chrome瀏覽器!避免Metamask (小狐狸錢包) 遭漏洞攻擊
NFT | Azuki共同創辦人:OpenSea白名單合約有漏洞;任天堂總裁:我們對NFT、元宇宙很感興趣
NBA Top Shot爆火後,Dapper Labs將合作 NFL 推美式足球 NFT 市場
指控「NBA Top Shot」NFT卡牌是未註冊證券,玩家提告開發商 Dapper Labs
讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。
LINE 與 Messenger 不定期為大家服務