iust_deep_fuzz

Advanced file format fuzzer based-on deep neural language models.

https://github.com/m-zakeri/iust_deep_fuzz

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary

Keywords

code-coverage deep-learning fuzz-testing keras neural-language-model recurrent-neural-networks tensorflow test-data vulnerability-detection
Last synced: 6 months ago · JSON representation

Repository

Advanced file format fuzzer based-on deep neural language models.

Basic Info
Statistics
  • Stars: 41
  • Watchers: 5
  • Forks: 16
  • Open Issues: 0
  • Releases: 1
Topics
code-coverage deep-learning fuzz-testing keras neural-language-model recurrent-neural-networks tensorflow test-data vulnerability-detection
Created almost 8 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License Citation

README.md

IUST-DeepFuzz

Before getting started, please read the documentation:

IUST-DeepFuzz Website and Documentation

and watch the DeepFuzz demo:

Video demo

Getting Started

In the current release (0.3.0), you can use IUST-DeepFuzz for test data generation and then fuzz every application.

Install

You need Python 3.6.x and up-to-date TensorFlow and Keras frameworks on your computer. * Install Python 3.6.x * Install TensorFlow * Install Keras * Clone the IUST-DeepFuzz repository: git clone https://github.com/m-zakeri/iust_deep_fuzz.git or download the latest version https://github.com/m-zakeri/iustdeepfuzz.git * IUST-DeepFuzz is almost ready for test data generation!

Running

  • Configure the config.py work with your dataset and set other path settings.
  • Find the script of the specific algorithm that you need.
  • Run the script in the command line: python script_name.py
  • Wait until your file format learns and your test data is generated!

Available Pre-trained Models

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 modelcheckpoint/bestmodels

Available Fuzzing Scripts

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.

Available Dataset

Various file format for learning with IUST-DeepFuzz and then fuzz testing is available at dataset directory.

Read More

Recently, I wrote a blog post about our DeepFuzz paper:

FAQs

if you have any questions, please do not hesitate to contact me:

m-zakeri@live.com

Last update: September 12, 2022

Owner

  • Name: Morteza Zakeri
  • Login: m-zakeri
  • Kind: user
  • Location: Planet Earth
  • Company: @Micropedia

Ph.D. candidate, software engineer, machine intelligence

GitHub Events

Total
Last Year

Dependencies

seed/convert_coverage_to_xml/CodeCoverageCS/CodeCoverageCS/CodeCoverageCS.csproj nuget