Coverage-guided fuzzing language auto-detection
Proposal
Since we use a different fuzzer for different languages, the configuration for the .gitlab-ci.yml file can get cumbersome. Sometimes, it is only a couple lines that need to be added, sometimes it is a lot more.
Rather than making users add these scripts to their gitlab-ci.yml file, we should follow SAST's example to autodetect the language(s) that is/are in the project and instantiate the correct fuzzer for them.
Possible ideas:
- Template the scripts and automatically include the correct script when a specific language is detected
- Create an image for each fuzzer (like SAST) and call the correct image for each language
- This would create more overhead and maintenance, but would be easier for onboarding covfuzz users, since it would be consistent with all the other Secure test paradigms
- Create an image that includes all the fuzzers and pass something in the config to the image to run the correct fuzzer
- This image would likely be too large, but possibly not