ClamAV is an open source (GPLv2) anti-virus toolkit.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
clamav/fuzz
Micah Snyder 9cb28e51e6 Bump copyright dates for 2024 1 year ago
..
CMakeLists.txt Bump copyright dates for 2024 1 year ago
README.md Added oss-fuzz integration. 6 years ago
clamav_dbload_fuzzer.cpp Bump copyright dates for 2024 1 year ago
clamav_scanfile_fuzzer.cpp Bump copyright dates for 2024 1 year ago
clamav_scanmap_fuzzer.cpp Bump copyright dates for 2024 1 year ago
run_fuzzer_tests.py Bump copyright dates for 2024 1 year ago
standalone_fuzz_target_runner.cpp Fix typos (no functional changes) 2 years ago

README.md

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