← Últimos artigos
💻 computer science

Formal Verification of Smart Contracts for EEG Data Governance: A Case Study with Slither and Formal Specification

Este artigo demonstra que, embora ferramentas automatizadas como Slither e Mythril detectem efetivamente padrões de vulnerabilidade conhecidos, a especificação formal é essencial para verificar a correção lógica e garantir a segurança na governança de dados de EEG baseada em blockchain, uma vez que identificou unicamente uma vulnerabilidade de limite de array (out-of-bounds) semeada que as ferramentas automatizadas não detectaram.

Autores originais: Jonathas Tavares Neves, Moisés Pereira Bastos, Lucas Carvalho Cordeiro, Carlos Augusto de Moraes Cruz

Publicado 2026-06-29
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Jonathas Tavares Neves, Moisés Pereira Bastos, Lucas Carvalho Cordeiro, Carlos Augusto de Moraes Cruz

Artigo original sob licença CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você está construindo um cofre digital de alta tecnologia para armazenar as gravações de ondas cerebrais (EEG) de pessoas tentando se comunicar com computadores usando apenas seus pensamentos. Este cofre é operado por um "smart contract" (contrato inteligente) — um pedaço de código em uma blockchain que atua como um robô guarda automatizado e imutável. Seu trabalho é garantir que ninguém roube os dados, que ninguém corrompa os registros e que o sistema não sofra uma pane.

Este artigo é um relatório de inspeção de segurança para esse robô guarda. Os pesquisadores fizeram uma pergunta simples, mas assustadora: "Se construirmos uma falha na lógica do robô, os scanners de segurança automáticos a encontrarão?"

Aqui está o detalhamento do experimento deles, explicado de forma simples:

1. A Configuração: A "Armadilha"

Os pesquisadores construíram um cofre digital usando dados reais de ondas cerebrais (de um conjunto de dados chamado Kara-One, que contém 406 registros de 6 pessoas). Para testar a segurança, eles não apenas esperaram que hackers encontrassem bugs; eles deliberadamente plantaram um bug eles mesmos.

Pense nisso como um jogo de "Onde está o Wally?", mas eles esconderam uma armadilha específica:

  • A Armadilha: O robô guarda foi instruído a verificar uma lista de registros de ondas cerebrais. No entanto, o código esqueceu de perguntar: "O número que estou verificando está realmente dentro da lista?"
  • O Resultado: Se alguém pedisse ao robô para verificar o registro nº 11, mas a lista tivesse apenas 10 registros, o robô tentaria acessar um registro inexistente. No mundo digital, isso é como tentar abrir uma porta que não existe; faz com que todo o sistema entre em pânico e trave.

2. Os Três Guardas de Segurança

Os pesquisadores contrataram três tipos diferentes de guardas de segurança para encontrar esta armadida plantada:

  • Guarda A (Slither): O Inspetor Veloz. Esta ferramenta varre o código muito rápido (em cerca de 2 segundos) procurando por um "Cartaz de Procurado" de maus hábitos conhecidos (como deixar uma porta destrancada ou deixar estranhos entrarem). É ótima para detectar erros comuns.
  • Guarda B (Mythril): O Simulador. Esta ferramenta finge ser um hacker, executando milhões de cenários diferentes em uma simulação de computador para ver se consegue quebrar o sistema. É minuciosa, mas leva mais tempo (cerca de 45 segundos).
  • Guarda C (Especificação Formal): O Detetive de Lógica. Isso não é uma máquina; é um especialista humano que escreve as regras do jogo antes mesmo do código ser executado. Eles perguntam: "Se a entrada for 11, e o tamanho da lista for 10, a matemática se sustenta?"

3. A Grande Descoberta

Aqui está o que aconteceu quando testaram a armadilha plantada:

  • O Inspetor Veloz (Slither) e o Simulador (Mythril) ambos FALHARAM. Eles analisaram o código, executaram seus testes e disseram: "Está tudo bem!". Eles perderam a armadilha completamente. Por quê? Porque a armadilha não era um "mau hábito conhecido" (como uma porta destrancada); era um erro de lógica. O código parecia sintaticamente correto, mas o raciocínio estava quebrado. Essas ferramentas são como corretores ortográficos; elas pegam erros de digitação, mas não conseguem dizer se sua frase faz sentido lógico.
  • O Detetive de Lógica (Especificação Formal) OBTEVE SUCESSO. Ao escrever as regras, o especialista humano viu imediatamente a regra ausente: "Você deve verificar se o número é menor que o tamanho da lista". Ele detectou o bug instantaneamente.

4. O Teste do Mundo Real

Os pesquisadores não pararam apenas na armadilha. Eles também testaram o sistema com os dados reais de ondas cerebrais (o conjunto de dados Kara-One).

  • Eles armazenaram com sucesso 406 registros na blockchain.
  • Eles verificaram 8 regras de segurança diferentes (como "IDs duplicados não permitidos" e "carimbos de data/hora devem seguir uma ordem cronológica").
  • Resultado: O sistema funcionou perfeitamente para os dados reais, mas apenas porque o Detetive de Lógica já havia consertado a armadilha oculta que as ferramentas automáticas deixaram passar.

5. A Lição Principal: A Estratégia de "Defesa em Profundidade"

O artigo conclui que você não pode confiar em apenas um tipo de guarda de segurança. Você precisa de uma abordagem de equipe, que eles chamam de Estratégia de Defesa em Profundidade:

  1. O Detetive de Lógica (Especificação Formal): Você deve usar isso para as partes mais críticas do sistema (como dados médicos). Isso prova que a matemática está correta. É lento e exige esforço humano, mas é a única maneira de detectar bugs "lógicos".
  2. O Inspetor Veloz (Slither): Use isso toda vez que fizer uma alteração no código (como um check-up diário). É rápido e pega os erros comuns e fáceis.
  3. O Simulador (Mythril): Use isso logo antes de lançar o sistema para conferir novamente se há truques específicos de hackers.

Conclusão

Se você está construindo um sistema para proteger dados médicos sensíveis (como exames cerebrais), ferramentas automatizadas são necessárias, mas não são suficientes. Elas são como um detector de metais em um aeroporto; encontram facas e armas (ameaças conhecidas), mas não encontrarão uma bomba feita de lógica para a qual as regras não previram.

Para manter seu cofre digital seguro, você precisa combinar a velocidade das máquinas com o pensamento profundo da lógica humana. Como diz o artigo, para aplicações médicas de segurança crítica, a verificação formal não é um extra opcional; é um requisito.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →