BlueLabs es un proveedor de infraestructura Web3 que sirve de puente entre las finanzas descentralizadas (DeFi), los entornos multicadena y el comercio digital. Sus protocolos permiten realizar transacciones entre cadenas de forma sencilla y segura, mejorar la agregación de liquidez y ofrecer soluciones de pago sencillas. Mediante criptografía de vanguardia e interfaces intuitivas, BlueLabs tiene como objetivo impulsar la adopción y la facilidad de uso de los activos digitales. Esta auditoría se centra en los contratos inteligentes más importantes que sustentan BlueLabs Vaults, con el fin de garantizar que sean seguros, estables y eficientes para las operaciones multicadena y las aplicaciones comerciales de la plataforma.
Durante la auditoría, se detectaron varias vulnerabilidades en los contratos inteligentes de BlueLabs, con un nivel de gravedad que oscilaba entre bajo y alto. A continuación se ofrece un breve resumen de los principales problemas detectados durante el análisis:
Errores conocidos y corregidos
- La función _updatePool() finaliza prematuramente y no tiene en cuenta las recompensas adicionales cuando no hay una primera recompensa.
- Falta la protección contra deslizamientos en BaseVault.sol.
- Error de cálculo cuando los tokens «reward» y «extraReward» son iguales.
- Falta una comprobación del secuenciador L2 activo en la función _getOraclePrice().
- Se ha utilizado un valor incorrecto de MAX_RANGE, lo que permite un alcance de la estrategia no deseado.
- Riesgo de ataque por reentrancia en la función `claim()` debido a la llamada de retorno del token ERC777.
Principal reto de auditoría
Desglose de errores
En el contrato OracleRewardVault, la función _updatePool() desempeña un papel fundamental en la distribución de recompensas en forma de tokens. Estas recompensas se clasifican en el código como «reward» y «extraReward».
Funciona de la siguiente manera: comprueba si hay recompensas que distribuir comparando el saldo actual de recompensas (rewardBalance) con el último saldo de recompensas registrado (lastRewardBalance). Si son iguales o no hay participaciones que distribuir (_shareTotalSupply == 0), la función simplemente finaliza.
Sin embargo, este enfoque presenta un fallo. No tiene en cuenta el caso en el que el token de recompensa principal no se está repartiendo, pero sí se está distribuyendo el token «extraReward». Esta omisión hace que las recompensas adicionales no se tengan en cuenta y, por lo tanto, que se produzca una distribución desigual de las recompensas.
Escenario
- El token de recompensa principal deja de emitir recompensas durante un tiempo.
- Finaliza la época actual para la recompensa principal.
- Sin embargo, el token extraReward sigue generando recompensas.
- Debido a un error en la condición de devolución anticipada, las recompensas adicionales nunca se distribuyen a los usuarios.
Solución
Para resolver este problema, tenemos que modificar la función _updatePool(), concretamente su condición de salida anticipada. No debería salir demasiado pronto si el «rewardBalance» principal sigue siendo el mismo, sobre todo cuando aún se están emitiendo tokens «extraReward».
Recomendación
Modifica la lógica de _updatePool() para asegurarte de que la función no finalice prematuramente cuando el rewardBalance no haya cambiado. Además, debe realizar un seguimiento preciso de los tokens extraReward que aún se están distribuyendo.
Conclusión
La auditoría de BlueLabs también identificó algunas vulnerabilidades críticas, tanto de seguridad como operativas, que podrían haber puesto en peligro los fondos de los usuarios y la estabilidad de la plataforma en su conjunto. Uno de los principales problemas era que la función _updatePool() no tenía en cuenta las recompensas adicionales, lo que provocaba una distribución desigual de las recompensas y una posible pérdida de fondos para los usuarios. Al solucionar este problema y otras vulnerabilidades, BlueLabs ha mejorado la seguridad de su protocolo, lo que aportará mayor confianza y eficiencia a los usuarios que realicen actividades de DeFi en múltiples cadenas.
Asegúrate de que tu plataforma siga siendo segura y de que la confianza de tus usuarios no se vea afectada: elige AuditOne para reforzar tus contratos inteligentes y sentar unas bases sólidas de seguridad y fiabilidad.
Reserva tu consulta gratuita sobre seguridad:
Google Calendar: https://calendar.app.google/Ai15eyQhiV5c1pBXA
Telegram: https://t.me/m_ndr
.png)

.png)






