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

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
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. **

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. **