Skip to content

ICSE'22 - PreFuzz: Probabilistic resource-efficient program-smoothing-based Fuzzing

License

Notifications You must be signed in to change notification settings

BITlab420/PreFuzz

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PreFuzz

PreFuzz is a neural program-smoothing-based fuzzing to guide fuzzing mutation with resource-efficient edge selection and probabilistic byte selection. PreFuzz is implemented based on Neuzz.

prefuzz

Published Work

Evaluating and Improving Neural Program-Smoothing-based Fuzzing, ICSE 2022.

@article{wu2022evaluating,
  title={Evaluating and Improving Neural Program-Smoothing-based Fuzzing},
  author={Wu, Mingyuan and Jiang, Ling and Xiang, Jiahong and Zhang, Yuqun and Yang, Guowei and Ma, Huixin and Nie, Sen and Wu, Shi and Cui, Heming and Zhang, Lingming},
  year={2022}
}

Setup

Environment

Tested on Linux verison 4.15.0-76-generic Ubuntu 18.04 64bit with RTX 2080ti

  • Python (>= 3.7)
  • Pytorch 1.3.1

Fuzzing with PreFuzz

Limited by the implementation, the execution should be in the same directory

# train model and communicate with fuzzer via socket
$ python nn.py /path/to/program [params]

# start fuzz (max_len: maximum size of the inital seed corpus)
$ ./fuzz -i fuzz_input -o seeds -l max_len /path/to/program [params] @@

Contact

Feel free to send an email at [email protected].

About

ICSE'22 - PreFuzz: Probabilistic resource-efficient program-smoothing-based Fuzzing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 75.3%
  • Python 24.6%
  • CMake 0.1%