New Features:
- Added a controller, BalancedController, that balances multiple InputGenerators
- Added stacked mutators that allow input-generators to apply multiple mutations within a single iteration of the fuzzing loop
Updates and Bug Fixes:
- Added option to all executors to allow VMF to ignore SUT hangs
- Added a driver to allow VMF to fuzz libFuzzer-style harnesses
- Changed dependency management system to use source archives
- Updated source dependencies
- Minor updates to VmfRand 32-bit RNG utilities
- Created a VmfTest library to facilitate testing in VMF extension repos
- RedpawnInputGenerator will now select testcases prioritizing highest fitness instead implementing a simple queue
- RedpawnInputGenerator can now be configured to limit time spent on a single seed
- RedpawnInputGenerator now supports use of cmplog data associated with function calls
- RedpawnInputGenerator supports new transforms:
- integer +/- 1 transforms
- string to upper/lower transforms
- Added all example SUTs and unit-test binaries to build
- Added KleeInitialization unit-tests
- Added Ubuntu 24 Dockerfile
- Improved VMF signal handling for termination signals
- Fixed a bug where a RedpawnInputGenerator's colorization executor configured to ignore hangs throws an exception
- Fixed an issue where the FridaExecutor's runtime wouldn't exit when it failed to identify the entry point
- Fixed an issue where FridaExecutor unit tests failed when installed to a non-default installation directory
- Fixed an issue where DictionaryMutator threw an exception when consuming a file with blank tokens
- Fixed an issue where DictionaryInitialization generated blank tokens
Note: CDMS has not changed since VMF 3.2, so no upgrade is required for VMF 5.1.0