Fortaleciendo Nuestras Paredes: Seguridad V1 Endurecida con Auditoría Certik
Por DeHub Team — 2021-07-04
Tras la vulnerabilidad del contrato inteligente v1, encargamos una auditoría completa con Certik en el Q3 2021 y abordamos lo que encontró.
Las auditorías se usan como marketing en esta industria, así que vale la pena escribir esto con precisión: para qué lo hicimos, qué cubrió y qué no evitó.
Por qué después, no antes
La respuesta incómoda es que v1 se envía sin uno. La comunidad había votado sobre los fundamentos del token, el lanzamiento se estaba moviendo y una auditoría completa son semanas de tiempo calendario y un costo significativo para un proyecto que aún no se había incluido.
Ese fue el comercio equivocado y la vulnerabilidad lo demostró. Cada contrato que hemos desplegado desde entonces ha sido auditado antes de ir en vivo, no después. Es una política que existe por este trimestre.
Qué es realmente la auditoría
Una auditoría es una lectura estructurada y contradictoria del código por parte de personas a las que se les paga por encontrar cosas y no tienen interés en el resultado. Uno bueno produce una lista de hallazgos por gravedad, un conjunto de cambios recomendados y un registro de los que realmente hizo.
Esa última parte es donde las auditorías se tergiversan. "Auditado por Certik" no es un hallazgo: un informe con críticas no resueltas sigue siendo una auditoría. La afirmación útil es que se resolvieron los hallazgos y se verificaron las resoluciones, que es lo que hicimos aquí, y es la versión que hemos publicado desde entonces.

Qué no compra una auditoría
Ser directo sobre los límites, porque luego aprendimos algunos de ellos de la manera difícil:
- Cubre el código, no el diseño. Un contrato puede estar libre de errores explotables y aún así comportarse mal en condiciones que nadie modeló.
- Es una instantánea. Se aplica a la versión auditada. Cualquier cambio posterior no está auditado hasta que no lo está.
- No puede ver las partes que no son código. Nuestro incidente más perjudicial de ese año no fue técnico en absoluto: fue un anuncio fraudulento agente, y ninguna auditoría de contrato existente lo habría detectado.
La ilustración más clara es Q4 2022. Los disparadores de impuestos del contrato v2 funcionaron mal en condiciones reales de mercado y congelaron tanto el token como nuestro fondo de liquidez. Ese fue un problema de diseño, no un error sin parchear, y es por eso que finalmente pasamos a la tokenómica ERC-20 estándar simple sin nada inteligente en la ruta de transferencia.
Lo que guardamos
La auditoría hizo su trabajo. Los titulares fueron compensados mediante un airdrops automático 1:1, el contrato endurecido llevó a DHB durante el año siguiente, y el proceso se convirtió en estándar.
La lección más grande fue más barata de aprender aquí de lo que habría sido más tarde: la auditoría no es la seguridad. La seguridad es el hábito de asumir que tu contrato está equivocado hasta que alguien sin razón para ser amable lo haya intentado probar.
Cómo hablamos de ello
No usamos "auditado" como una afirmación por sí sola, y animaríamos a cualquiera que evalúe un proyecto a tratar la palabra como el comienzo de una pregunta más que como el final de una.
Las preguntas útiles son: auditado por quién, contra qué versión, qué encontraron y qué cambió realmente como resultado. Un informe con hallazgos críticos no resueltos sigue siendo una auditoría. Un informe sobre un contrato que se ha modificado desde entonces describe algo que ya no se implementa.
Esas preguntas son la razón por la que existen los informes de transparencia y, finalmente, dhbscan.com. Ellos responden sin requerir que nadie pregunte.
Abrir DeHub