← Últimos artigos
💻 computer science

Veritas: A Semantically Grounded Agentic Framework for Memory Corruption Vulnerability Detection in Binaries

Veritas é um framework multiagente semanticamente fundamentado que combina análise estática de IR LLVM elevada, raciocínio de LLM de dupla visão e validação em tempo de execução para alcançar detecção de vulnerabilidades de corrupção de memória em binários desprotegidos com alta taxa de recuperação e baixos falsos positivos, identificando com sucesso uma vulnerabilidade da Apple previamente desconhecida.

Autores originais: Xinran Zheng, Alfredo Pesoli, Marco Valleri, Suman Jana, Lorenzo Cavallaro

Publicado 2026-05-15
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Xinran Zheng, Alfredo Pesoli, Marco Valleri, Suman Jana, Lorenzo Cavallaro

Artigo original sob licença CC BY 4.0 (http://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

O Grande Problema: A "Tradução Perdida"

Imagine que você tem uma máquina complexa (um programa de computador) que foi construída em uma fábrica. A fábrica mantém os projetos originais (o código-fonte), mas a máquina que você realmente recebe é uma versão simplificada, de caixa-preta (o binário), com todos os rótulos, instruções e diagramas removidos.

Especialistas em segurança precisam encontrar bugs de "corrupção de memória" nessas caixas-pretas. Eles são como rachaduras ocultas na fundação da máquina que permitem que um hacker entre.

O problema é que, sem os projetos, é incrivelmente difícil ver como uma pequena parte da máquina (como um botão que você pressiona) se conecta a uma parte perigosa (como uma válvula de pressão) a quilômetros de distância dentro da caixa.

O Jeito Antigo: Adivinhando com IA

Recentemente, as pessoas começaram a usar IA poderosa (Modelos de Linguagem Grandes) para olhar essas caixas-pretas. A IA é inteligente; ela pode ler o código "sem sentido" da máquina e tentar adivinhar onde estão as rachaduras.

No entanto, o artigo argumenta que a IA é como um detetive que tem apenas uma foto borrada. A IA pode ver formas, mas não pode ter certeza se uma linha se conecta a um cano ou a um fio. Como a "foto" (o código binário) está faltando detalhes cruciais, a IA frequentemente:

  1. Perde rachaduras reais (Falsos Negativos).
  2. Acha que locais seguros são rachaduras (Falsos Positivos).

A Solução: Veritas (O "Buscador da Verdade")

Os autores construíram um novo sistema chamado Veritas. Em vez de deixar a IA adivinhar livremente, o Veritas age como uma equipe de investigação de três etapas que força a IA a se ater aos fatos.

Pense no Veritas como uma equipe de três especialistas trabalhando juntos:

Etapa 1: O Cartógrafo (O Slicador)

Antes da IA olhar para qualquer coisa, uma ferramenta especializada (o Slicador) escaneia a caixa-preta. Ela não usa IA; usa matemática estrita para desenhar um mapa preciso.

  • A Analogia: Imagine que a máquina é uma cidade gigante. O Slicador ignora 99% da cidade (as partes seguras) e desenha uma única linha fina conectando a "Entrada" (onde os dados entram) à "Zona de Perigo" (onde os dados são usados).
  • O Resultado: Ele dá à IA um caminho pequeno e focado para investigar, em vez de toda a cidade bagunçada. Esse caminho é apoiado por "testemunhas" (prova de que os dados realmente viajam por esse caminho).

Etapa 2: O Detetive (O Detector de Dupla Visão)

Agora, a IA (o Detetive) olha para o caminho que o Cartógrafo desenhou. Mas aqui está o truque: a IA olha para o caminho através de dois pares de óculos diferentes.

  • Óculos A (Código Descompilado): Isso parece frases em inglês legíveis. Ajuda a IA a entender a história do que está acontecendo.
  • Óculos B (LLVM IR): Isso parece projetos técnicos brutos. Ajuda a IA a ver a matemática exata e os endereços de memória.
  • A Analogia: Se a IA estiver confusa sobre uma placa de rua específica, ela troca para os projetos técnicos para ver exatamente para onde a estrada vai. Isso impede que a IA invente histórias que não se encaixam na matemática.

Etapa 3: O Testador Forense (O Validador)

A IA pode dizer: "Acho que há uma rachadura aqui!" Mas o Veritas não leva apenas a palavra dela. Um terceiro agente (o Validador) vai lá e testa fisicamente a máquina.

  • A Analogia: A IA é a testemunha no tribunal dizendo: "Vi uma rachadura". O Validador é o juiz que diz: "Mostre-me". O Validador executa a máquina com uma ferramenta especial (um depurador) para ver se a máquina realmente quebra quando a IA diz que deveria.
  • O Resultado: Se a máquina não quebrar, a "rachadura" é descartada. Se ela quebrar, o bug é confirmado.

Por Que Isso Importa (Os Resultados)

Os autores testaram o Veritas em software do mundo real que teve seus rótulos removidos.

  • Taxa de Sucesso: O Veritas encontrou 90% dos bugs reais.
  • Precisão: Ele teve quase zero falsos alarmes. Quando dizia que um bug existia, era quase sempre verdade.
  • Vitória no Mundo Real: Em um teste separado, o Veritas encontrou um bug totalmente novo e desconhecido (um "0-day") no software da Apple que ninguém conhecia. Eles relataram, e a Apple confirmou e atribuiu um ID de segurança (CVE).

A Conclusão

O artigo argumenta que você não pode confiar apenas em uma IA inteligente para encontrar bugs em software complexo e simplificado. A IA precisa de fundamentação.

  • Sem Fundamentação: A IA é como um sonhador, imaginando coisas que podem não estar lá.
  • Com Veritas: A IA é uma cientista. Ela recebe um caminho específico para verificar (pelo Cartógrafo), verifica os detalhes com duas ferramentas diferentes (o Detetive) e prova suas descobertas com um teste físico (o Validador).

Ao combinar matemática estrita, IA inteligente e testes do mundo real, o Veritas torna a descoberta de bugs de software perigosos muito mais confiável e precisa.

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 →