Skip to content

jbcayrou/fuddly

 
 

Repository files navigation

fuddly: a fuzzing and data manipulation framework

Documentation

List of features

  • Graph-based data model that enables:
    • to represent complex data formats and also to mix them
    • complex data manipulations
    • to dissect/absorb existing data
    • generation & mutation fuzzing strategy
  • Fuzzing automation framework:
    • target abstraction
    • monitoring means based on independant probes
    • replay & logging
    • data manipulation based on disruptors (objects that implement specific data transformation)
    • virtual operator abstraction
  • and so on...

What's still missing

  • Full documentation
  • Refer to TODO file

About documentation

  • Documentation is available here.
  • In order to generate the documentation from the source, follow these steps:
    1. go to the folder docs/
    2. execute make html to generate HTML documentation
    3. execute make latexpdf to generate PDF documentation
    4. generated documentation is located in docs/build/

Launch fuddly test cases

The file fuzzfmk/test.py include all unit & integration test cases of fuddly itself. Usage is as follows:

  • To launch all the test, issue the command:

    >> python fuzzfmk/test.py -a
  • To launch all the test but the longer ones, issue the command:

    >> python fuzzfmk/test.py
  • To avoid data model specific test cases use the option --ignore-dm-specifics
  • To launch a specific test category issue the folowing command:

    >> python fuzzfmk/test.py <Test_Class>.<test_method>

Miscellaneous

  • Don't forget to populate imported_data/ with sample files for data models that need it

Dependencies

  • Compatible with Python2 and Python3
  • Mandatory:
    • six: Python 2/3 compatibility
    • sqlite3: SQLite3 data base
  • Optional:
    • xtermcolor: Terminal color support
    • cups: Python bindings for libcups
    • rpyc: Remote Python Call (RPyC), a transparent and symmetric RPC library
  • For documentation generation:
    • sphinx: sphinx >= 1.3 (with builtin napoleon extension)
    • texlive (optional): Needed to generate PDF documentation
    • readthedocs theme (optional): Privileged html theme for sphinx

About

Fuzzing and Data Manipulation Framework (for GNU/Linux)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.6%
  • PLpgSQL 0.4%