Semantic-Aware Fuzzing: An Empirical Framework for LLM-Guided, Reasoning-Driven Input Mutation

2509.19533v1 cs.SE, cs.AI, cs.CR 2025-09-26
Авторы:

Mengdi Lu, Steven Ding, Furkan Alaca, Philippe Charland

Резюме на русском

## Контекст Многочисленные проблемы безопасности в системах, таких как Интернет вещей (IoT), мобильные платформы и автоматизированные системы, становятся все более критичными. Традиционные мутационные методы тестирования, такие как fuzzing, эффективно исследуют код, но часто ограничиваются мутациями в пределах байтов или битов, не учитывая семантическую логику и синтаксические зависимости. Автоматизированные инструменты, такие как AFL++, используют словари, грамматики и гибридные техники для применения структурных ограничений, но не полностью раскрывают глубинные семантические зависимости и отраслевые требования. С другой стороны, мощные технологии тестирования, основанные на технологиях ИИ и глубокого обучения, такие как модели Больших Языковых Моделей (LLMs), могут использоваться для семантического понимания структуры информации, предлагая более эффективные и точные мутации, что повышает качество тестирования. Однако отсутствие "правильного" метода мутации делает применение супервизированного обучения нецелесообразным, что приводит к заинтересованности в использовании нескольких способов мутации на основе заданий. В нашей работе мы сочетаем возможности LLMs с традиционным методом fuzzing, ориентируясь на ассинхронность и различные специфики тестирования. ## Метод Предлагаемая микросервисная архитектура объединяет методы тестирования fuzzing с моделями Больших Языковых Моделей (LLMs), используя структуру открытого фреймворка AFL++. Мы используем техники few-shot learning для обучения моделей LLM в режиме предварительной подготовки к работе. В качестве моделей используются Deepseek-r1-Distill-Llama-70B, Llama3.3, QwQ-32B и Gemma3. Мы разработали новый алгоритм, который включает модель LLM в цикл мутации, что позволяет ей анализировать интерфейсную логику, выявлять зависимости между полями и создавать высококачественные инструменты fuzzing. Таким образом, мы стремимся решить несколько задач: (R1) обеспечить интеграцию LLMs в модель fuzzing, (R2) исследовать качество мутаций, полученных с помощью few-shot способа, (R3) проверить влияние преобразований на выборку входных данных, а (R4) протестировать конкретные модели LLM для использования в таких средах. ## Результаты Мы проводили эксперименты с помощью 4 моделей LLM, используя протоколы запросов и анализ функционального поведения. Для оценки качества мутаций мы применяли метрики сложности и выявляли значимость мутаций в реальных сценариях. Мы демонстрируем, что Deepseek-r1-Distill-Llama-70B показал высокую эффективность в создании высококачественных мутаций, лучше отражающих слож

Abstract

Security vulnerabilities in Internet-of-Things devices, mobile platforms, and autonomous systems remain critical. Traditional mutation-based fuzzers -- while effectively explore code paths -- primarily perform byte- or bit-level edits without semantic reasoning. Coverage-guided tools such as AFL++ use dictionaries, grammars, and splicing heuristics to impose shallow structural constraints, leaving deeper protocol logic, inter-field dependencies, and domain-specific semantics unaddressed. Conversely, reasoning-capable large language models (LLMs) can leverage pretraining knowledge to understand input formats, respect complex constraints, and propose targeted mutations, much like an experienced reverse engineer or testing expert. However, lacking ground truth for "correct" mutation reasoning makes supervised fine-tuning impractical, motivating explorations of off-the-shelf LLMs via prompt-based few-shot learning. To bridge this gap, we present an open-source microservices framework that integrates reasoning LLMs with AFL++ on Google's FuzzBench, tackling asynchronous execution and divergent hardware demands (GPU- vs. CPU-intensive) of LLMs and fuzzers. We evaluate four research questions: (R1) How can reasoning LLMs be integrated into the fuzzing mutation loop? (R2) Do few-shot prompts yield higher-quality mutations than zero-shot? (R3) Can prompt engineering with off-the-shelf models improve fuzzing directly? and (R4) Which open-source reasoning LLMs perform best under prompt-only conditions? Experiments with Llama3.3, Deepseek-r1-Distill-Llama-70B, QwQ-32B, and Gemma3 highlight Deepseek as the most promising. Mutation effectiveness depends more on prompt complexity and model choice than shot count. Response latency and throughput bottlenecks remain key obstacles, offering directions for future work.

Ссылки и действия