從安全視角看全鏈遊戲 Fren Pet

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

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

Fren Pet機制分析

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

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

Fren Pet合約分析

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

貝奧辛 VaaS

Fren Pet 主合約

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

1 添加 nonReentrant 修飾符

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

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

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

3 注意訪問控制

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

####Fren Pet NFT 合約

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

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

Fren Pet 代幣合約

1 中心化風險

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

2 缺少時間鎖

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

警惕釣魚風險!

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

Fren Pet 釣魚網站

使用者需謹記一些防釣魚技巧,**盡量避免自己被釣魚詐騙,或者可以考慮安裝 Beosin 防釣魚外掛程式,説明自己識別釣魚網站。 **

下載連結:

總結

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

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)