Clear Sky Science · pt
DIVE: Um conjunto de dados multilabel sobre vulnerabilidades em contratos inteligentes
Por que acordos digitais mais seguros importam
Todos os dias, bilhões de dólares são movimentados por "contratos inteligentes" — trechos de código que executam automaticamente acordos em blockchains como a Ethereum. Quando esses acordos digitais contêm erros ocultos, as consequências podem ser severas: fundos congelados, ativos roubados e perda de confiança em novos sistemas financeiros. Este artigo apresenta o DIVE, um grande conjunto de dados construído com cuidado que ajuda pesquisadores a encontrar e entender fraquezas em contratos inteligentes de forma mais confiável, para que os acordos digitais que sustentam criptomoedas e aplicativos descentralizados fiquem mais seguros para todos.

Como contratos digitais vivem e mudam
Contratos inteligentes passam por várias etapas ao longo de sua vida. Eles começam como código-fonte legível escrito por desenvolvedores, depois são compilados em instruções amigáveis à máquina e enviados em uma transação de implantação para a blockchain. Uma vez aceito, um contrato recebe um endereço permanente e seu código se torna imutável, mas seu estado interno ainda pode evoluir à medida que as pessoas interagem com ele. Ao longo dessa jornada, surgem diferentes tipos de dados — código-fonte, bytecode, configurações e registros de transações — que todos guardam pistas sobre possíveis falhas. O DIVE é construído em torno dessa visão do ciclo de vida, coletando características tanto do período anterior à implantação (código e configuração) quanto após a implantação (comportamento on-chain) para oferecer uma visão mais completa de cada contrato.
Por que conjuntos de dados antigos ficaram aquém
Coletas anteriores de contratos inteligentes ajudaram a impulsionar abordagens de aprendizado de máquina para identificar vulnerabilidades, mas vinham com limitações sérias. Muitas incluíam apenas um número pequeno de contratos, focavam em uma janela temporal estreita ou em versões específicas do compilador, ou capturavam apenas um tipo de dado, como código-fonte ou bytecode, mas não ambos. Algumas tratavam vulnerabilidades como se apenas um tipo pudesse ocorrer por contrato, embora contratos reais frequentemente contenham vários problemas ao mesmo tempo. Rótulos nem sempre eram consistentes, porque estudos diferentes usavam esquemas de nomenclatura distintos e dependiam de uma ou duas ferramentas sem um padrão comum. Tudo isso dificultava comparar resultados entre artigos ou construir detectores que generalizassem bem além de um único estudo.
O que o conjunto de dados DIVE contém
O DIVE reúne 22.330 contratos reais da Ethereum, implantados entre 2016 e 2024 e abrangendo as principais versões da linguagem Solidity. Cada contrato é descrito por centenas de características. Antes da implantação, o DIVE registra itens como versão do compilador, configurações de otimização, uso de bibliotecas externas, a estrutura da interface pública (suas funções e eventos), medidas de complexidade do código e padrões nas instruções de baixo nível usadas para criar o contrato. Após a implantação, adiciona informações da transação de lançamento — uso de gás, valor enviado, tempo e posição dentro do bloco — bem como padrões de instrução do código em tempo de execução do contrato. Essa visão dupla permite que pesquisadores estudem como escolhas de codificação e comportamento on-chain se relacionam com a segurança.
Como as vulnerabilidades são identificadas
Para decidir quais contratos são vulneráveis, o DIVE não depende de uma única ferramenta ou de uma simples votação por maioria. Em vez disso, executa seis ferramentas de análise diferentes, cada uma com seus pontos fortes, e canaliza suas descobertas por meio de uma estrutura padronizada. As saídas das ferramentas são mapeadas para oito categorias bem conhecidas da lista DASP Top 10, como falhas de reentrância, controle de acesso quebrado, erros aritméticos, riscos de negação de serviço, má aleatoriedade, front running, manipulação de tempo e chamadas de baixo nível não verificadas. Um esquema de votação "baseado em potência" então decide, categoria por categoria, quanto confiar em cada ferramenta. Além disso, uma segunda etapa de validação verifica se o problema sinalizado é realmente sustentado pelo código do contrato — por exemplo, confirmando que um suposto erro aritmético não está já protegido por checagens modernas do compilador ou bibliotecas de segurança. Essa verificação extra remove muitos falsos positivos, especialmente para avisos relacionados a negação de serviço e tempo.

Como esse recurso pode ser usado
Como o DIVE é multilabel, um único contrato pode ser marcado com vários tipos de vulnerabilidade, refletindo como bugs do mundo real se agrupam e interagem. O conjunto de dados suporta uma ampla gama de estudos: classificação binária e multiclasse, aprendizado multilabel e multitarefa, transferência de aprendizado entre versões do compilador ou anos, e experimentos que comparam o valor de informações pré-implantação versus pós-implantação. Também documenta com que frequência diferentes vulnerabilidades aparecem juntas, revelando que algumas, como reentrância e problemas de controle de acesso, tendem a co-ocorrer, enquanto outras são mais raras e isoladas. Esses padrões incentivam métodos de aprendizado mais avançados que modelam as relações entre tipos de bugs, em vez de tratar cada um isoladamente.
O que isso significa para usuários comuns
Para a maioria das pessoas, contratos inteligentes são infraestrutura invisível por trás de aplicativos de negociação, jogos, plataformas de empréstimo e outros serviços blockchain. O conjunto de dados DIVE não corrige vulnerabilidades diretamente, mas fornece os dados detalhados e bem rotulados necessários para treinar e testar de forma justa ferramentas de detecção mais robustas. Essas ferramentas, por sua vez, podem ajudar desenvolvedores a encontrar problemas mais cedo e ajudar auditores a priorizar suas revisões. Como a estrutura é aberta e pode ser executada novamente em novos contratos ao longo do tempo, o DIVE oferece uma base viva para melhorar a segurança dos acordos digitais — reduzindo o risco de que usuários comuns sejam prejudicados por erros ocultos no código em que confiam.
Citação: 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
Palavras-chave: segurança de contratos inteligentes, Ethereum, vulnerabilidades em blockchain, conjunto de dados para aprendizado de máquina, DASP Top 10