Advanced file format fuzzer based-on deep neural language models.
Before getting started, please read the documentation:
IUST-DeepFuzz Website and Documentation
and watch the DeepFuzz demo:
In the current release (0.3.0), you can use IUST-DeepFuzz for test data generation and then fuzz every application.
You need Python 3.6.x and up-to-date TensorFlow and Keras frameworks on your computer.
git clone https://github.com/m-zakeri/iust_deep_fuzz.git
or download the latest version https://github.com/m-zakeri/iust_deep_fuzz.git
config.py
work with your dataset and set other path settings.python script_name.py
A pre-trained model is a model that was trained on a large benchmark dataset to solve a problem similar to the one that we want to solve. For the time being, we provided some pre-trained models for PDF file format. Our best trained model is available at model_checkpoint/best_models
ISUT-DeepFuzz has implemented four new deep models and two new fuzz algorithms: DataNeuralFuzz and MetadataNeuralFuzz, as our contributions of the mentioned thesis. The following algorithms to generate and fuzz test data are available in the current release (r0.3.0):
data_neural_fuzz.py
: To implement the DataNeuralFuzz algorithm for fuzzing data in the files.metadata_neural_fuzz.py
: To implement MetadataNeuralFuzz for fuzzing metadata in the files.learn_and_fuzz_3_sample_fuzz.py
: To implement the SampleFuzz algorithm introduced in https://arxiv.org/abs/1701.07232.Various file format for learning with IUST-DeepFuzz and then fuzz testing is available at dataset directory.
Recently, I wrote a blog post about our DeepFuzz paper:
if you have any questions, please do not hesitate to contact me:
Last update: September 12, 2022