Program Characteristic Card-Guided Seed Generation for Large Language Model-Assisted Fuzzing
Abstract
Large language models (LLMs) can generate syntactically valid fuzzing seeds, but existing methods mainly focus on model adaptation and prompt design rather than static characteristics of target programs. This paper presents PCCFuzz, which uses source-visible program information to guide LLM-based initial seed generation. PCCFuzz builds a Code Property Graph (CPG) with Joern and collects method and literal candidates. After target-specific filtering and manual source review, confirmed input-processing evidence is organized into a Program Characteristic Card (PCC) containing parser entry functions, internal parsing functions, format tokens, keywords, and supported input structures. The PCC augments a diversity-oriented prompt, while AFL++ remains unchanged. Using GPT-4o, we compare PCC-Diverse with Diverse-LLM. Both obtain identical mean results on cJSON, whereas PCC-Diverse achieves higher average edge counts and bitmap coverage on tinyxml2 at 600 and 3600 s. The tinyxml2-oriented corpus also retains a small average advantage when transferred to libxml2. Seed-structure analysis shows that larger or deeper inputs do not necessarily yield better coverage. These results provide preliminary evidence that static parser-related characteristics can improve the downstream value of LLM-generated seeds.