Blog de AuditOne
Caso práctico: Auditoría de los contratos inteligentes de Aurora Fast Bridge realizada por AuditOne

Acerca de Aurora

Aurora es una solución que permite la ejecución de contratos de Ethereum en la cadena de bloques NEAR, una cadena de bloques de capa 1 moderna, rápida, escalable y neutra en carbono que finaliza las transacciones en 2-3 segundos. Aurora es una máquina virtual de Ethereum (EVM) implementada como un contrato inteligente en el protocolo NEAR. Su objetivo es ampliar el ecosistema de Ethereum, permitiendo a los desarrolladores ejecutar sus aplicaciones en una plataforma compatible con Ethereum que sea altamente escalable, preparada para el futuro y con bajos costes de transacción para los usuarios. Aurora ofrece una experiencia de desarrollo similar a la de Ethereum 1.0, pero con mayor velocidad y escalabilidad, similar a una solución de capa 2.

Qué tipo de contratos inteligentes hemos auditado

AuditOne mantiene una relación de larga duración con Aurora y ha contribuido a garantizar y proporcionar seguridad continua a muchos de sus contratos inteligentes. Tras analizar los complementos de NEAR —que son implementaciones de patrones comunes utilizados en los contratos inteligentes de NEAR—, nos hemos centrado en Fast Bridge, un puente unidireccional semidescentralizado creado para agilizar las transferencias de Near a Ethereum. 

Información clave sobre la auditoría

Tipo: Puente

Idioma: Rust

Ecosistema: las redes NEAR y Ethereum

Métodos: Revisión manual

Repositorio: https://github.com/aurora-is-near/fast-bridge-protocol/

Página web: https://aurora.dev/

Fecha de presentación: 1 de marzo de 2023

Fecha de finalización: 09-05-2023

Informe de auditoría: https://www.auditone.io/audit-report/aurora

El Fast Bridge es una solución innovadora que agiliza las transferencias de tokens entre las cadenas de bloques de NEAR y Ethereum, reduciendo significativamente los tiempos de transferencia de varias horas a tan solo unos minutos. Para lograrlo, se combina el uso de contratos inteligentes especializados y servicios fuera de cadena:

  • Contrato NearFastBridge ( lado NEAR): Este contrato bloquea los tokens y las comisiones cuando un usuario inicia una transferencia. Genera un FastBridgeTransferEvent que contiene datos como el nonce, el periodo de validez, los detalles de la transferencia y las comisiones.
  • Contrato EthereumFastBridge ( lado de Ethereum): Este contrato lleva a cabo la transferencia de tokens al destinatario en la red de Ethereum y registra estos eventos, garantizando la transparencia y la trazabilidad.
  • LP-Relayer ( Liquidity Provider Relayer): Esta entidad opera fuera de la cadena y se encarga de procesar las transferencias una vez que recibe el FastBridgeTransferEvent. Esta entidad ejecuta la transferencia en el lado de Ethereum y, posteriormente, presenta la prueba de la transacción al contrato NearFastBridge. Una vez verificada la prueba, la entidad recibe los fondos bloqueados y las comisiones.

Proceso de auditoría en AuditOne

El proceso de auditoría de AuditOne comienza con una reunión inicial virtual entre los equipos del proyecto y de auditoría, lo que sienta las bases para un enfoque colaborativo y coordinado. A continuación, el auditor principal, seleccionado por sus habilidades y experiencia específicas, dirige el proceso, garantizando que cada auditoría se base en conocimientos de primer nivel. A continuación, el código fuente se somete a auditorías automatizadas, aprovechando la tecnología avanzada para mejorar la eficiencia y la exhaustividad. Esto se complementa con auditorías manuales independientes realizadas por cada uno de los auditores por separado, lo que permite obtener perspectivas diversas y un análisis en profundidad del código.

Los auditores publican los problemas en un repositorio privado de GitHub, lo que fomenta un entorno transparente y colaborativo para el seguimiento y la resolución de los mismos. A continuación, se reúnen para debatir sus conclusiones, combinando sus puntos de vista individuales con el fin de obtener un análisis más exhaustivo. El auditor principal recopila estas conclusiones en un informe preliminar, que el equipo de AuditOne revisa meticulosamente antes de enviarlo al proyecto. El equipo del proyecto aborda las cuestiones planteadas, y los auditores confirman que las revisiones no han generado nuevos problemas. Por último, AuditOne examina el informe final elaborado por el auditor principal, garantizando su exactitud e integridad antes de entregarlo. Este proceso de varios niveles, caracterizado por su combinación de debates colaborativos, análisis independientes y revisiones rigurosas, distingue a AuditOne y garantiza que las auditorías sean exhaustivas y de mayor calidad que las de la competencia.

¿Por qué era importante auditar esos contratos inteligentes?

La auditoría de los contratos inteligentes del Aurora Fast Bridge ha sido un paso fundamental para garantizar la seguridad, la funcionalidad y la fiabilidad de esta infraestructura clave dentro del ecosistema blockchain. La auditoría ha identificado 17 incidencias, todas ellas resueltas (corregidas) y verificadas por los auditores de AuditOne.

El descubrimiento de cuatro problemas críticos pone de relieve la importancia de esta auditoría, ya que cada uno de ellos podría tener un impacto potencialmente grave en la plataforma Aurora.

