https://github.com/aflplusplus/commit-fuzzing-demo
This is an example library to show how to fuzz with AFL++ only the code modified by the last commit.
https://github.com/aflplusplus/commit-fuzzing-demo
Last synced: 11 months ago
JSON representation
This is an example library to show how to fuzz with AFL++ only the code modified by the last commit.
- Host: GitHub
- URL: https://github.com/aflplusplus/commit-fuzzing-demo
- Owner: AFLplusplus
- Created: 2020-03-02T12:47:37.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-02T13:24:24.000Z (over 6 years ago)
- Last Synced: 2024-10-29T11:13:07.287Z (over 1 year ago)
- Language: Python
- Size: 5.86 KB
- Stars: 15
- Watchers: 6
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AFL++ Commit Fuzzing Demo
This is an example library to show how to fuzz with AFL++ only the code modified by the last commit.
This can be easily integrated as pre-commit hook or CI script.
Basically, for each of your harnesses, you have to define the list of source files covered by fuzzing that harness.
When `fuzz.py` is runned, it checks the files modified by the last commit in git and, if there are some harnesses that depends on one of such files, fuzz them for a fixed period of time using the LLVM whitelisting and so collecting coverage feedback only from the modified files.
This can be called "commit oriented fuzzing" if you want.
This code was written in 10 minutes, don't expect something for your production-ready library.