Giter Site home page Giter Site logo

laszlogombos / fuzzinator Goto Github PK

View Code? Open in Web Editor NEW

This project forked from renatahodovan/fuzzinator

0.0 0.0 0.0 1.14 MB

Fuzzinator Random Testing Framework

License: BSD 3-Clause "New" or "Revised" License

JavaScript 5.10% C++ 0.74% Python 82.69% CSS 2.15% ANTLR 0.07% Makefile 0.35% HTML 8.90%

fuzzinator's Introduction

docs/img/fuzzinator-black-on-trans-289x49.png

Fuzzinator: Random Testing Framework

https://img.shields.io/pypi/v/fuzzinator?logo=python&logoColor=white https://img.shields.io/pypi/l/fuzzinator?logo=open-source-initiative&logoColor=white https://img.shields.io/github/actions/workflow/status/renatahodovan/fuzzinator/main.yml?branch=master&logo=github&logoColor=white https://img.shields.io/readthedocs/fuzzinator?logo=read-the-docs&logoColor=white https://img.shields.io/gitter/room/inbugwetrust/fuzzinator?color=blueviolet&logo=gitter&logoColor=white

Fuzzinator is a fuzzing framework that helps you to automate tasks usually needed during a fuzz session:

  • run your favorite test generator and feed the test cases to the software-under-test,
  • catch and save the unique issues,
  • reduce the failing test cases,
  • ease the reporting of issues in bug trackers (e.g., Bugzilla or GitHub),
  • regularly update SUTs if needed, and
  • schedule multiple SUTs and generators without overloading your workstation.

All the above features are fully customizable either by writing a simple config file or by implementing Python snippets to cover special needs. Check out some slides about Fuzzinator for a general overview, or see the Tutorial for a detailed walk-through. There is also a repository collecting configurations for various real-life SUTs and fuzzers.

To help tracking the progress of the fuzzing, Fuzzinator provides three interfaces:

  • an interactive Web UI (WUI) (supported on all platforms) that gives a continuously updated overview about the currently running tasks, statistics about the efficacy of the test generators, and the found issues (and also supports reporting them);
  • an interactive Text UI (TUI) (supported on Linux and Mac OS X only) that supports the same functionality as the WUI, but as a retro-style console interface; and
  • a dump-mode (supported on every platform) that displays the news on line-based consoles.

Requirements

  • Python >= 3.7
  • MongoDB >= 3.6 (either local installation or access to remote database)
  • Java SE >= 7 JRE or JDK (optional, required if the Picireny test case reducer is used)

Install

To install the latest release of Fuzzinator from PyPI, use pip:

pip install fuzzinator

Alternatively, for the development version, clone the project and perform a local install:

pip install .

Usage

A common form of Fuzzinator's usage:

fuzzinator --wui <path/to/the/config.ini>

Compatibility

Fuzzinator was tested on:

  • Linux (Ubuntu 14.04 / 16.04 / 18.04 / 20.04)
  • OS X / macOS (10.11 / 10.12 / 10.13 / 10.14 / 10.15 / 11)
  • Windows (Server 2012 R2 / Server version 1809 / Windows 10)

Acknowledgement and Citations

The authors are immensely grateful to Dr. Heinz Doofenshmirtz for the continuous inspiration.

Background on Fuzzinator is published in:

  • Renata Hodovan and Akos Kiss. Fuzzinator: An Open-Source Modular Random Testing Framework. In Proceedings of the 11th IEEE International Conference on Software Testing, Verification and Validation (ICST 2018), pages 416-421, Vasteras, Sweden, April 2018. IEEE. https://doi.org/10.1109/ICST.2018.00050

Copyright and Licensing

Licensed under the BSD 3-Clause License.

fuzzinator's People

Contributors

renatahodovan avatar akosthekiss avatar pmatos avatar bzsolt avatar elecro avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.