Clear Sky Science · es

DIVE: Un conjunto de datos multietiqueta sobre vulnerabilidades en contratos inteligentes

· Volver al índice

Por qué importan los acuerdos digitales más seguros

Cada día, miles de millones de dólares se mueven a través de “contratos inteligentes”: fragmentos de código que ejecutan automáticamente acuerdos en blockchains como Ethereum. Cuando estos acuerdos digitales contienen fallos ocultos, las consecuencias pueden ser graves: fondos bloqueados, activos robados y pérdida de confianza en los nuevos sistemas financieros. Este artículo presenta DIVE, un gran conjunto de datos construido con cuidado que ayuda a los investigadores a encontrar y comprender las debilidades en contratos inteligentes de forma más fiable, para que los acuerdos digitales que sustentan las criptomonedas y las aplicaciones descentralizadas sean más seguros para todos.

Figure 1
Figure 1.

Cómo viven y cambian los contratos digitales

Los contratos inteligentes atraviesan varias etapas en su ciclo de vida. Comienzan como código fuente legible escrito por desarrolladores, luego se compilan en instrucciones aptas para la máquina y se envían en una transacción de despliegue a la blockchain. Una vez aceptado, un contrato obtiene una dirección permanente y su código se vuelve inmutable, pero su estado interno puede seguir evolucionando a medida que la gente interactúa con él. A lo largo de este recorrido aparecen distintos tipos de datos—código fuente, bytecode, configuraciones y registros de transacciones—que contienen pistas sobre posibles fallos. DIVE se construye alrededor de esta visión del ciclo de vida, recopilando características tanto antes del despliegue (código y configuración) como después del despliegue (comportamiento on-chain) para ofrecer una visión más completa de cada contrato.

Por qué los conjuntos de datos anteriores se quedaban cortos

Las colecciones anteriores de contratos inteligentes ayudaron a impulsar los enfoques de aprendizaje automático para detectar vulnerabilidades, pero tenían limitaciones importantes. Muchas incluían solo un número reducido de contratos, se centraban en una ventana temporal limitada o en versiones concretas del compilador, o capturaban solo un tipo de dato, como código fuente o bytecode, pero no ambos. Algunas trataban las vulnerabilidades como si solo pudiera aparecer un tipo por contrato, cuando en realidad los contratos suelen contener varios problemas a la vez. Las etiquetas no siempre eran consistentes, porque distintos estudios usaron esquemas de nombres diferentes y se basaron en una o dos herramientas sin un estándar común. Todo esto dificultaba comparar resultados entre trabajos o construir detectores que se generalicen más allá de un solo estudio.

Qué contiene el conjunto de datos DIVE

DIVE reúne 22.330 contratos reales de Ethereum, desplegados entre 2016 y 2024 y abarcando las principales versiones del lenguaje Solidity. Cada contrato se describe mediante cientos de características. Antes del despliegue, DIVE registra elementos como la versión del compilador, ajustes de optimización, uso de bibliotecas externas, la estructura de la interfaz pública (sus funciones y eventos), mediciones de complejidad del código y patrones en las instrucciones de bajo nivel usadas para crear el contrato. Tras el despliegue, añade información de la transacción de lanzamiento—consumo de gas, valor enviado, sincronización y posición dentro del bloque—así como patrones de instrucción del código en tiempo de ejecución del contrato. Esta visión dual permite a los investigadores estudiar cómo las decisiones de codificación y el comportamiento on-chain se relacionan con la seguridad.

Cómo se identifican las vulnerabilidades

Para decidir qué contratos son vulnerables, DIVE no se apoya en una sola herramienta ni en una simple votación mayoritaria. En su lugar, ejecuta seis herramientas de análisis diferentes, cada una con sus fortalezas, y canaliza sus hallazgos a través de un marco estandarizado. Las salidas de las herramientas se mapean a ocho categorías bien conocidas de la lista DASP Top 10, como fallos de reentrancia, control de acceso roto, errores aritméticos, riesgos de denegación de servicio, mala aleatoriedad, front running, manipulación del tiempo y llamadas de bajo nivel sin comprobación. Un esquema de votación “basado en potencia” decide, categoría por categoría, cuánto confiar en cada herramienta. Además, un segundo paso de validación comprueba si el problema señalado está realmente respaldado por el código del contrato—por ejemplo, confirmando que un supuesto fallo aritmético no está ya protegido por comprobaciones del compilador modernas o por bibliotecas de seguridad. Este escrutinio extra elimina muchas falsas alarmas, especialmente en advertencias relacionadas con denegación de servicio y tiempo.

Figure 2
Figure 2.

Cómo se puede usar este recurso

Al ser multietiqueta, un único contrato puede recibir varias etiquetas de vulnerabilidad, reflejando cómo los fallos del mundo real se agrupan e interactúan. El conjunto de datos soporta una amplia gama de estudios: clasificación binaria y multiclase, aprendizaje multietiqueta y multitarea, transferencia de aprendizaje entre versiones de compilador o años, y experimentos que comparen el valor de la información predespliegue frente a la postdespliegue. También documenta con qué frecuencia aparecen juntas distintas vulnerabilidades, revelando que algunas, como reentrancia y problemas de control de acceso, tienden a coexistir, mientras que otras son más raras y están más aisladas. Estos patrones fomentan métodos de aprendizaje más avanzados que modelen las relaciones entre tipos de fallos, en lugar de tratar cada uno de forma aislada.

Qué significa esto para los usuarios cotidianos

Para la mayoría de las personas, los contratos inteligentes son infraestructura invisible detrás de aplicaciones de intercambio, juegos, plataformas de préstamos y otros servicios blockchain. El conjunto de datos DIVE no corrige vulnerabilidades de forma directa, pero proporciona los datos detallados y bien etiquetados necesarios para entrenar y evaluar con justicia detectores más potentes. Esas herramientas, a su vez, pueden ayudar a los desarrolladores a detectar problemas antes y a los auditores a priorizar sus revisiones. Dado que el marco es abierto y puede volver a ejecutarse sobre contratos nuevos con el tiempo, DIVE ofrece una base viva para mejorar la seguridad de los acuerdos digitales—reduciendo el riesgo de que usuarios cotidianos se vean perjudicados por errores ocultos en el código en el que confían.

Cita: Alsunaidi, S.J., Aljamaan, H. & Hammoudeh, M. DIVE: A Multi-Label Smart Contract Vulnerability Dataset. Sci Data 13, 664 (2026). https://doi.org/10.1038/s41597-026-07025-5

Palabras clave: seguridad de contratos inteligentes, Ethereum, vulnerabilidades en blockchain, conjunto de datos para aprendizaje automático, DASP Top 10