Fren Pet の現在のゲームは、ペットのミント、ペットの餌やり、他のユーザーとのペットバトル、運命の輪、サイコロの転がしで構成されています。 フレンペットに参加したゲームユーザーは、まずペット(NFT)をミントする必要があり、各ペットは100FPトークンをミントしてミントする必要があり(他のユーザーがその後ペットをミントした場合、使用済みのFPはユーザーに返還されます)、その後、ユーザーはFPトークンを支払ってリンゴ、コーヒー、その他の小道具を購入してペットに餌をやる必要があります。
Fren Pet 主契約では、isApproved 修飾子を使用して、呼び出し元が関数を呼び出すアクセス許可を持っているかどうかを制御するため、開発者はプロジェクトのビジネス ロジックに精通し、アクセス許可がバイパスされないことを確認する必要があります。 Fren Pet V2 契約では、アクセス制御の問題に注意を払う必要があります。
####フレンペットNFT合约
Fren Pet NFT契約の全体的な構造は次のとおりです。
FrenpetNFTコントラクトはERC721を継承し、NFTの鋳造と書き込みを担当し、IRendererはFren Pet NFTのメタデータの処理を担当します。 setRenderer 関数と setMinter 関数が呼び出されたときにイベントを発行して、外部が関連情報の転送をリッスンして追跡できるようにすることをお勧めします。 **
GameFiルーキーがデビュー:セキュリティの観点からのフルチェーンゲームであるFren Pet
Friend.tech ブームが収まった後、2人の開発者によって構築されたブロックチェーンベースのブロックチェーンゲームであるFren Petが市場の注目を集めました。 11月19日から20日にかけて、Baseの公式な注目とFren Petのソーシャルフィッションのゲームプレイのおかげで、Fren Petはソーシャルメディアで人気を博し、GameFiのルーキーになりました。
フレンペットのユーザー数は急速に増加していますが、安全面は妨げられていません。 本日、Beosinセキュリティチームは、潜在的なリスクを理解するために、Fren Petの設計メカニズムと契約コードを分析します。
フレンペットのメカニズム解析
Fren Pet の現在のゲームは、ペットのミント、ペットの餌やり、他のユーザーとのペットバトル、運命の輪、サイコロの転がしで構成されています。 フレンペットに参加したゲームユーザーは、まずペット(NFT)をミントする必要があり、各ペットは100FPトークンをミントしてミントする必要があり(他のユーザーがその後ペットをミントした場合、使用済みのFPはユーザーに返還されます)、その後、ユーザーはFPトークンを支払ってリンゴ、コーヒー、その他の小道具を購入してペットに餌をやる必要があります。
ペットポイントはペットに餌をやることで付与され、ポイントが高いほどより多くのETH報酬が得られ、ETH報酬はFPトークンの取引税から得られ、取引ごとに5%の税金がかかり、2%がゲーマーに分配されます。 したがって、参加するユーザーが多ければ多いほど、FPトークンの需要が高まり、FPトークンの取引量が増え、より多くのETHが報酬を得ることができます。
フレンペット契約分析
Fren Petのメインコントラクトアドレスは0x85b157EbaAF289De5301aE6694B651BF3b8df1C3、NFTコントラクトアドレスは0x5b51Cf49Cb48617084eF35e7c7d7A21914769ff1、トークンコントラクトアドレスは0xFF0C532FDB8Cd566Ae169C1CB157ff2Bdc83E105 Beosin VaaS ツールは、Beosin のセキュリティ監査専門家の分析と組み合わせて契約をスキャンし、契約には次の潜在的なセキュリティリスクがあることを発見しました。
フレンペット主契約
フレンペットの主契約は、上記のゲームコンテンツと報酬の分配を主に担当します。 ここでは、コントラクトのセキュリティを向上させるための提案をいくつか紹介します。
1. 非再入可能修飾子を追加
コントラクトの redeem 関数と kill 関数では、開発者は、関数が再入攻撃のリスクにさらされていないことを確認する必要があります。 再入攻撃を回避するために、openzeppelin アンチリエントラントコントラクトの nonReentrant 修飾子を使用することをお勧めします。
2. 安全な乱数発生器を使用する
Fren Petのメインコントラクトで使用されるノンスは、ブロックと送信者アドレスから生成され、Chainlinkのような検証可能なランダム関数を使用して、信頼性が高く公正なノンス番号を生成する方が安全です。
3. アクセス制御に注意を払う
Fren Pet 主契約では、isApproved 修飾子を使用して、呼び出し元が関数を呼び出すアクセス許可を持っているかどうかを制御するため、開発者はプロジェクトのビジネス ロジックに精通し、アクセス許可がバイパスされないことを確認する必要があります。 Fren Pet V2 契約では、アクセス制御の問題に注意を払う必要があります。
####フレンペットNFT合约
Fren Pet NFT契約の全体的な構造は次のとおりです。
FrenpetNFTコントラクトはERC721を継承し、NFTの鋳造と書き込みを担当し、IRendererはFren Pet NFTのメタデータの処理を担当します。 setRenderer 関数と setMinter 関数が呼び出されたときにイベントを発行して、外部が関連情報の転送をリッスンして追跡できるようにすることをお勧めします。 **
フレンペットトークン契約
1. 中央集権化リスク
トークンコントラクトには、blacklist関数やupdateBuyFees関数など、複数のonlyOwner関数があります。 これらの機能は、トークンの取引に大きな影響を与える可能性があります。 コントラクトの所有者は、取引手数料を変更したり、ユーザーの売買をブロックしたり、アドレスブラックリストを追加したりできます。
2. タイムロックの欠落
Fren Petトークンコントラクトには、コントラクト所有者の操作権を制限するためのタイムロックがありません。 withdrawStuckToken() や updateSwapEnabled() など、コントラクト内の一部の関数では、コントラクト所有者が緊急時にコントラクトに対してアクションを起こしてユーザーの資産を保護できますが、タイムロックがないと、これらの関数が悪用される可能性があります。 この場合、ユーザーと警備会社は、契約者の行動に対応するのに十分な時間がありません。
フィッシングのリスクに注意!
契約リスクに加えて、Fren Petの人気により、関連するフィッシングWebサイトやソーシャルメディアアカウントも後を絶ちません。 Google検索からのリンクなどの偽のリンクをクリックしないようにユーザーに注意喚起し、二次検証のために他のソーシャルプラットフォームを経由するのが最善です。 このような偽アカウントは、ユーザーをフィッシングWebサイトに誘い込むために、関連するトークンのエアドロップが開かれたとツイートすることがよくあります。
フィッシングサイトを特定するために、フィッシング対策のヒントを覚えておくか、フィッシングを回避するか、Beosin Anti-Phishing プラグインのインストールを検討してください。 **
ダウンロードリンク:
まとめ
Fren Pet コントラクトには明らかなビジネス ロジックの脆弱性はありませんが、コントラクトの集中化のリスクは明らかであり、一部のコードには、コントラクトのセキュリティを向上させるためのより安全な実装があります。 これに先立ち、市場ではGameFiやSocialFiが大流行しており、一般ユーザーはFOMO感情に陥りやすく、やみくもに釣りの罠に陥りがちです。 ユーザーは、Fren PetがWeb3分野の2人の開発者による試みに過ぎないことを認識し、ユーザーは資金管理とプロジェクト調査をうまく行い、合理的に参加する必要があります。