header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

在推特病毒式傳播的xPET,合約代碼真的安全嗎?

閱讀本文需 12 分鐘
xPET爆火的背後,其設計機制和合約程式碼有哪些安全漏洞?
原文標題:《Analyzing the Viral Spread of xPetin the Web3 Space: A Security Perspective on the Recent Buzz》
原文作者:Beosin
原文編譯:Luccy,BlockBeats


編按:
近日,xPET 代幣XPET 上漲引發社區熱議,這不僅得益於代幣登陸CEX 的利好以及與OKX 合作的推進,也受官方更新的白皮書內容影響。 12 月 28 日,XPET 迎來了新高。根據 Bitget 行情數據,XPET 突破 3 美元,較開盤價漲幅超 200%。

Beosin 是一家區塊鏈安全公司,目前已審計了超過3000 個智慧合約專案,幫助來自以太坊、EVM 相容鏈、Solana、Near 、EOS、aelf 等區塊鏈平台發現並修復了多個中高風險安全漏洞。 Beosin 在本文中深入分析了xPET 在Web3 領域的病毒傳播現象,從安全的角度審視了xPET 專案的核心邏輯合約、代幣合約及其潛在風險,BlockBeats 將原文編譯如下:


最近,在Twitter 平台上,一款名為xPET 的基於區塊鏈的遊戲迅速走紅。有人形容這個項目像是一種「Web3 病毒」,迅速增加了追蹤者和用戶數量。 xPET 是一個早期的項目,結合了遊戲和社交元素,在推出僅兩週內就引起了巨大關注。由於 GameFi 行業的復甦和 xPET 獨特的機制,該項目在最近成為了備受矚目的話題,吸引了 2785 ETH(約 650 萬美元)的存款。


然而,與之相關的安全問題不容忽視。為了幫助使用者了解潛在的風險,Beosin 安全團隊將對 xPET 的設計機制和合約程式碼進行詳細分析,揭示其中存在的安全漏洞。


xPET 機制分析


xPET 是一款建立在 Arbitrum 上的寵物遊戲,結合了 Tipcoin 和先前在 Base 鏈上廣受歡迎的 Fren Pet 的元素。遊戲玩法涉及透過餵養寵物進行升級和盈利。 xPET 的獨特之處在於它採用了瀏覽器插件的形式,要求透過 Twitter 身份驗證進行登錄,並在隨後的遊戲獎勵任務中實現與 Twitter 的完全整合。


https://www .xPET.tech/


目前,遊戲內容主要圍繞著餵養寵物、升級工廠以及完成Twitter 任務以獲取寶箱。玩家必須將寵物升級到第 7 級,以生產 Berry,這可以轉換為 BPET 以獲取利潤。升級寵物需要支付 xPET 的兩個代幣之一,即 xPET 或 BPET。使用者最初需要以 ETH 作為抵押,借入 xPET(可與 BPET 以 1:1 兌換),或從 xPET-ETH 交易池購買 xPET。遊戲的經濟系統設計如下圖所示:


資料來源:Beosin


xPET 合約分析


xPET 的主要合約是一個ERC1967 可升級合約。


代理合約位址為: 0x1B0D12879960A768D02bd223ef735D4231a15348,


邏輯合約位址為:420xc6D 0768。


xPET 代幣合約位址為: 0x00cbcf7b3d37844e44b888bc747bdd75fcf4e555,


$$XPET 代幣合約地址0x00cbcf7b3d37844e44b888bc747bdd75fcf4e555,$$BPET 代幣合約位址為: 0x6daf586b7370b14163171544fca24abcc00862ac5。


透過Beosin VaaS 工具和Beosin 安全審計專家的分析,已經識別出xPET 相關合約中的潛在安全風險:


https://vaas.beosin.com/


xPET 主合約


主合約負責處理ETH 和xPET 的借貸邏輯。然而,由於主合約是可升級合約,且專案未公開此可升級合約中的邏輯合約,因此無法偵測邏輯合約中潛在的邏輯錯誤或風險。



可升級合約的在安全性方面,Beosin 提出以下建議:


初始化合約和依賴項,開發者在部署過程中可能忽略對合約和依賴項的初始化,從而導致嚴重的漏洞。


解決位址儲存衝突,在合約升級過程中修改儲存可能導致不同版本之間的衝突,引發資料錯誤和財務損失。


管理權限,開發者應限制升級權限,以防止攻擊者掌控合約升級。


xPET 代幣合約


xPET 代幣合約繼承了ERC20 和AccessControl 合約,存在潛在風險:


中心化風險,該合約將部署者指定為管理員角色,形成一個中心化的控制點。攻擊部署者的帳戶會帶來重大風險。


代幣可訪問性,該合約集中了代幣流動,因為所有代幣都被鑄造到合約自身。這種設計使得代幣流動變得中心化。



提款與轉換功能缺乏事件,在呼叫這些功能時應發出事件,以進行外部監控和追蹤。


BPET 代幣合約


xPET 代幣合約類似,BPET 代幣合約存在一個無法忽視的單點風險:


中心化風險,該合約將部署者指定為管理員和鑄造者,集中了權力。攻擊部署者的位址可能導致嚴重的安全風險。



無上限鑄幣


轉換功能缺乏可鑄幣數量的限制。如果部署者決定過度鑄造代幣以尋求利潤,可能導致代幣價格急劇下跌。



角色管理,合約缺乏吊銷或轉移角色的功能,如果需要進行所有權轉移或移除鑄造者,可能存在潛在的安全問題。


其他風險


除了合約風險之外,xPET 還面臨與Twitter 上的垃圾資訊有關的問題。由於 xPET 要求用戶在 Twitter 上發布帶有“xPET”一詞的評論以賺取遊戲獎勵,導致出現了大量無關的帖子包含“xPET”,引起了許多 Twitter 用戶的不滿。


Twitter 的開發者協議禁止使用與 Twitter 相關的開發者產品產生垃圾訊息。如果 Twitter 停用了 xPET,其依賴 Twitter 整合的遊戲玩法將完全停止。


https://developer.twitter.com/en/developer-terms/policy


結論


xPET 專案的核心邏輯合約仍然是封閉原始碼,而且兩個代幣合約都存在明顯的中心化風險。使用者應注意相關風險,而透過一些合約代碼的改進可以提高安全性。在此之前,市場已經見證了 GameFi 和 SocialFi 的多個趨勢。建議用戶明智管理資金,並在充分了解專案風險後以理性的方式參與。


「原文連結」


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交