deepstate icon indicating copy to clipboard operation
deepstate copied to clipboard

Allow frontend executors to consume configuration files

Open ex0dus-0x opened this issue 6 years ago • 0 comments

With a refactored frontend API we are now able to instantiate frontend objects using Frontend.init_fuzzer(), which takes advantage of setattr() to set object attributes from a dict.

We should take advantage of this and offer a way for executors and the ensembler (which now inherits from DeepStateFrontend, making it a fuzzer executor as well) to alternatively consume configuration files rather than just command line arguments:

$ deepstate-afl --config options.conf
$ deepstate-ensembler --config options.conf

Our configuration could look something like this:

# frontend API would determine whether if source to compile or already compiled binary
test_case: /path/to/binary # ... or /path/to/harness.cpp

input_seeds: /path/to/seeds
output_dir: /out

which_test: "Some_Test"
timeout: 100

# ... other fuzzer-specific arguments

This would be cool to have for something like DeepState running on a containerized microservice, which can intake test harness artifacts plus a configuration for analysis.

ex0dus-0x avatar Oct 25 '19 22:10 ex0dus-0x