GameFi新秀登場:從安全視角看全鏈遊戲Fren Pet

GameFi新秀登場:從安全視角看全鏈遊戲Fren Pet

PANews
By PANews
2023-11-23 05:00

在 Friend.tech 熱潮消退後,由兩位開發者構建的基於 Base 鏈的區塊鏈遊戲 Fren Pet 吸引了市場的注意力。11月19日-20日,得益於 Base 官方的關注和 Fren Pet 社交裂變的玩法,Fren Pet 在社交媒體上爆紅,成為 GameFi 新秀。

在 Fren Pet 用戶迅速增長的同時,安全方面依然不容忽視。今天 Beosin 安全團隊將為大家分析 Fren Pet 的設計機製和合約代碼,幫助大家了解其中的潛在風險。

GameFi新秀登場:從安全視角看全鏈遊戲Fren Pet

Fren Pet機製分析

Fren Pet 目前的遊戲內容為寵物鑄造、喂養寵物、與其他用戶的寵物對戰、幸運轉盤和擲骰子。參與 Fren Pet 的遊戲用戶首先需要鑄造寵物(NFT),每隻寵物的鑄造需花費 100 FP 代幣(如果後續有其他用戶鑄造寵物,花費的 FP 將返還給用戶),然後用戶需要支付 FP 代幣購買蘋果、咖啡等道具喂養寵物,以避免寵物的TOD(死亡倒計時)歸0,即持有的 NFT 被自動銷毀。

GameFi新秀登場:從安全視角看全鏈遊戲Fren Pet

喂養寵物可獲得積分(Pet Point),積分越高,獲得的 ETH 獎勵越多,而 ETH 獎勵來自於 FP 代幣的交易稅,每筆交易收取5%的稅費,2%會分配給遊戲玩家。因此,參與的用戶越多,對 FP 代幣的需求越多,FP 代幣的交易量越大,獎勵的 ETH 越多。

Fren Pet合約分析

Fren Pet 的主合約地址為0x85b157EbaAF289De5301aE6694B651BF3b8df1C3,其 NFT 合約地址為0x5b51Cf49Cb48617084eF35e7c7d7A21914769ff1,其代幣合約地址為0xFF0C532FDB8Cd566Ae169C1CB157ff2Bdc83E105,本次我們通過 Beosin VaaS 工具掃描該合約,結合 Beosin 安全審計專家的分析,發現其合約存在以下潛在的安全風險:

GameFi新秀登場:從安全視角看全鏈遊戲Fren PetBeosin VaaS

Fren Pet 主合約

Fren Pet 主合約主要負責上述提到的遊戲內容和獎勵分發。以下是提升其合約安全性的建議:

1. 添加 nonReentrant 修飾符

在合約的 redeem 和 kill 函數中,開發者應該確認函數無重入攻擊的風險。建議使用 openzeppelin 防重入合約的 nonReentrant 修飾符以避免重入攻擊。

GameFi新秀登場:從安全視角看全鏈遊戲Fren Pet

2. 使用安全的隨機數生成器

Fren Pet 主合約使用的隨機數是由區塊和 sender 地址生成的,更為安全的做法是使用類似 Chainlink 的 Verifiable Random Function 生成可靠公平的隨機數。

GameFi新秀登場:從安全視角看全鏈遊戲Fren Pet

3. 注意訪問控製

Fren Pet 主合約使用 isApproved 修飾符來控製調用者是否有權限調用函數,這需要開發者非常熟悉其項目業務邏輯並確認權限不會被繞過。在 Fren Pet V2 合約中,訪問控製問題也依然需要重視。

Fren Pet NFT 合約

Fren Pet NFT 合約整體結構如下所示:

GameFi新秀登場:從安全視角看全鏈遊戲Fren Pet

FrenpetNFT 合約繼承 ERC721,負責 NFT 的鑄造和銷毀,IRenderer 負責處理 Fren Pet NFT 的 metadata。建議在其 setRenderer 和 setMinter 兩個函數被調用時發出事件,以便外部監聽並追蹤相關信息的轉移情況。

GameFi新秀登場:從安全視角看全鏈遊戲Fren Pet

Fren Pet 代幣合約

1. 中心化風險

該代幣合約有多個 onlyOwner 的函數,如 blacklist 函數和 updateBuyFees 函數。這些函數可以對代幣的交易造成巨大的影響。合約的所有者可以修改交易費用,阻止用戶買入或賣出,添加地址黑名單:

GameFi新秀登場:從安全視角看全鏈遊戲Fren Pet

2. 缺少時間鎖

Fren Pet 代幣合約冇有時間鎖,以限製合約持有者的操作權限。雖然合約中的一些函數如 withdrawStuckToken(),updateSwapEnabled() 可以讓合約持有者在緊急情況下對合約采取措施,保護用戶資產,但缺乏時間鎖可能會讓這些函數被濫用。在此情況下,用戶和安全公司對合約持有者的操作冇有足夠的反應時間。

警惕釣魚風險!

除了合約風險外,由於 Fren Pet 的火熱,相關釣魚網站和社交賬號也是層出不窮。提醒廣大用戶切勿點擊虛假鏈接,比如通過從穀歌搜索出來的鏈接,最好再通過其它社交平台進行二次驗證。此類虛假賬戶往往發布推文稱目前已經開放相關代幣空投,誘導用戶進入釣魚網站。

GameFi新秀登場:從安全視角看全鏈遊戲Fren PetFren Pet 釣魚網站

用戶需謹記一些防釣魚技巧,儘量避免自己被釣魚詐騙,或者可以考慮安裝 Beosin Alert 防釣魚插件,幫助自己識彆釣魚網站。

GameFi新秀登場:從安全視角看全鏈遊戲Fren Pet

下載鏈接:https://chromewebstore.google.com/detail/beosin-alert/lgbhcpagiobjacpmcgckfgodjeogceji

總結

Fren Pet 合約冇有明顯的業務邏輯漏洞,但合約的中心化風險明顯,部分代碼有更為安全的實現,以提升其合約的安全性。在此之前市場出現過多次GameFi、SocialFi的熱潮,普通用戶易產生FOMO情緒,盲目掉入釣魚陷阱。用戶需認清Fren Pet隻是兩位開發者在Web3領域的一次嘗試,用戶應當做好資金管理和項目調研,理性參與。

相关内容
下载Coinglass APP
获得更好、更全面的用户体验