Después de que la locura de la Friend.tech disminuyó, Fren Pet, un juego de blockchain basado en blockchain creado por dos desarrolladores, capturó la atención del mercado. Del 19 al 20 de noviembre, gracias a la atención oficial de Base y la jugabilidad de la fisión social de Fren Pet, Fren Pet se hizo popular en las redes sociales y se convirtió en un novato de GameFi.
Si bien el número de usuarios de Fren Pet está creciendo rápidamente, el aspecto de la seguridad permanece sin obstáculos. ** Hoy, el equipo de seguridad de Beosin analizará el mecanismo de diseño y el código de contrato de Fren Pet para ayudarlo a comprender los riesgos potenciales. **
Análisis del mecanismo de las mascotas de Fren

Los puntos para mascotas se otorgan por alimentar a las mascotas, cuanto más altos sean los puntos, más recompensas de ETH obtendrá, y las recompensas de ETH provienen del impuesto sobre las transacciones de los tokens FP, que está sujeto a un impuesto del 5% sobre cada transacción y el 2% se distribuye a los jugadores. Por lo tanto, cuantos más usuarios participen, mayor será la demanda de tokens FP, mayor será el volumen de negociación de tokens FP y más ETH será recompensado.
Análisis del contrato de Fren Pet
La dirección del contrato principal de Fren Pet es 0x85b157EbaAF289De5301aE6694B651BF3b8df1C3, su dirección de contrato NFT es 0x5b51Cf49Cb48617084eF35e7c7d7A21914769ff1 y su dirección de contrato de token es 0xFF0C532FDB8Cd566Ae169C1CB157ff2Bdc83E105,** Esta vez, escaneamos el contrato a través de la herramienta VaaS de Beosin, combinada con el análisis de los expertos en auditoría de seguridad de Beosin, y descubrimos que el contrato tiene los siguientes riesgos potenciales de seguridad:**

Beosin VaaS
El contrato principal de Fren Pet es el principal responsable del contenido del juego y la distribución de recompensas mencionadas anteriormente. Estas son algunas sugerencias para mejorar la seguridad de sus contratos:
1 Añadir modificador no reentrante
En las funciones de canje y eliminación del contrato, el desarrollador debe confirmar que la función no corre el riesgo de ataques de reentrada. Se recomienda utilizar el modificador nonReentrant del contrato anti-reentrante openzeppelin para evitar ataques de reentrada.

2 Utiliza un generador seguro de números aleatorios
El nonce utilizado por el contrato principal de Fren Pet se genera a partir de bloques y direcciones de remitentes, y es más seguro utilizar una función aleatoria verificable como Chainlink para generar números de nonce fiables y justos.

3 Presta atención al control de acceso
El contrato principal de Fren Pet usa el modificador isApproved para controlar si el autor de la llamada tiene permiso para llamar a la función, lo que requiere que el desarrollador esté muy familiarizado con la lógica de negocios de su proyecto y confirme que no se omitirá el permiso. En el contrato de Fren Pet V2, aún se debe prestar atención al tema del control de acceso.
####Fren Pet NFT 合约
La estructura general del contrato NFT de Fren Pet es la siguiente:

El contrato de FrenpetNFT hereda ERC721 y es responsable de la acuñación y quema de NFT, e IRenderer es responsable de procesar los metadatos de los NFT de Fren Pet. Se recomienda emitir eventos cuando se llama a sus funciones setRenderer y setMinter, para que el mundo exterior pueda escuchar y rastrear la transferencia de información relevante. **

1 Riesgo de centralización
El contrato de token tiene varias funciones onlyOwner, como la función blacklist y la función updateBuyFees. Estas funciones pueden tener un gran impacto en el comercio de tokens. El propietario del contrato puede modificar la tarifa de transacción, bloquear al usuario para que no compre o venda y agregar una lista negra de direcciones:

2 Falta el bloqueo de tiempo
El contrato de token de Fren Pet no tiene un bloqueo de tiempo para limitar los derechos de operación del titular del contrato. Si bien algunas funciones del contrato, como withdrawStuckToken() y updateSwapEnabled(), permiten a los titulares del contrato tomar medidas contra el contrato en caso de emergencia para proteger los activos de los usuarios, la falta de bloqueos de tiempo puede permitir que se abuse de estas funciones. En este caso, el usuario y la empresa de seguridad no tienen tiempo suficiente para reaccionar ante las acciones del titular del contrato.
¡Cuidado con los riesgos de phishing!
Además de los riesgos contractuales, debido a la popularidad de Fren Pet, los sitios web de phishing relacionados y las cuentas de redes sociales también están surgiendo en un flujo interminable. ** Recuerde a los usuarios que no hagan clic en enlaces falsos, como a través de enlaces de búsquedas de Google, y es mejor pasar por otras plataformas sociales para una verificación secundaria. Estas cuentas falsas a menudo tuitean que se han abierto airdrops de tokens relevantes para atraer a los usuarios a sitios web de phishing. **

Sitio web de phishing de Fren Pet
Hay algunos consejos antiphishing que debes tener en cuenta, intenta evitar el phishing o considera instalar el plugin Beosin Anti-Phishing para ayudarte a identificar los sitios de phishing. **

Enlace de descarga:
Resumen
El contrato de Fren Pet no tiene vulnerabilidades obvias de lógica empresarial, pero el riesgo de centralización del contrato es obvio y parte del código tiene una implementación más segura para mejorar la seguridad de su contrato. Antes de esto, ha habido muchas locuras de GameFi y SocialFi en el mercado, y los usuarios comunes son propensos a las emociones FOMO y caen ciegamente en la trampa de pesca. ** Los usuarios deben reconocer que Fren Pet es solo un intento de dos desarrolladores en el campo de Web3, y los usuarios deben hacer un buen trabajo de gestión de fondos e investigación de proyectos, y participar racionalmente. **