
xPetプロジェクトが最近話題を呼んでいるが、その流行はまるでWeb3の「たこ」のようにウイルス的に広がっている。セキュリティの観点からこの現象を考察する。
TechFlow厳選深潮セレクト

xPetプロジェクトが最近話題を呼んでいるが、その流行はまるでWeb3の「たこ」のようにウイルス的に広がっている。セキュリティの観点からこの現象を考察する。
xPetプロジェクトのセキュリティリスクを一文で解説。
執筆:Beosin
最近、Twitterプラットフォーム上で「xPet」という名のブロックチェーンゲームが急速に注目を集めています。このプロジェクトはWeb3の「たんこぶ」のようにウイルス式に広がり、フォロワーやユーザー数も急増しています。xPetはゲームとソーシャルを組み合わせた初期段階のプロジェクトで、わずか2週間のリリース期間にもかかわらず多くのユーザーの注目を集めました。GameFi分野の回復とxPetのメカニズム設計のおかげで、現在xPetには2785ETH(約658万ドル)が預け入れられており、近ごろ話題のプロジェクトとなっています。
同時に、関連するセキュリティ問題も無視できません。ユーザーが潜在的なリスクを理解できるよう支援するために、本日BeosinセキュリティチームはxPetの設計メカニズムおよびコントラクトコードを詳細に分析し、そこに存在するセキュリティ上の懸念を明らかにします。
xPet メカニズム分析
xPetはArbitrum上に構築されたペットゲームで、Tipcoinと以前Baseチェーンで人気を博したFren Petの要素を取り入れており、ペットの育成を通じてレベルアップや収益獲得が可能です。xPetはこれまでの類似プロジェクトとの違いとして、ブラウザ拡張機能の形でリリースされ、Twitterアカウントとの紐付けでログインし、今後のゲーム報酬タスクも完全にTwitterと連携しています。

公式サイト: https://www.xpet.tech/
現在のゲームコンテンツは主にペットの世話、工場のレベルアップ、Twitterでのタスク実行による宝箱獲得です。xPetに参加するユーザーはまず自分のペットをレベルアップさせる必要があります。なぜなら、$Berryを生産するにはペットのレベルが7以上である必要があるためです。$Berryは工場で$BPETに変換され、利益を得ることができます。ペットのレベルアップにはxPetの2種類のトークンのいずれか、すなわち$XPETまたは$BPETを支払う必要があります。ゲーム開始時にユーザーはETHを預けて担保とし、$XPETを借り出す($XPETと$BPETは1:1で相互に変換可能)か、あるいはXPET-ETH取引プールで$XPETを購入する必要があります。そのゲーム経済システムの設計は以下の通りです:

出典: 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はTwitter上で「xPet」という文字を含むコメントを投稿することでゲーム報酬を得る仕組みのため、現在Twitter上には大量の関係ないxpet付きリプライが出現しており、多くのTwitter投稿者から不満が寄せられています。
Twitterの開発者規約では、Twitter関連の開発者製品を使ってスパム情報を生成することを禁止しています。もしxPetがTwitterによって利用停止処分を受けた場合、現行のゲームプレイは完全に停止します。

Twitter開発者規約:
https://developer.twitter.com/en/developer-terms/policy
まとめ
xPetプロジェクトは主要なロジックコントラクトがオープンソースになっておらず、2つのトークンコントラクトには明確な中央集権化リスクがあり、新規トークンの鋳造に対して特別な権限制限が設けられていない点に注意が必要です。一部のコントラクトコードはさらにセキュリティを高める余地があります。これまでにも市場では何度もGameFiやSocialFiのブームがありました。ユーザーは資産管理とプロジェクト調査をしっかり行い、プロジェクトのリスクを十分に理解した上で冷静に参加することが重要です。
TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














