Auditoría de contratos inteligentes
También conocido como Auditoría de seguridad · Auditoría DeFi
Una auditoría de contratos inteligentes es una revisión de seguridad independiente del código de un protocolo que busca vulnerabilidades antes de que salga en vivo, o poco después. Reduce el riesgo dentro del alcance y la fecha indicados, pero no es una promesa de que el código esté libre de errores.
Los contratos inteligentes son un software poco común. Guardan dinero directamente, se ejecutan en público, donde cualquiera puede estudiarlos, y una vez desplegados son difíciles o imposibles de cambiar. Una línea pasada por alto puede permitir que un atacante vacíe un protocolo en una sola transacción. La auditoría es la principal defensa antes del lanzamiento: especialistas leen el código antes que los atacantes.
Qué buscan los auditores
- Errores de lógica: código que hace lo que dice pero no lo que se pretendía, como una fórmula de recompensas que paga dos veces.
- Control de acceso: funciones que cualquiera puede llamar y que deberían estar restringidas a un administrador.
- Reentrada: una llamada externa que permite a un atacante volver a entrar en una función antes de que termine la primera llamada, el error detrás del hackeo de The DAO en 2016.
- Manipulación de precios: lógica que confía en un precio que puede moverse dentro de una transacción, a menudo a través de un oráculo débil.
- Diseño económico: incentivos que un actor con mucho capital podría aprovechar aunque cada línea funcione tal como está escrita.
Los auditores combinan la revisión manual con herramientas automatizadas y, cada vez más, con verificación formal, que demuestra matemáticamente que el código cumple una especificación escrita.
Dos modelos de auditoría
En una auditoría tradicional de firma, un equipo pequeño de ingenieros de seguridad estudia el código durante un período fijo y entrega un informe. En una auditoría competitiva, muchos investigadores independientes revisan el mismo código a la vez y cobran según los problemas que encuentran. Los dos modelos tienden a detectar cosas distintas, por eso los protocolos a menudo usan ambos.
Cómo leer un informe de auditoría
Empieza por el alcance: qué contratos, qué versión del código y qué fechas. Una auditoría de la versión uno dice poco sobre la versión dos. Después lee los hallazgos por severidad. Los hallazgos críticos y altos pueden llevar a la pérdida de fondos; los medios suelen requerir condiciones específicas; los bajos e informativos tienen que ver con buenas prácticas. Para cada hallazgo, revisa si figura como corregido, reconocido o disputado, y si la corrección se volvió a revisar.
Un ejemplo sencillo
Un informe lista un hallazgo de severidad alta: un error de redondeo permite que un usuario retire un poco más de lo que puso, y repetirlo en miles de transacciones podría vaciar un vault. El equipo lo corrige antes del lanzamiento y los auditores confirman la corrección. Nadie de afuera se entera del error. Eso es una auditoría haciendo su trabajo, y por eso la sección de hallazgos importa más que el logo de la portada.
Riesgos y límites
Una auditoría es una foto. El código cambia después de la revisión, nuevos contratos interactúan con él y las técnicas de ataque mejoran. Algunos exploits costosos en DeFi afectaron a protocolos auditados, a menudo a través de código fuera del alcance o de la forma en que interactuaban varios protocolos. Las auditorías tampoco pueden evaluar las partes offchain de un sistema, como la gestión de las claves o la composición de las reservas. Por eso una auditoría es más útil como una capa entre varias: un bug bounty que sigue recompensando a investigadores después del lanzamiento, monitoreo en tiempo de ejecución que vigila las transacciones en vivo y prueba de reservas para los propios activos.
Cómo lo usa Tori Finance
Los contratos inteligentes de Tori Finance están auditados por Sherlock y Nethermind. Las auditorías son una capa de su seguridad, junto con el monitoreo en tiempo de ejecución de Hypernative y la prueba de reservas de Accountable.
Preguntas frecuentes
¿Puede hackearse un protocolo auditado?
Sí. Una auditoría cubre un código específico en un momento específico. Los cambios posteriores, el código fuera del alcance, las interacciones con otros protocolos y las nuevas técnicas de ataque pueden provocar pérdidas.
¿Qué significan crítico, alto, medio y bajo en una auditoría?
Clasifican los hallazgos según su impacto y probabilidad. Los problemas críticos y altos pueden llevar a la pérdida de fondos o a un protocolo roto, los medios requieren condiciones específicas, y los bajos e informativos son menores o se refieren a la calidad del código.
¿Cuánto tarda una auditoría de contratos inteligentes?
Depende del tamaño y la complejidad del código. Un contrato pequeño puede llevar días; un protocolo grande puede llevar varias semanas, por lo general seguidas de una revisión más corta de las correcciones.
Términos relacionados
Bug bounty
Un programa de bug bounty les paga a investigadores de seguridad por reportar vulnerabilidades de forma responsable en lugar de explotarlas, con recompensas proporcionales a la gravedad del problema. Mantiene el código de un protocolo bajo revisión mucho después de que terminan sus auditorías.
Monitoreo en tiempo de ejecución
El monitoreo en tiempo de ejecución es la vigilancia continua de la actividad onchain de un protocolo para señalar, y a veces bloquear, transacciones sospechosas mientras ocurren. Complementa las auditorías, que revisan el código en un momento dado, al observar lo que el código realmente está haciendo.
Prueba de reservas
La prueba de reservas es una verificación independiente de que los activos detrás de un token o plataforma existen de verdad, idealmente publicada de forma continua para que cualquiera pueda comprobarla. Muestra el lado de los activos del balance; por sí sola no prueba los pasivos ni cubre todos los riesgos.
Fuentes
- ethereum.org: Smart contract securityethereum.org
- ethereum.org: Formal verification of smart contractsethereum.org
- BIS Quarterly Review: DeFi risks and the decentralisation illusionwww.bis.org
Escrito por el equipo de Tori Finance. No es asesoría de inversión. Los rendimientos varían; el capital está en riesgo.