Reorganización de bloques y doble gasto (gravedad alta):

  • Problema: Las reorganizaciones de bloques podrían invalidar transacciones confirmadas, lo que podría dar lugar a un doble gasto.
  • Repercusión: Si los tokens quedan bloqueados en una cadena y, posteriormente, dicha cadena sufre una reorganización de bloques antes de que se desbloqueen los tokens, esto podría provocar la pérdida de tokens o que se gasten dos veces.

Condición de carrera y doble pago (gravedad alta):

  • Problema: Podría producirse una condición de carrera entre el momento del desbloqueo y la verificación de la prueba, lo que podría dar lugar a un doble gasto.
  • Repercusión: El remitente podría volver a gastar los mismos tokens si estos se liberan antes de que se haya verificado por completo la prueba de la transacción.

Vulnerabilidad en la función de retirada (gravedad alta):

  • Problema: Los usuarios podrían llamar repetidamente a la función «withdraw» antes de que la función de devolución de llamada redujera su saldo.
  • Repercusión: Esto podría permitir a los atacantes retirar más dinero del que realmente tienen en su saldo.

Un usuario malintencionado desbloquea fondos por partida doble (gravedad alta):

  • Problema: Un usuario podría aprovechar la función de desbloqueo para desbloquear dos veces sus fondos.
  • Repercusiones: Esto podría dar lugar a retiradas no autorizadas de tokens y a la pérdida de fondos.

Estas cuestiones críticas ponen de relieve la importancia de llevar a cabo auditorías exhaustivas de los contratos inteligentes, especialmente en sistemas que gestionan transacciones entre cadenas, como Fast Bridge. Una auditoría garantiza que se identifiquen y subsanen las vulnerabilidades antes de que sean explotadas, protegiendo así al sistema frente a posibles brechas de seguridad. Además, verifica el correcto funcionamiento de los contratos, asegurando que operen según lo previsto. Esto es fundamental para mantener la confianza de los usuarios y fomentar la adopción de la plataforma.

Riesgos evitados y mejora de la seguridad

Al resolver los problemas detectados, la auditoría evitó los riesgos asociados al doble gasto, las retiradas no autorizadas, los retrasos en las transacciones y las posibles pérdidas de fondos debidas a ineficiencias o vulnerabilidades del sistema. Las mejoras en la validación, el procesamiento de eventos, la gestión de la configuración y las actualizaciones de las dependencias obsoletas fortalecieron la plataforma frente a posibles brechas de seguridad y optimizaron su rendimiento y fiabilidad. En consecuencia, estas medidas reforzaron la confianza de los usuarios, protegieron los activos y reforzaron la estabilidad e integridad generales de Aurora Fast Bridge dentro del ecosistema blockchain.

Importancia del proceso de auditoría de AuditOne:

El enfoque de AuditOne en materia de auditoría, especialmente evidente en la auditoría de Aurora Fast Bridge, pone de relieve la importancia de contar con un grupo más amplio de auditores. Las conclusiones de esta auditoría en concreto, tal y como se detallan en la tabla, ilustran claramente el valor de contar con varios auditores:

  • Diversidad en la identificación de problemas: Cada auditor aportó una perspectiva única, lo que permitió identificar diversos problemas. Mientras que el auditor 1 y el auditor 2 detectaron menos problemas de alta gravedad, el auditor 3 y el auditor 4 identificaron más, lo que pone de relieve la importancia de contar con más de los dos auditores habituales. Esta diversidad garantiza que se analice y se aborde una gama más amplia de posibles problemas.
  • Menos duplicidades y mejores soluciones: El modelo que consiste en recurrir a varios auditores da lugar a más duplicidades y ofrece diversos enfoques para solucionarlas. Esto es fundamental para garantizar que se encuentren y se apliquen las soluciones más eficaces.
  • El papel de la revisión por pares: No se puede subestimar la importancia de la revisión por pares en el proceso de AuditOne. No solo garantiza que se elijan las mejores soluciones para resolver los problemas, sino que también contribuye a la formación tanto de los auditores como de los desarrolladores del proyecto. Esta revisión colaborativa garantiza que las soluciones finales sean eficaces y las más adecuadas para los retos específicos del proyecto.

Artículo relacionado: Mesa redonda de AuditOne con Alexey, de Aurora, y Guido Vranken

Resumen

El proceso de auditoría de AuditOne ofrece un análisis exhaustivo del código que va más allá de los controles de seguridad para garantizar un funcionamiento fluido y la coherencia funcional, lo que da como resultado un código robusto y eficiente. La amplia plantilla de la empresa, compuesta por más de 450 auditores con perfiles diversos, permite una rápida movilización de los equipos, lo que reduce los tiempos de espera de las auditorías en comparación con las empresas tradicionales. El recurso a múltiples expertos garantiza una auditoría minuciosa y eficiente, que abarca una gama más amplia de cuestiones y ofrece soluciones de alta calidad revisadas por pares.

Proteger tu proyecto Web3 es fundamental para su crecimiento y para ganarte la confianza de los usuarios. Empieza por utilizar nuestra herramienta gratuita de lista de comprobación de seguridad de contratos inteligentes para identificar cualquier posible vulnerabilidad.

Reserva tu consulta gratuita sobre seguridad:

Google Calendar:
https://calendar.app.google/Ai15eyQhiV5c1pBXA
Telegram:
https://t.me/m_ndr
En este artículo
Autor
David Velek
Director de Operaciones
¡Comparte esto con tu comunidad!
xtelegramlinkedin
Artículos recientes

¿Buscas más contenido interesante?

Descubre nuestra comunidad
Discord
x
Twitter
Medium
LinkedIn
YouTube