Depois que a mania Friend.tech diminuiu, Fren Pet, um jogo de blockchain baseado em blockchain construído por dois desenvolvedores, chamou a atenção do mercado. De 19 a 20 de novembro, graças à atenção oficial da Base e à jogabilidade da fissão social de Fren Pet, Fren Pet tornou-se popular nas redes sociais e se tornou um novato da GameFi.
Embora o número de usuários do Fren Pet esteja crescendo rapidamente, o aspeto de segurança permanece desobstruído. **Hoje, a equipe de segurança da Beosin analisará o mecanismo de design e o código de contrato da Fren Pet para ajudá-lo a entender os riscos potenciais. **
Análise do Mecanismo Fren Pet
O conteúdo atual do jogo de Fren Pet é cunhagem de animais de estimação, alimentação de animais de estimação, batalhas de animais de estimação contra outros usuários, rodas da sorte e rolagem de dados. Os usuários do jogo que participam do Fren Pet primeiro precisam cunhar animais de estimação (NFTs), e cada animal de estimação precisa gastar 100 tokens FP para cunhar (se outros usuários posteriormente cunharem animais de estimação, o FP gasto será devolvido ao usuário), e então os usuários precisam pagar tokens FP para comprar maçãs, café e outros adereços para alimentar seus animais de estimação para evitar o TOD (Countdown to Death) do animal de estimação a zero, ou seja, o NFT mantido será automaticamente destruído.
Os Pet Points são concedidos para alimentar animais de estimação, quanto maiores os pontos, mais recompensas ETH você recebe, e as recompensas ETH vêm do imposto de transação sobre tokens FP, que está sujeito a um imposto de 5% sobre cada transação e 2% é distribuído aos jogadores. Portanto, quanto mais usuários participarem, mais demanda por tokens FP, maior será o volume de negociação de tokens FP e mais ETH será recompensado.
Análise de Contrato Fren Pet
O endereço de contrato principal da Fren Pet é 0x85b157EbaAF289De5301aE6694B651BF3b8df1C3, seu endereço de contrato NFT é 0x5b51Cf49Cb48617084eF35e7c7d7A21914769ff1 e seu endereço de contrato de token é 0xFF0C532FDB8Cd566Ae169C1CB157ff2Bdc83E105,** Desta vez, verificamos o contrato através da ferramenta Beosin VaaS, combinada com a análise dos especialistas em auditoria de segurança da Beosin, e descobrimos que o contrato tem os seguintes riscos potenciais de segurança:**
Beosin VaaS
Contrato Principal Fren Pet
O contrato principal da Fren Pet é o principal responsável pelo conteúdo do jogo e distribuição de recompensas mencionado acima. Aqui estão algumas sugestões para melhorar a segurança dos seus contratos:
1 Adicionar modificador não reentrante
Nas funções de resgate e morte do contrato, o desenvolvedor deve confirmar que a função não corre risco de ataques de re-entrância. Recomenda-se usar o modificador não Reentrante do contrato anti-reentrante openzeppelin para evitar ataques de re-entrincheira.
2 Use um gerador de números aleatórios seguro
O nonce usado pelo contrato principal do Fren Pet é gerado a partir de blocos e endereços de remetente, e é mais seguro usar uma função aleatória verificável como o Chainlink para gerar números nonce confiáveis e justos.
3 Preste atenção ao controle de acesso
O contrato principal do Fren Pet usa o modificador isApproved para controlar se o chamador tem permissão para chamar a função, o que exige que o desenvolvedor esteja muito familiarizado com a lógica de negócios do projeto e confirme que a permissão não será ignorada. No contrato Fren Pet V2, a questão do controle de acesso ainda precisa ser atenta.
####Fren Pet NFT 合约
A estrutura geral do contrato NFT da Fren Pet é a seguinte:
O contrato FrenpetNFT herda ERC721 e é responsável pela cunhagem e queima de NFTs, e IRenderer é responsável pelo processamento dos metadados dos NFTs Fren Pet. Recomenda-se emitir eventos quando suas funções setRenderer e setMinter são chamadas, para que o mundo exterior possa ouvir e rastrear a transferência de informações relevantes. **
Contrato Fren Pet Token
1 Risco de centralização
O contrato de token tem várias funções onlyOwner, como a função blacklist e a função updateBuyFees. Essas funções podem ter um enorme impacto na negociação de tokens. O proprietário do contrato pode modificar a taxa de transação, bloquear o usuário de comprar ou vender e adicionar uma lista negra de endereços:
2 Timelock em falta
O contrato de token Fren Pet não tem um bloqueio de tempo para limitar os direitos de operação do titular do contrato. Embora algumas funções no contrato, como withdrawStuckToken() e updateSwapEnabled(), permitam que os titulares do contrato tomem medidas contra o contrato em uma emergência para proteger os ativos do usuário, a falta de bloqueios de tempo pode permitir que essas funções sejam abusadas. Neste caso, o usuário e a empresa de segurança não têm tempo suficiente para reagir às ações do titular do contrato.
Cuidado com os riscos de phishing!
Além dos riscos contratuais, devido à popularidade do Fren Pet, sites de phishing relacionados e contas de mídia social também estão surgindo em um fluxo interminável. **Lembre os usuários de não clicar em links falsos, como através de links de pesquisas do Google, e é melhor passar por outras plataformas sociais para verificação secundária. Essas contas falsas geralmente tuitam que airdrops de tokens relevantes foram abertos para atrair usuários para sites de phishing. **
Site de phishing da Fren Pet
Há algumas dicas antiphishing para ter em mente, tentar evitar phishing ou considerar a instalação do plug-in Beosin Anti-Phishing para ajudá-lo a identificar sites de phishing. **
Link para download:
Resumo
O contrato Fren Pet não tem vulnerabilidades óbvias de lógica de negócio, mas o risco de centralização do contrato é óbvio, e algum código tem uma implementação mais segura para melhorar a segurança do seu contrato. Antes disso, houve muitas manias de GameFi e SocialFi no mercado, e os usuários comuns são propensos a emoções FOMO e caem cegamente na armadilha de pesca. **Os usuários precisam reconhecer que Fren Pet é apenas uma tentativa de dois desenvolvedores no campo Web3, e os usuários devem fazer um bom trabalho de gerenciamento de fundos e pesquisa de projetos, e participar racionalmente. **
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
Fren Pet, um jogo de cadeia completa, do ponto de vista da segurança
Depois que a mania Friend.tech diminuiu, Fren Pet, um jogo de blockchain baseado em blockchain construído por dois desenvolvedores, chamou a atenção do mercado. De 19 a 20 de novembro, graças à atenção oficial da Base e à jogabilidade da fissão social de Fren Pet, Fren Pet tornou-se popular nas redes sociais e se tornou um novato da GameFi.
Embora o número de usuários do Fren Pet esteja crescendo rapidamente, o aspeto de segurança permanece desobstruído. **Hoje, a equipe de segurança da Beosin analisará o mecanismo de design e o código de contrato da Fren Pet para ajudá-lo a entender os riscos potenciais. **
Análise do Mecanismo Fren Pet
O conteúdo atual do jogo de Fren Pet é cunhagem de animais de estimação, alimentação de animais de estimação, batalhas de animais de estimação contra outros usuários, rodas da sorte e rolagem de dados. Os usuários do jogo que participam do Fren Pet primeiro precisam cunhar animais de estimação (NFTs), e cada animal de estimação precisa gastar 100 tokens FP para cunhar (se outros usuários posteriormente cunharem animais de estimação, o FP gasto será devolvido ao usuário), e então os usuários precisam pagar tokens FP para comprar maçãs, café e outros adereços para alimentar seus animais de estimação para evitar o TOD (Countdown to Death) do animal de estimação a zero, ou seja, o NFT mantido será automaticamente destruído.
Os Pet Points são concedidos para alimentar animais de estimação, quanto maiores os pontos, mais recompensas ETH você recebe, e as recompensas ETH vêm do imposto de transação sobre tokens FP, que está sujeito a um imposto de 5% sobre cada transação e 2% é distribuído aos jogadores. Portanto, quanto mais usuários participarem, mais demanda por tokens FP, maior será o volume de negociação de tokens FP e mais ETH será recompensado.
Análise de Contrato Fren Pet
O endereço de contrato principal da Fren Pet é 0x85b157EbaAF289De5301aE6694B651BF3b8df1C3, seu endereço de contrato NFT é 0x5b51Cf49Cb48617084eF35e7c7d7A21914769ff1 e seu endereço de contrato de token é 0xFF0C532FDB8Cd566Ae169C1CB157ff2Bdc83E105,** Desta vez, verificamos o contrato através da ferramenta Beosin VaaS, combinada com a análise dos especialistas em auditoria de segurança da Beosin, e descobrimos que o contrato tem os seguintes riscos potenciais de segurança:**
Beosin VaaS
Contrato Principal Fren Pet
O contrato principal da Fren Pet é o principal responsável pelo conteúdo do jogo e distribuição de recompensas mencionado acima. Aqui estão algumas sugestões para melhorar a segurança dos seus contratos:
1 Adicionar modificador não reentrante
Nas funções de resgate e morte do contrato, o desenvolvedor deve confirmar que a função não corre risco de ataques de re-entrância. Recomenda-se usar o modificador não Reentrante do contrato anti-reentrante openzeppelin para evitar ataques de re-entrincheira.
2 Use um gerador de números aleatórios seguro
O nonce usado pelo contrato principal do Fren Pet é gerado a partir de blocos e endereços de remetente, e é mais seguro usar uma função aleatória verificável como o Chainlink para gerar números nonce confiáveis e justos.
3 Preste atenção ao controle de acesso
O contrato principal do Fren Pet usa o modificador isApproved para controlar se o chamador tem permissão para chamar a função, o que exige que o desenvolvedor esteja muito familiarizado com a lógica de negócios do projeto e confirme que a permissão não será ignorada. No contrato Fren Pet V2, a questão do controle de acesso ainda precisa ser atenta.
####Fren Pet NFT 合约
A estrutura geral do contrato NFT da Fren Pet é a seguinte:
O contrato FrenpetNFT herda ERC721 e é responsável pela cunhagem e queima de NFTs, e IRenderer é responsável pelo processamento dos metadados dos NFTs Fren Pet. Recomenda-se emitir eventos quando suas funções setRenderer e setMinter são chamadas, para que o mundo exterior possa ouvir e rastrear a transferência de informações relevantes. **
Contrato Fren Pet Token
1 Risco de centralização
O contrato de token tem várias funções onlyOwner, como a função blacklist e a função updateBuyFees. Essas funções podem ter um enorme impacto na negociação de tokens. O proprietário do contrato pode modificar a taxa de transação, bloquear o usuário de comprar ou vender e adicionar uma lista negra de endereços:
2 Timelock em falta
O contrato de token Fren Pet não tem um bloqueio de tempo para limitar os direitos de operação do titular do contrato. Embora algumas funções no contrato, como withdrawStuckToken() e updateSwapEnabled(), permitam que os titulares do contrato tomem medidas contra o contrato em uma emergência para proteger os ativos do usuário, a falta de bloqueios de tempo pode permitir que essas funções sejam abusadas. Neste caso, o usuário e a empresa de segurança não têm tempo suficiente para reagir às ações do titular do contrato.
Cuidado com os riscos de phishing!
Além dos riscos contratuais, devido à popularidade do Fren Pet, sites de phishing relacionados e contas de mídia social também estão surgindo em um fluxo interminável. **Lembre os usuários de não clicar em links falsos, como através de links de pesquisas do Google, e é melhor passar por outras plataformas sociais para verificação secundária. Essas contas falsas geralmente tuitam que airdrops de tokens relevantes foram abertos para atrair usuários para sites de phishing. **
Site de phishing da Fren Pet
Há algumas dicas antiphishing para ter em mente, tentar evitar phishing ou considerar a instalação do plug-in Beosin Anti-Phishing para ajudá-lo a identificar sites de phishing. **
Link para download:
Resumo
O contrato Fren Pet não tem vulnerabilidades óbvias de lógica de negócio, mas o risco de centralização do contrato é óbvio, e algum código tem uma implementação mais segura para melhorar a segurança do seu contrato. Antes disso, houve muitas manias de GameFi e SocialFi no mercado, e os usuários comuns são propensos a emoções FOMO e caem cegamente na armadilha de pesca. **Os usuários precisam reconhecer que Fren Pet é apenas uma tentativa de dois desenvolvedores no campo Web3, e os usuários devem fazer um bom trabalho de gerenciamento de fundos e pesquisa de projetos, e participar racionalmente. **