Large Language Models for Fuzzing Parsers (Registered Report)
Joshua M. Ackerman, George Cybenko
Abstract
Ambiguity in format specifications is a significant source of software vulnerabilities. In this paper, we propose a natural language processing (NLP) driven approach that implicitly leverages the ambiguity of format specifications to generate instances of a format for fuzzing. We employ a large language model (LLM) to recursively examine a natural language format specification to generate instances from the specification for use as strong seed examples to a mutation fuzzer. Preliminary experiments show that our method outperforms a basic mutation fuzzer, and is capable of synthesizing examples from novel handwritten formats.
Topics & Concepts
Fuzz testingComputer scienceParsingAmbiguityProgramming languageNatural languageNatural language processingArtificial intelligenceSoftware bugSoftwareSoftware Testing and Debugging TechniquesSoftware Engineering ResearchAdvanced Malware Detection Techniques