- 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 operators (objects that implement specific data transformation)
- scenario infrastructure (for modeling protocol logic)
- virtual directors
- and so on...
- Refer to TODO file
- The documentation is available here.
- In order to generate the documentation from the source, follow these steps:
- go to the folder
docs/
- execute
make html
to generate HTML documentation - execute
make latexpdf
to generate PDF documentation - generated documentation is located in
docs/build/
- go to the folder
Installation with pipenv:
$ cd <path_to_fuddly> $ pipenv install # or pipenv sync (if you want to match exactly the environment # described in fuddly Pipfile.lock) $ pipenv shell
Refer to the documentation for more information
If fuddly is installed either through pip/pipenv or a package from your distribution:
$ fuddly shell
If fuddly is not installed:
$ python -m fuddly.cli shell
The package test
include all unit & integration test cases
of fuddly
itself. From the src/
directory, usage is as follows:
To launch all the tests, issue the command:
$ python -m fuddly.test -a
To launch all the tests but the longer ones, issue the command:
$ python -m fuddly.test
To avoid data model specific test cases use the option
--ignore-dm-specifics
To launch a specific test category issue the following command:
$ python -m fuddly.test fuddly.test.<test_package>.<test_module>.<Test_Class>.<test_method>