Derecho cripto/Nivel V · Quienes crean y lanzan/5.3 Promoción y responsabilidad/Lección 5
Auditorías de contratos inteligentes y lo que prometen
Qué abarca realmente una auditoría de códigos, por qué el hecho de estar “auditado” no es una garantía, quiénes pueden confiar en el informe y cómo las afirmaciones sobre auditorías generan responsabilidad para los proyectos.
Esto es educación, no asesoramiento legal, fiscal ni de inversión. El derecho cripto varía entre países y estados, y cambia con frecuencia. Antes de actuar, verifica las normas vigentes donde vives con un abogado o asesor fiscal calificado.
La vía ligera
La ruta más barata, con menos impuestos, más sencilla y más privada que permite la ley, de mejor a peor. Cada paso indica la norma en que se apoya y la condición que la mantiene dentro de la ley.
- Publica el código fuente verificado en un explorador de bloques y el hash del commit revisado. Eso es gratuito y hace verificable cualquier afirmación de auditoría, pero la afirmación debe coincidir con el código desplegado y no actualizado.
- Si usas la palabra 'auditado', vincula el informe completo y enumera los hallazgos que siguen sin resolver. Omitir hallazgos graves sin resolver puede ser engañoso conforme a la Sección 5 de la Ley FTC, la Regla 10b-5 o el Artículo 7 del MiCA.
- Un proyecto más pequeño puede acotar estrechamente una revisión, limitándola únicamente a los contratos desplegados, y añadir un programa público de recompensas por errores (bug bounty). Las cláusulas de exención del informe limitan lo que este demuestra, así que afirma solo aquello que cubre.
- Una firma de auditoría debe deberes de negligencia ordinaria únicamente a su cliente conforme al caso Bily (Cal. 1992), por lo que los compradores rara vez logran una recuperación contra los auditores; los proyectos siguen siendo responsables de sus propias afirmaciones.
- Una DAO en Utah necesita una revisión de seguridad de su código público para obtener reconocimiento legal. Presupuesta la revisión solo si eliges ese marco jurídico (wrapper).
MaterialesUna revisión de seguridad de contrato inteligente publicada con su sección de exención de responsabilidad, por ejemplo, el informe FraxGov de Trail of Bits de mayo de 2023.El código fuente verificado y la dirección del contrato desplegado en un explorador de bloquesBily v. Arthur Young & Co., 3 Cal. 4th 370 (1992), sobre la responsabilidad de los auditores frente a terceros
Curiosidad
- Si un contrato auditado es hackeado, ¿pueden los compradores demandar al auditor?
- ¿Una auditoría abarca el código que realmente se ejecuta en la cadena?
- ¿Puede un proyecto meterse en problemas legales solo por decir que fue auditado?
Explorar
- Una auditoría de contrato inteligente es una revisión de seguridad de una versión específica del código de un proyecto realizada por una empresa externa, pagada por el proyecto. Produce un informe que enumera los hallazgos según su gravedad y, a menudo, las correcciones aplicadas por el proyecto. La palabra se toma prestada de la auditoría financiera, pero el producto es diferente: su alcance, tiempo y método están determinados por un contrato privado entre el revisor y el proyecto. Los compradores suelen ver solo el informe público. Los informes de prueba de reservas, que algunos exchanges también denominan auditorías, son algo distinto (lección 4.1.6).
- El propio informe indica sus limitaciones. Por ejemplo, la revisión de FraxGov realizada por Trail of Bits en mayo de 2023 señala que el trabajo se llevó a cabo siguiendo una descripción detallada de las tareas a realizar, que las evaluaciones tienen un plazo definido y dependen de la información proporcionada por el cliente, y que los resultados “no deben considerarse como una lista completa de problemas de seguridad”. También destaca que las herramientas automatizadas tienen sus limitaciones. Las correcciones se registran mediante un identificador específico de la versión del código, como “Resuelto en commit ed4e708”. Por lo tanto, una auditoría describe el código en un momento determinado, y no aquello que se implementa o actualiza posteriormente.
- El código auditado aún puede fallar. El 13 de marzo de 2023, el protocolo de préstamos Euler Finance perdió aproximadamente 197 millones de dólares. La causa fue la falta de una verificación de estado en una función llamada donateToReserves, que había sido añadida como parte de la solución a un problema anterior y que también había sido auditada. Euler afirmó que había sido auditada muchas más veces de lo habitual y contaba con una recompensa por errores de 1 millón de dólares. Para el 3 de abril de 2023, tras semanas de negociaciones, el atacante devolvió fondos por un valor aproximado de 240 millones de dólares. Las auditorías reducen el riesgo, pero no lo eliminan.
- Para un comprador que considere demandar a un revisor de código, la ley sobre auditores financieros muestra los obstáculos probables. En Bily v. Arthur Young & Co. (1992), la Corte Suprema de California dictaminó que la responsabilidad de un auditor por negligencia ordinaria se extiende solo a su cliente. Otros pueden demandar por falsa representación negligente únicamente si eran beneficiarios específicos del informe conocidos por el auditor, y por fraude intencional si eran razonablemente previsibles. Un comprador de tokens que lea un informe público generalmente necesitará algo más que la prueba de que el revisor fue descuidado.
- Las palabras del propio proyecto sobre una auditoría conllevan más riesgo. Decir “auditado” o “seguro” mientras se omiten hallazgos graves sin resolver, o mientras se ejecuta un código diferente, puede constituir una afirmación engañosa. Si el token es un valor bursátil, eso puede respaldar reclamos bajo la Regla 10b-5 de la SEC o la sección 12(a)(2) (lección 5.3.2). De lo contrario, la Ley FTC prohíbe “actos o prácticas desleales o engañosas” (lección 5.1.7), y en la UE el Artículo 7 de MiCA exige que la comercialización sea “justa, clara y no engañosa”. La Ley DAO de Utah, en vigor desde el 1 de enero de 2024, incluso requiere una revisión de seguridad del código de una DAO para su reconocimiento legal.
- Lea una auditoría como si fuera un contrato, no como un simple certificado. Verifique quién pagó, qué estaba incluido en el alcance del trabajo, cuáles hallazgos se resolvieron, cuáles fueron “reconocidos” pero dejados sin solución, y si los contratos pueden actualizarse o suspenderse mediante una clave de administrador (lección 5.1.5). Una verificación práctica: tome el identificador del commit del informe, abra el contrato desplegado en un explorador de bloques y confirme que la fuente verificada coincida con la versión revisada y que no haya habido ninguna actualización posterior que la haya reemplazado. Si no coinciden, el informe dice poco sobre el código que se está utilizando.
Datos clave
- Una auditoría de contrato inteligente examina una versión específica del código en el marco de un contrato privado entre el auditor y el proyecto.
- El informe de FraxGov de Trail of Bits de mayo de 2023 indica que sus hallazgos no deben considerarse una lista completa de problemas de seguridad.
- Euler Finance perdió aproximadamente 197 millones de dólares el 13 de marzo de 2023 debido a un defecto en una función auditada, y los fondos fueron devueltos para el 3 de abril de 2023.
- En Bily v. Arthur Young & Co. (1992), la Corte Suprema de California limitó la responsabilidad por negligencia ordinaria de los auditores a sus clientes.
- Según Bily, los terceros solo pueden demandar a un auditor por falsa representación negligente si son beneficiarios específicamente previstos conocidos por el auditor, o por fraude intencional.
- La Ley de Organizaciones Autónomas Descentralizadas de Utah, en vigor desde el 1 de enero de 2024, exige que el código de una DAO disponible públicamente haya sido sometido a una revisión de seguridad.
Ejercicio nueve, seis, tres, uno
Verificación de hechos
Fechas, cifras y afirmaciones verificadas con las fuentes publicadas que se enumeran a continuación.
- Trail of Bits: FraxGov Security Assessment (May 2023)
- Euler Finance: War & Peace, behind the scenes of Euler's $240M exploit recovery
- Bily v. Arthur Young & Co., 3 Cal. 4th 370 (1992), CourtListener
- 15 U.S.C. 45 (FTC Act s.5), Cornell LII
- Utah H.B. 357 (2023), Decentralized Autonomous Organizations Amendments
- Regulation (EU) 2023/1114 (MiCA), EUR-Lex