
像 Web3「牛皮癬」病毒式傳播,從安全視角看近期刷屏的 xPet 項目
TechFlow Selected深潮精選

像 Web3「牛皮癬」病毒式傳播,從安全視角看近期刷屏的 xPet 項目
一文解析 xPet 項目的安全風險。
撰文:Beosin
最近,一款名為 xPet 的鏈遊在推特平臺上迅速走紅,有人形容這個項目像 Web3「牛皮癬」般病毒式傳播,其關注人數和用戶數也呈現快速增長的趨勢。xPet 是一款結合遊戲和社交的早期項目,在僅僅上線兩週的時間就吸引了大量用戶的注意力。得益於 GameFi 賽道的回暖和 xPet 的機制設計,xPet 目前存入了 2785 個 ETH(約 658 萬美元),成為近期備受關注的項目。
同時,與之相關的安全問題同樣不可忽視,為了幫助用戶瞭解其中的潛在風險,Beosin 安全團隊今天將對 xPet 的設計機制和合約代碼進行詳細分析,揭示其中存在的安全隱患。
xPet 機制分析
xPet 是一款基於 Arbitrum 構建的寵物遊戲,其玩法結合了 Tipcoin 與此前在 Base 鏈爆火的 Fren Pet,通過餵養寵物進行升級、獲利。xPet 與此前類似項目的不同點在於 xPet 是以瀏覽器插件形式推出的,通過綁定推特進行登錄,後續的遊戲獎勵任務也是與推特完全綁定。

目前的遊戲內容主要為餵養寵物、升級工廠、刷推特做任務獲得寶箱。參與 xPet 的遊戲用戶首先需要將自己的寵物升級,因為寵物的等級需要到達 7 級才能生產 $Berry,$Berry 可以在工廠中轉換成 $BPET 進行獲利。而升級寵物需要支付 xPet 的兩種代幣中的一種:$XPET 或者 $BPET,在遊戲初始時,用戶需要存入 ETH 進行抵押,借出 $XPET($XPET 與 $BPET 可以進行 1:1 的轉換)或者在 XPET-ETH 交易池購買 $XPET。其遊戲經濟系統的設計如下圖所示:

source: Beosin
xPet 合約分析
xPet 的主合約為 ERC1967 可升級合約。
其代理合約地址為
0x1B0D12879960A768D02bd223ef735D4231a15348,
其邏輯合約地址為
0xcD4420B70e2669De8dE9d62dd7fEa4D19b320768。
$XPET 代幣合約地址為
0x00cbcf7b3d37844e44b888bc747bdd75fcf4e555
$BPET 代幣合約地址為
0x6daf586b7370b14163171544fca24abcc0862ac5
本次我們通過 Beosin VaaS 工具掃描該合約,結合 Beosin 安全審計專家的分析,發現 xPet 相關合約存在以下潛在的安全風險:

Beosin VaaS
xPet 主合約
xPet 主合約主要負責 ETH 與 $XPET 的借貸邏輯,但主合約為可升級合約,項目方並未對該可升級合約中的邏輯合約進行開源,無法檢測其邏輯合約是否有邏輯錯誤或潛在風險。

對於可升級合約的安全,Beosin 建議:
1. 初始化合約與依賴項
開發者可能會在部署合約時忘記初始化合約和依賴項,導致合約存在嚴重漏洞。
2. 注意存儲衝突
升級合約時修改存儲可能會導致不同版本合約之間的存儲衝突,不同的變量可能指向同一存儲位置,導致數據錯誤和資金損失。
3. 注意權限
開發者需對合約的升級權限進行限制,避免攻擊者獲得合約升級的控制權。
$XPET 代幣合約
$XPET 代幣合約繼承 ERC20 和 AccessControl 合約,有以下潛在風險:
1. 中心化風險
合約將部署者設置為管理角色,這是一箇中心控制點。如果部署者的帳戶遭到洩露,這將會帶來巨大風險。
2. 代幣可訪問性
由於合約將所有代幣鑄造給自己,因此調用 withdraw 函數和 convert 函數是將代幣轉移的唯一方法。這種設計集中了代幣的流動。

3. 合約未對 withdraw 和 convert 兩個函數設置事件
建議這兩個函數設置為被調用時發出事件,以便進行外部監聽並追蹤相關信息。
$BPET 代幣合約
與 $XPET 代幣合約類似,其單點風險不容忽視:
1. 中心化風險
該代幣合約將合約部署者設置為管理員和鑄造者,這將權力集中在部署者手中,如果部署者的地址遭到洩露,這可能會帶來嚴重的安全風險。

2. 鑄造無上限
convert 函數對可鑄造的代幣數量沒有限制。 如果部署者決定鑄造過多的代幣賣出獲利,這將會導致代幣價格暴跌。

EagleEye 對於 BPET 鑄幣風險提醒
3. 角色管理
合約未實現撤銷或轉移角色的功能。如果合約需要轉移所有權或鑄幣者因任何原因需要被移除,這可能會成為潛在的安全問題。
其它風險
除了合約風險外,由於 xPet 需要用戶在推特進行帶有「xPet」文字的評論才能獲得遊戲獎勵,目前推特中已出現大量包含 xpet 的無關回帖,引發眾多推特博主的不滿。
推特的開發者協議規定禁止使用推特相關開發者產品產生垃圾信息。如果 xPet 被推特禁用,目前其遊戲玩法將徹底暫停。

推特開發者協議:
https://developer.twitter.com/en/developer-terms/policy
總結
xPet 項目的核心邏輯合約未開源,兩種代幣的合約中心化風險明顯,對於鑄造新代幣未進行特別的權限限制,用戶需要注意相關風險。部分合約代碼可以進一步提升安全性。在此之前,市場已出現過多次 GameFi、SocialFi 的熱潮,用戶應當做好資金管理和項目調研,在充分了解項目的風險後理性參與。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News














