- 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)
- scenario infrastructure (for modeling protocol logic)
- virtual operators
- and so on...
- Refer to TODO file
- 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
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>
- Don't forget to populate
<fuddly data folder>/imported_data/
with sample files for data models that need it - Note that when the fuddly shell is launched, the path of the fuddly data folder is displayed as well as its configuration folder
- Compatible with Python3
- Mandatory:
- sqlite3: SQLite3 data base
- Optional:
- xtermcolor: Terminal color support
- graphviz: For graphic visualization (e.g., scenario display)
- paramiko: Python implementation of the SSHv2 protocol
- serial: For serial port access
- cups: Python bindings for libcups
- rpyc: Remote Python Call (RPyC), a transparent and symmetric RPC library
- pyxdg: XDG Base Directory support
- For testing:
- 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