Explorando o Uso de LLMs para Ampliação de Sementes em Fuzzing para Contratos Inteligentes
Fuzzing
Smart Contracts
LLM
GenAI
Os contratos inteligentes em blockchain ganharam força no sistema financeiro global, sendo utilizados para gerenciar ativos digitais e até moedas nacionais. Diariamente, esses sistemas são alvo de ataques, demonstrando o porquê os esforços atuais na detecção de vulnerabilidades têm ganhado popularidade. Sendo uma máquina de estados transacional, a blockchain lida com contratos inteligentes em uma sequência de transações, onde, para acionar uma região vulnerável, é necessário construir sequências de entrada que alterem os estados persistentes internos. Ferramentas de segurança enfrentam dificuldades em alcançar sequências de transações interessantes devido à complexidade dos contratos inteligentes, que possuem milhares de funções e restrições difíceis de cobrir.
Pesquisas recentes em aprendizagem de máquina para segurança em blockchain sugerem resultados promissores ao usar Large Language Model (LLM) pré-treinados para guiar e priorizar campanhas de fuzzing na detecção de vulnerabilidades. Os LLMs são modelos de IA treinados em grandes corpora de dados textuais, incluindo código-fonte, permitindo que executem várias tarefas através de instruções baseadas em linguagem natural, conhecidas como prompts. Embora as pesquisas atuais tenham se concentrado na aplicação dos LLMs no fuzzing de contratos inteligentes para o agendamento e seleção de sementes, ainda não foi explorado o uso de IA generativa para melhorar a criação inicial de sementes.
O objetivo desta pesquisa é aproveitar os LLMs pré-treinados para gerar entradas válidas específicas como sementes iniciais para campanhas de fuzzing, visando melhores taxas de detecção de vulnerabilidades, ao mesmo tempo que se tira proveito da capacidade dos LLMs em extrair uma quantidade significativa de conhecimento semântico do código. Avaliações iniciais sugerem que prompts de aprendizado one-shot podem gerar sequências de transações interessantes significativamente melhores do que sementes geradas aleatoriamente, além de aprimorar algoritmos avançados de análise baseada emfluxos de dados. No entanto, investigações adicionais são necessárias para entender e otimizar completamente esse processo.