Overview
As a researcher at ARC Laboratory, I’m developing an experimental greybox fuzzing framework that uses AFL++ and Clang to analyze how compiler optimizations transform program structure. By instrumenting compiled binaries, the tool identifies patterns in optimization-induced code changes.
AI Integration
- LLM-Driven Mutations: Leverages large language models to generate targeted code mutations that explore edge-case optimization paths
- Pipeline Fusion: Integrates AI-generated snippets directly into the AFL++ mutation loop for smarter, context-aware fuzzing
Key Features
- Clang Instrumentation: Hooks into the compilation pipeline to record optimization passes
- Fuzzing Harness: Uses AFL++’s coverage feedback to guide input generation
- Structural Analysis: Detects recurring transformation patterns across multiple compilation runs
- AI Mutation Strategy: Employs GPT-based code suggestions to uncover hidden optimization bugs
Built With
- Python 3.10+
- Clang & LLVM tooling
- AFL++ fuzzing engine
- OpenAI GPT API (or local LLM)
Impact & Next Steps
- Early experiments show improved coverage of optimization-specific branches
- Planning to extend to multi-optimization scenario testing and integrate differential fuzzing across compiler versions