v4.0.0
VMF Version 4.0.0
New Features:
- API Changes to VMF Modules (see docs/migration-4.0.0.md for additional details):
- ExecutorModule now has access to storage, and should write execution results to storage
- FeedbackModule no longer directly depends on a specific ExecutorModule
- InputGenerator now creates the new StorageEntry and passes it to the mutator submodule
- FormatterModule has been removed
- New helper methods to retrieve a submodule by name (getXXXSubmoduleByName)
- API Changes to StorageModule (see docs/migration-4.0.0.md for additional details):
- Tagging separated from saving
- Support for temporary/local storage entries
- New convenience methods to allocation and initialize a buffer in one step
- Capability to specify a default value for a storage entry field
- Minor renaming/relocation of functions
- RedPawn: An input-to-state (I2S) analysis tool comparable to RedQueen (https://www.ndss-symposium.org/wp-content/uploads/2019/02/ndss2019_04A-2_Aschermann_paper.pdf)
- Config Changes:
- New configuration option to support a named set of submodules (see vmfClassSet in docs/configuration.md)
- Storage and controller module configuration options are now references by className/id (to be consistent with other modules)
- New VmfRand utility function
Updates and Bug Fixes:
- Additional Linux OS Support:
- CentOS 8 and 9
- Kali
- Oracle Linux 8 and 9
- RedHat 8 and 9
- Ubuntu 20 and 22 (Supported in earlier release of VMF as well)
- DirectoryBasedSeedGenerator now sorts test cases in input directory alphabetically
- Improved error handling in AFLForkserverExecutor, auto-detection of AFL++ map size
- Build Changes
- make vmf-clean target is now included (rebuilds VMF without rebuilding third party dependencies)
- coremodules renamed to modules
- VMF framework dependencies are now statically linked, and the required source code is included with VMF
- VMF no longer directly depends on AFL++ source code
- Radamsa module removed
- Radamsa support will instead be provided through VMF Experimental repository(https://github.com/draperlaboratory/VmfExperimental)
- Minor renaming and restructuring of source code
Note: CDMS has not changed since VMF 3.2, so no upgrade is required for VMF 4.0.0
Release binaries SHA256:
- CDMS.war: 052b61544d9d2c084f2ff3632d2564eb3358cbff95e7aa441c2c9ddf47a00650
- emptycdms.db: 38788934bef348e0ce77c7a03145c1e969c4092b3505b1f7e98e5c3f8e099813