
Comme une « gale Web3 » à propagation virale : regarder le projet xPet récemment viralisé sous l'angle de la sécurité
TechFlow SélectionTechFlow Sélection

Comme une « gale Web3 » à propagation virale : regarder le projet xPet récemment viralisé sous l'angle de la sécurité
Analyse des risques de sécurité du projet xPet en un article.
Rédaction : Beosin
Récemment, un jeu sur chaîne nommé xPet est devenu viral sur la plateforme Twitter. Certains décrivent ce projet comme une « gale Web3 » se propageant de manière virale, avec une croissance rapide du nombre de followers et d'utilisateurs. xPet est un projet précoce combinant jeu et fonctionnalités sociales qui, en seulement deux semaines depuis son lancement, a attiré massivement l'attention des utilisateurs. Grâce au redémarrage du secteur GameFi et à la conception mécanique de xPet, le projet a déjà accumulé 2785 ETH (environ 6,58 millions de dollars) en dépôts, devenant ainsi un projet récemment très surveillé.
En parallèle, les problèmes de sécurité associés ne doivent pas être négligés. Afin d'aider les utilisateurs à comprendre les risques potentiels, l'équipe de sécurité Beosin procède aujourd'hui à une analyse détaillée des mécanismes de conception et du code des contrats de xPet, afin de révéler les vulnérabilités présentes.
Analyse des mécanismes de xPet
xPet est un jeu de compagnon numérique basé sur Arbitrum, dont le gameplay s’inspire de Tipcoin et du populaire Fren Pet sur la blockchain Base, permettant aux joueurs d'améliorer leurs animaux virtuels pour générer des revenus. La particularité de xPet par rapport à des projets similaires réside dans sa distribution sous forme d'extension de navigateur, avec une connexion via Twitter, et toutes les tâches liées aux récompenses sont entièrement liées à Twitter.

Site officiel : https://www.xpet.tech/
Actuellement, le jeu consiste principalement à nourrir son animal, améliorer ses usines et accomplir des missions sur Twitter pour obtenir des coffres. Pour participer à xPet, les utilisateurs doivent d'abord faire monter leur animal de compagnie au niveau 7, car c'est seulement à partir de ce niveau que l'animal peut produire du $Berry. Le $Berry peut ensuite être converti en $BPET dans l'usine pour générer des profits. L'amélioration de l'animal nécessite le paiement avec l'un des deux jetons natifs de xPet : $XPET ou $BPET. Au démarrage du jeu, les utilisateurs doivent déposer de l'ETH en garantie pour emprunter du $XPET (le $XPET et le $BPET étant interchangeables à 1:1), ou acheter du $XPET via le pool de trading XPET-ETH. Le système économique du jeu est illustré ci-dessous :

source : Beosin
Analyse des contrats de xPet
Le contrat principal de xPet est un contrat évolutif conforme à la norme ERC1967.
Son contrat proxy se trouve à l'adresse
0x1B0D12879960A768D02bd223ef735D4231a15348,
et son contrat logique à l'adresse
0xcD4420B70e2669De8dE9d62dd7fEa4D19b320768.
L'adresse du contrat du jeton $XPET est
0x00cbcf7b3d37844e44b888bc747bdd75fcf4e555
L'adresse du contrat du jeton $BPET est
0x6daf586b7370b14163171544fca24abcc0862ac5
Lors de notre analyse, nous avons utilisé l'outil Beosin VaaS pour scanner ces contrats, complété par l'expertise en audit de sécurité de Beosin, et identifié les risques de sécurité potentiels suivants :

Beosin VaaS
Contrat principal de xPet
Le contrat principal de xPet gère principalement la logique d'emprunt entre ETH et $XPET. Toutefois, il s'agit d'un contrat évolutif dont le contrat logique n'a pas été rendu public par l'équipe du projet. Par conséquent, il est impossible de vérifier si le contrat logique contient des erreurs ou des risques potentiels.

Pour la sécurité des contrats évolutifs, Beosin recommande :
1. Initialisation du contrat et des dépendances
Les développeurs peuvent oublier d'initialiser le contrat ou ses dépendances lors du déploiement, ce qui pourrait entraîner de graves vulnérabilités.
2. Attention aux conflits de stockage
La modification du stockage lors d'une mise à jour du contrat peut provoquer des conflits entre différentes versions, où différentes variables pointent vers la même position de stockage, entraînant des erreurs de données ou des pertes de fonds.
3. Gestion des permissions
Il est essentiel de restreindre strictement les permissions de mise à jour du contrat afin d'empêcher qu'un attaquant n'en prenne le contrôle.
Contrat du jeton $XPET
Le contrat du jeton $XPET hérite des standards ERC20 et AccessControl, et présente les risques potentiels suivants :
1. Risque de centralisation
Le contrat attribue au déployeur le rôle d'administrateur, créant ainsi un point de contrôle centralisé. Si le compte du déployeur est compromis, cela pourrait entraîner de graves conséquences.
2. Accessibilité du jeton
Étant donné que tous les jetons sont frappés initialement pour le compte du contrat lui-même, les seuls moyens de transférer les jetons sont les fonctions withdraw et convert. Cette conception concentre fortement la liquidité des jetons.

3. Absence d’événements pour les fonctions withdraw et convert
Il est recommandé d'ajouter des événements à ces deux fonctions lorsqu'elles sont appelées, afin de permettre une surveillance externe et un suivi des transactions.
Contrat du jeton $BPET
Similaire au contrat $XPET, ce contrat comporte également des points critiques non négligeables :
1. Risque de centralisation
Ce contrat attribue au déployeur les rôles d'administrateur et de minter, concentrant ainsi tout le pouvoir entre ses mains. En cas de compromission de cette adresse, de graves risques de sécurité pourraient survenir.

2. Frappe illimitée
La fonction convert ne limite pas la quantité de jetons pouvant être frappés. Si le déployeur décide de frapper massivement des jetons pour les vendre, cela pourrait entraîner une chute drastique du prix du jeton.

Alerte EagleEye sur le risque de frappe de BPET
3. Gestion des rôles
Le contrat ne permet pas de révoquer ni de transférer les rôles. Si un changement de propriété ou la suppression du minter devenait nécessaire, cela poserait un problème de sécurité potentiel.
Autres risques
Outre les risques contractuels, xPet oblige les utilisateurs à publier des commentaires sur Twitter contenant le mot « xPet » afin d'obtenir des récompenses. Cela a déjà engendré un grand nombre de publications inutiles sur Twitter, suscitant l'irritation de nombreux utilisateurs de la plateforme.
La politique des développeurs de Twitter interdit expressément l'utilisation de produits développés autour de Twitter pour générer du spam. Si xPet venait à être banni par Twitter, toute son activité de jeu serait immédiatement suspendue.

Politique des développeurs Twitter :
https://developer.twitter.com/en/developer-terms/policy
Conclusion
Lecontrat logique principal de xPet n'est pas open source, les deux contrats de jetons présentent des risques évidents de centralisation, et aucune restriction particulière n’est appliquée concernant la création de nouveaux jetons. Les utilisateurs doivent donc être attentifs à ces risques. Certaines parties du code pourraient encore être améliorées pour renforcer la sécurité. Par le passé, plusieurs vagues d'enthousiasme ont déjà balayé les secteurs GameFi et SocialFi. Les utilisateurs doivent donc bien gérer leurs fonds et effectuer une recherche approfondie sur chaque projet avant de participer rationnellement, après avoir pleinement compris les risques associés.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News













