Bitget App
Trade smarter
行情交易合约跟单策略理财Web3

像 Web3「牛皮癣」病毒式传播,从安全视角看近期刷屏的 xPet 项目

BeosinBeosin2023/12/12 10:33
作者:Beosin
一文解析 xPet 项目的安全风险。


撰文:Beosin


最近,一款名为 xPet 的链游在推特平台上迅速走红,有人形容这个项目像 Web3「牛皮癣」般病毒式传播,其关注人数和用户数也呈现快速增长的趋势。xPet 是一款结合游戏和社交的早期项目,在仅仅上线两周的时间就吸引了大量用户的注意力。得益于 GameFi 赛道的回暖和 xPet 的机制设计,xPet 目前存入了 2785 个 ETH(约 658 万美元),成为近期备受关注的项目。


同时,与之相关的安全问题同样不可忽视,为了帮助用户了解其中的潜在风险,Beosin 安全团队今天将对 xPet 的设计机制和合约代码进行详细分析,揭示其中存在的安全隐患。


xPet 机制分析


xPet 是一款基于 Arbitrum 构建的宠物游戏,其玩法结合了 Tipcoin 与此前在 Base 链爆火的 Fren Pet,通过喂养宠物进行升级、获利。xPet 与此前类似项目的不同点在于 xPet 是以浏览器插件形式推出的,通过绑定推特进行登录,后续的游戏奖励任务也是与推特完全绑定。


官网: https://www.xpet.tech/


目前的游戏内容主要为喂养宠物、升级工厂、刷推特做任务获得宝箱。参与 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 的热潮,用户应当做好资金管理和项目调研,在充分了解项目的风险后理性参与

0

免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。

PoolX:质押赚新币
CEC、QTLX、GDV等热门新币火热进行中!
立即质押!

你也可能喜欢

鲍威尔兑现华尔街最想要的降息!但市场依旧疑虑重重

周三几乎所有主要资产都出现下跌,虽然跌幅并不大,但自2021年6月以来,美联储政策决议后市场从未出现过如此一致的回调。

Jin102024/09/20 20:09

美联储本次是“鹰派降息”?未来关键或在于鲍威尔会有多鸽!

花旗预计美联储将在11月再降息50个基点,并在12月降息25个基点。

Jin102024/09/20 20:09

美联储降息后,特朗普怒喷:这是在操控政治!

美联储的降息举措已经在两党之间产生巨大反响,哈里斯“点赞”,特朗普认为美联储居心叵测。

Jin102024/09/20 20:09

FBI:伊朗黑客一直在干预美国大选!

伊朗黑客据称窃取了特朗普的竞选材料,并发送给之前的拜登竞选团队。伊朗反驳:毫无根据!

Jin102024/09/20 20:09