clamav/fuzz
2019-10-02 16:08:24 -04:00
..
clamav_dbload_fuzzer.cpp Updating and cleaning up copyright notices. 2019-10-02 16:08:18 -04:00
clamav_scanfile_fuzzer.cpp Updating and cleaning up copyright notices. 2019-10-02 16:08:18 -04:00
clamav_scanmap_fuzzer.cpp Updating and cleaning up copyright notices. 2019-10-02 16:08:18 -04:00
Makefile.am oss-fuzz-issue-2317: changing LIB_FUZZING_ENGINE to LIB_FUZZING_ENGINE_DEPRECATED as temporary fix. 2019-10-02 16:08:20 -04:00
Makefile.in Autojunk'd 2019-10-02 16:08:24 -04:00
README.md Added oss-fuzz integration. 2019-10-02 16:08:17 -04:00
run_fuzzer_tests.py Updating and cleaning up copyright notices. 2019-10-02 16:08:18 -04:00
standalone_fuzz_target_runner.cpp Added oss-fuzz integration. 2019-10-02 16:08:17 -04:00

OSS-Fuzz

ClamAV has chosen to integrate with oss-fuzz.

What this means is that this repository includes:

  • Fuzz targets:

    • A function to which we apply fuzzing.
    • For ClamAV, clamav_scanfile_fuzzer.cc may be compiled with specific macros defined to produce multiple fuzz targets.
    • Additional fuzz targets may be added to fuzz other ClamAV inputs.
  • Seed corpora:

    • A set of minimal test inputs that generate maximal code coverage.
    • Each ClamAV fuzz target has a seed corpus located under: fuzz/corpus/
  • Fuzzing dictionaries:

    • A simple dictionary of tokens used by the input language. This can have a dramatic positive effect on fuzzing efficiency. For example, when fuzzing an XML parser, a dictionary of XML tokens will help.
    • Some ClamAV fuzz targets have a dictionary located under: fuzz/dictionaries/.dict

For more information on how this is set up, see: ideal OSS-Fuzz integration