Full Code of google/oss-fuzz for AI

master f7e5bbb2fc46 cached
6768 files
25.1 MB
3.3M tokens
6751 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (13,113K chars total). Download the full file to get everything.
Repository: google/oss-fuzz
Branch: master
Commit: f7e5bbb2fc46
Files: 6768
Total size: 25.1 MB

Directory structure:
gitextract_pywrjdt2/

├── .allstar/
│   └── binary_artifacts.yaml
├── .clusterfuzzlite/
│   ├── Dockerfile
│   ├── build.sh
│   ├── coverage_atheris_fuzzer.py
│   └── project.yaml
├── .dockerignore
├── .gitattributes
├── .github/
│   ├── header-checker-lint.yml
│   └── workflows/
│       ├── cflite_pr.yml
│       ├── check_base_os.yml
│       ├── codeql-analysis.yml
│       ├── index_build_tests.yml
│       ├── indexer_build.yml
│       ├── infra_tests.yml
│       ├── pr_helper.yml
│       ├── presubmit.yml
│       ├── project_tests.yml
│       └── ubuntu_version_sync.yml
├── .gitignore
├── .pylintrc
├── .style.yapf
├── AGENTS.md
├── CITATION.cff
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── docs/
│   ├── .gitignore
│   ├── 404.html
│   ├── Gemfile
│   ├── README.md
│   ├── _config.yml
│   ├── _sass/
│   │   └── color_schemes/
│   │       └── wider.scss
│   ├── advanced-topics/
│   │   ├── advanced_topics.md
│   │   ├── bug_fixing_guidance.md
│   │   ├── code_coverage.md
│   │   ├── corpora.md
│   │   ├── debugging.md
│   │   ├── fuzz_introspector.md
│   │   ├── ideal_integration.md
│   │   └── reproducing.md
│   ├── assets/
│   │   └── css/
│   │       └── just-the-docs-wider.scss
│   ├── faq.md
│   ├── further-reading/
│   │   ├── clusterfuzz.md
│   │   ├── further_reading.md
│   │   └── fuzzer_environment.md
│   ├── getting-started/
│   │   ├── accepting_new_projects.md
│   │   ├── bug_disclosure_guidelines.md
│   │   ├── continuous_integration.md
│   │   ├── getting_started.md
│   │   ├── integration_rewards.md
│   │   ├── new-project-guide/
│   │   │   ├── bazel.md
│   │   │   ├── go_lang.md
│   │   │   ├── javascript_lang.md
│   │   │   ├── jvm_lang.md
│   │   │   ├── lua_lang.md
│   │   │   ├── python_lang.md
│   │   │   ├── rust_lang.md
│   │   │   └── swift_lang.md
│   │   └── new_project_guide.md
│   ├── glossary.md
│   ├── ideal_integration.md
│   ├── index.md
│   ├── new_project_guide.md
│   ├── oss-fuzz/
│   │   └── architecture.md
│   ├── reference/
│   │   ├── glossary.md
│   │   ├── reference.md
│   │   └── useful_links.md
│   ├── reproducing.md
│   └── research/
│       └── target_generation.md
├── infra/
│   ├── .dockerignore
│   ├── MAINTAINERS.csv
│   ├── README.md
│   ├── base-images/
│   │   ├── README.md
│   │   ├── all.sh
│   │   ├── base-builder/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── README.md
│   │   │   ├── afl_llvm22_patch.diff
│   │   │   ├── bazel.bazelrc
│   │   │   ├── bazel_build_fuzz_tests
│   │   │   ├── bisect_clang.py
│   │   │   ├── bisect_clang_test.py
│   │   │   ├── cargo
│   │   │   ├── compile
│   │   │   ├── compile_afl
│   │   │   ├── compile_centipede
│   │   │   ├── compile_fuzztests.sh
│   │   │   ├── compile_go_fuzzer
│   │   │   ├── compile_honggfuzz
│   │   │   ├── compile_javascript_fuzzer
│   │   │   ├── compile_libfuzzer
│   │   │   ├── compile_native_go_fuzzer
│   │   │   ├── compile_native_go_fuzzer_v2
│   │   │   ├── compile_python_fuzzer
│   │   │   ├── debug_afl
│   │   │   ├── detect_repo.py
│   │   │   ├── detect_repo_test.py
│   │   │   ├── go_utils.sh
│   │   │   ├── indexer/
│   │   │   │   ├── README.md
│   │   │   │   ├── clang_wrapper.py
│   │   │   │   ├── clang_wrapper_test.py
│   │   │   │   ├── coverage.cc
│   │   │   │   ├── dwarf_info.py
│   │   │   │   ├── dwarf_info_diff.py
│   │   │   │   ├── fuzzing_engine.cc
│   │   │   │   ├── ignored_deps.json
│   │   │   │   ├── index_build.py
│   │   │   │   ├── index_build_test.py
│   │   │   │   ├── manifest_constants.py
│   │   │   │   ├── manifest_types.py
│   │   │   │   └── utils.py
│   │   │   ├── install_deps.sh
│   │   │   ├── install_deps_ubuntu-20-04.sh
│   │   │   ├── install_deps_ubuntu-24-04.sh
│   │   │   ├── install_go.sh
│   │   │   ├── install_java.sh
│   │   │   ├── install_javascript.sh
│   │   │   ├── install_python.sh
│   │   │   ├── install_ruby.sh
│   │   │   ├── install_rust.sh
│   │   │   ├── install_swift.sh
│   │   │   ├── install_swift_ubuntu-20-04.sh
│   │   │   ├── install_swift_ubuntu-24-04.sh
│   │   │   ├── jcc/
│   │   │   │   ├── build_jcc.bash
│   │   │   │   ├── go.mod
│   │   │   │   ├── jcc.go
│   │   │   │   ├── jcc2.go
│   │   │   │   ├── jcc_test.go
│   │   │   │   └── testdata/
│   │   │   │       ├── .gitignore
│   │   │   │       ├── cfile.c
│   │   │   │       ├── cpp.cc
│   │   │   │       └── path/
│   │   │   │           └── to/
│   │   │   │               └── header.h
│   │   │   ├── llvmsymbol.diff
│   │   │   ├── make_build_replayable.py
│   │   │   ├── ossfuzz_coverage_runner.go
│   │   │   ├── precompile_afl
│   │   │   ├── precompile_centipede
│   │   │   ├── precompile_honggfuzz
│   │   │   ├── precompile_honggfuzz_ubuntu_20_04
│   │   │   ├── precompile_honggfuzz_ubuntu_24_04
│   │   │   ├── python_coverage_helper.py
│   │   │   ├── replay_build.sh
│   │   │   ├── sanitizers/
│   │   │   │   └── pysecsan/
│   │   │   │       ├── .gitignore
│   │   │   │       ├── LICENSE
│   │   │   │       ├── README.md
│   │   │   │       ├── pyproject.toml
│   │   │   │       ├── pysecsan/
│   │   │   │       │   ├── __init__.py
│   │   │   │       │   ├── command_injection.py
│   │   │   │       │   ├── redos.py
│   │   │   │       │   ├── sanlib.py
│   │   │   │       │   └── yaml_deserialization.py
│   │   │   │       ├── setup.py
│   │   │   │       └── tests/
│   │   │   │           ├── README.md
│   │   │   │           ├── eval_command_injection.py
│   │   │   │           ├── os_command_injection.py
│   │   │   │           ├── poe/
│   │   │   │           │   ├── ansible-runner-cve-2021-4041/
│   │   │   │           │   │   ├── build.sh
│   │   │   │           │   │   └── fuzz_ansible_runner.py
│   │   │   │           │   ├── libvcs-cve-2022-21187/
│   │   │   │           │   │   ├── build.sh
│   │   │   │           │   │   └── fuzz_libvcs.py
│   │   │   │           │   ├── python-ldap-GHSL-2021-117/
│   │   │   │           │   │   ├── build.sh
│   │   │   │           │   │   └── fuzz_ldap.py
│   │   │   │           │   └── pytorch-lightning-1.5.10/
│   │   │   │           │       ├── build.sh
│   │   │   │           │       ├── fuzz_pytorch_lightning.dict
│   │   │   │           │       └── fuzz_pytorch_lightning.py
│   │   │   │           ├── subprocess_popen_injection.py
│   │   │   │           ├── yaml_deserialization_general.py
│   │   │   │           └── yaml_deserialization_simple.py
│   │   │   ├── srcmap
│   │   │   ├── test_data/
│   │   │   │   └── culprit-commit.txt
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   ├── ubuntu-24-04.Dockerfile
│   │   │   ├── unshallow_repos.py
│   │   │   └── write_labels.py
│   │   ├── base-builder-fuzzbench/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── fuzzbench_build
│   │   │   ├── fuzzbench_install_dependencies
│   │   │   ├── fuzzbench_install_dependencies_ubuntu_20_04
│   │   │   ├── fuzzbench_install_dependencies_ubuntu_24_04
│   │   │   ├── fuzzbench_measure
│   │   │   ├── fuzzbench_run_fuzzer
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-go/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── gosigfuzz.c
│   │   │   ├── ossfuzz_coverage_runner.go
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-javascript/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-jvm/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-python/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-ruby/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ruzzy-build
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-rust/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-swift/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── llvmsymbol.diff
│   │   │   ├── precompile_swift
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-clang/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── README.md
│   │   │   ├── checkout_build_install_llvm.sh
│   │   │   ├── checkout_build_install_llvm_ubuntu_20_04.sh
│   │   │   ├── checkout_build_install_llvm_ubuntu_24_04.sh
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-image/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-runner/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── README.md
│   │   │   ├── bad_build_check
│   │   │   ├── coverage
│   │   │   ├── coverage_helper
│   │   │   ├── download_corpus
│   │   │   ├── generate_differential_cov_report.py
│   │   │   ├── gocoverage/
│   │   │   │   ├── go.mod
│   │   │   │   ├── go.sum
│   │   │   │   ├── gocovmerge/
│   │   │   │   │   ├── LICENSE
│   │   │   │   │   └── gocovmerge.go
│   │   │   │   ├── gocovsum/
│   │   │   │   │   └── gocovsum.go
│   │   │   │   └── pprof-merge/
│   │   │   │       ├── LICENSE
│   │   │   │       └── main.go
│   │   │   ├── install_deps.sh
│   │   │   ├── install_deps_ubuntu_20_04.sh
│   │   │   ├── install_deps_ubuntu_24_04.sh
│   │   │   ├── install_go.sh
│   │   │   ├── install_java.sh
│   │   │   ├── install_javascript.sh
│   │   │   ├── jacoco_report_converter.py
│   │   │   ├── nyc_report_converter.py
│   │   │   ├── parse_options.py
│   │   │   ├── profraw_update.py
│   │   │   ├── python_coverage_runner_help.py
│   │   │   ├── rcfilt
│   │   │   ├── reproduce
│   │   │   ├── run_fuzzer
│   │   │   ├── ruzzy
│   │   │   ├── targets_list
│   │   │   ├── test_all.py
│   │   │   ├── test_all_test.py
│   │   │   ├── test_one.py
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-runner-debug/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   └── list_images.py
│   ├── bisector.py
│   ├── bisector_test.py
│   ├── build/
│   │   ├── blog/
│   │   │   ├── .gitignore
│   │   │   ├── Dockerfile
│   │   │   ├── build_blog.sh
│   │   │   ├── content/
│   │   │   │   ├── about.md
│   │   │   │   └── posts/
│   │   │   │       ├── introducing-java-auto-harnessing.md
│   │   │   │       ├── introducing-llm-based-harness-synthesis-for-unfuzzed-projects.md
│   │   │   │       ├── oss-fuzz-hello-world.md
│   │   │   │       └── oss-fuzz-integrations-via-agent-based-build-generation.md
│   │   │   └── hugo.toml
│   │   ├── build_status/
│   │   │   ├── Dockerfile
│   │   │   ├── cloudbuild.yaml
│   │   │   ├── fuzz_introspector_page_gen.py
│   │   │   ├── update_build_status.py
│   │   │   └── update_build_status_test.py
│   │   ├── functions/
│   │   │   ├── __init__.py
│   │   │   ├── base_images.py
│   │   │   ├── build_and_push_test_images.py
│   │   │   ├── build_and_run_coverage.py
│   │   │   ├── build_and_run_coverage_test.py
│   │   │   ├── build_lib.py
│   │   │   ├── build_project.py
│   │   │   ├── build_project_test.py
│   │   │   ├── datastore_entities.py
│   │   │   ├── deploy.sh
│   │   │   ├── fuzzbench.py
│   │   │   ├── fuzzbench_local_run.py
│   │   │   ├── fuzzbench_test.py
│   │   │   ├── gcb.py
│   │   │   ├── gcb_test.py
│   │   │   ├── index.yaml
│   │   │   ├── indexer_build_test.py
│   │   │   ├── main.py
│   │   │   ├── ood.Dockerfile
│   │   │   ├── ood_upload_corpus.py
│   │   │   ├── ood_upload_corpus_test.py
│   │   │   ├── ood_upload_testcase.py
│   │   │   ├── ood_upload_testcase_test.py
│   │   │   ├── oss_fuzz_on_demand.py
│   │   │   ├── project_experiment.py
│   │   │   ├── project_sync.py
│   │   │   ├── project_sync_test.py
│   │   │   ├── report_generator.py
│   │   │   ├── request_build.py
│   │   │   ├── request_build_test.py
│   │   │   ├── request_coverage_build.py
│   │   │   ├── request_coverage_build_test.py
│   │   │   ├── request_introspector_build.py
│   │   │   ├── request_introspector_build_test.py
│   │   │   ├── requirements.txt
│   │   │   ├── target_experiment.py
│   │   │   ├── test_data/
│   │   │   │   ├── expected_build_steps.json
│   │   │   │   ├── expected_build_steps_ubuntu_24_04.json
│   │   │   │   ├── expected_centipede_build_steps.json
│   │   │   │   ├── expected_coverage_build_steps.json
│   │   │   │   └── expected_trial_build_steps.json
│   │   │   ├── test_utils.py
│   │   │   ├── trial_build/
│   │   │   │   ├── Dockerfile
│   │   │   │   └── cloudbuild.yaml
│   │   │   ├── trial_build.py
│   │   │   └── trial_build_test.py
│   │   ├── fuzz-introspector-webapp/
│   │   │   ├── Dockerfile
│   │   │   └── cloudbuild.yaml
│   │   ├── request_all_builds.sh
│   │   ├── request_build.sh
│   │   └── status/
│   │       ├── bower.json
│   │       ├── deploy.sh
│   │       ├── index.html
│   │       ├── manifest.json
│   │       ├── polymer.json
│   │       └── src/
│   │           └── build-status/
│   │               └── build-status.html
│   ├── build_fuzzers.Dockerfile
│   ├── build_fuzzers.ubuntu-24-04.Dockerfile
│   ├── build_specified_commit.py
│   ├── build_specified_commit_test.py
│   ├── chronos/
│   │   ├── README.md
│   │   ├── __init__.py
│   │   ├── container_cache_build.sh
│   │   ├── container_coverage_collection.sh
│   │   ├── container_patch_replay_test.sh
│   │   ├── container_patch_tests_test.sh
│   │   ├── coverage_test_collection.py
│   │   ├── integrity_validator_check_replay.py
│   │   ├── integrity_validator_run_tests.py
│   │   ├── manager.py
│   │   └── requirements.txt
│   ├── ci/
│   │   ├── build.py
│   │   ├── build_test.py
│   │   ├── check_base_os.py
│   │   └── requirements.txt
│   ├── cifuzz/
│   │   ├── CHANGELOG
│   │   ├── actions/
│   │   │   ├── build_fuzzers/
│   │   │   │   └── action.yml
│   │   │   └── run_fuzzers/
│   │   │       └── action.yml
│   │   ├── affected_fuzz_targets.py
│   │   ├── affected_fuzz_targets_test.py
│   │   ├── base_runner_utils.py
│   │   ├── build-images.sh
│   │   ├── build_fuzzers.py
│   │   ├── build_fuzzers_entrypoint.py
│   │   ├── build_fuzzers_test.py
│   │   ├── cifuzz-base/
│   │   │   ├── Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── cifuzz_combined_entrypoint.py
│   │   ├── cifuzz_end_to_end_test.py
│   │   ├── cloudbuild.yaml
│   │   ├── clusterfuzz_deployment.py
│   │   ├── clusterfuzz_deployment_test.py
│   │   ├── config_utils.py
│   │   ├── config_utils_test.py
│   │   ├── continuous_integration.py
│   │   ├── continuous_integration_test.py
│   │   ├── docker.py
│   │   ├── docker_test.py
│   │   ├── environment.py
│   │   ├── example_cifuzz.yml
│   │   ├── external-actions/
│   │   │   ├── build_fuzzers/
│   │   │   │   └── action.yml
│   │   │   └── run_fuzzers/
│   │   │       └── action.yml
│   │   ├── filestore/
│   │   │   ├── __init__.py
│   │   │   ├── filesystem/
│   │   │   │   └── __init__.py
│   │   │   ├── git/
│   │   │   │   ├── __init__.py
│   │   │   │   └── git_test.py
│   │   │   ├── github_actions/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── github_actions_test.py
│   │   │   │   ├── github_api.py
│   │   │   │   ├── github_api_test.py
│   │   │   │   └── upload.js
│   │   │   ├── gitlab/
│   │   │   │   └── __init__.py
│   │   │   ├── gsutil/
│   │   │   │   └── __init__.py
│   │   │   └── no_filestore/
│   │   │       └── __init__.py
│   │   ├── filestore_utils.py
│   │   ├── filestore_utils_test.py
│   │   ├── fuzz_target.py
│   │   ├── fuzz_target_test.py
│   │   ├── generate_coverage_report.py
│   │   ├── generate_coverage_report_test.py
│   │   ├── get_coverage.py
│   │   ├── get_coverage_test.py
│   │   ├── http_utils.py
│   │   ├── http_utils_test.py
│   │   ├── logs.py
│   │   ├── package.json
│   │   ├── platform_config/
│   │   │   ├── __init__.py
│   │   │   ├── gcb.py
│   │   │   ├── github.py
│   │   │   ├── github_test.py
│   │   │   ├── gitlab.py
│   │   │   ├── platform_config_test.py
│   │   │   ├── prow.py
│   │   │   └── standalone.py
│   │   ├── requirements.txt
│   │   ├── run_cifuzz.py
│   │   ├── run_fuzzers.py
│   │   ├── run_fuzzers_entrypoint.py
│   │   ├── run_fuzzers_test.py
│   │   ├── sarif_utils.py
│   │   ├── sarif_utils_test.py
│   │   ├── test_data/
│   │   │   ├── TimeoutFuzzer.cpp
│   │   │   ├── build-out/
│   │   │   │   ├── example_crash_fuzzer
│   │   │   │   └── example_nocrash_fuzzer
│   │   │   ├── example_coverage_report_summary.json
│   │   │   ├── example_crash_fuzzer_bug_summary.txt
│   │   │   ├── example_crash_fuzzer_output.txt
│   │   │   ├── example_curl_cov.json
│   │   │   ├── example_curl_file_list.json
│   │   │   ├── example_curl_fuzzer_cov.json
│   │   │   ├── external-project/
│   │   │   │   ├── .clusterfuzzlite/
│   │   │   │   │   ├── Dockerfile
│   │   │   │   │   └── build.sh
│   │   │   │   ├── Makefile
│   │   │   │   ├── do_stuff_fuzzer.cpp
│   │   │   │   ├── do_stuff_fuzzer.dict
│   │   │   │   ├── my_api.cpp
│   │   │   │   ├── my_api.h
│   │   │   │   └── standalone_fuzz_target_runner.cpp
│   │   │   ├── memory/
│   │   │   │   └── build-out/
│   │   │   │       └── curl_fuzzer_memory
│   │   │   ├── msan_crash_fuzzer_bug_summary.txt
│   │   │   ├── msan_crash_fuzzer_output.txt
│   │   │   ├── sarif_utils_msan_stack.txt
│   │   │   ├── sarif_utils_only_llvmfuzzer_stack.txt
│   │   │   ├── sarif_utils_systemd_stack.txt
│   │   │   ├── timeout_fuzzer
│   │   │   └── undefined/
│   │   │       └── build-out/
│   │   │           └── curl_fuzzer_undefined
│   │   ├── test_helpers.py
│   │   └── workspace_utils.py
│   ├── common_utils.py
│   ├── constants.py
│   ├── experimental/
│   │   ├── SystemSan/
│   │   │   ├── Makefile
│   │   │   ├── PoEs/
│   │   │   │   ├── node-shell-quote-v1.7.3/
│   │   │   │   │   ├── Dockerfile
│   │   │   │   │   ├── Makefile
│   │   │   │   │   ├── build.sh
│   │   │   │   │   └── target.js
│   │   │   │   └── pytorch-lightning-1.5.10/
│   │   │   │       ├── Dockerfile
│   │   │   │       ├── Makefile
│   │   │   │       ├── build.sh
│   │   │   │       ├── fuzz_pytorch_lightning.py
│   │   │   │       └── vuln.dict
│   │   │   ├── README.md
│   │   │   ├── SystemSan.cpp
│   │   │   ├── inspect_dns.cpp
│   │   │   ├── inspect_dns.h
│   │   │   ├── inspect_utils.cpp
│   │   │   ├── inspect_utils.h
│   │   │   ├── target.cpp
│   │   │   ├── target_dns.cpp
│   │   │   ├── target_file.cpp
│   │   │   └── vuln.dict
│   │   ├── chronos/
│   │   │   ├── Dockerfile
│   │   │   ├── README.md
│   │   │   ├── build_all.sh
│   │   │   ├── build_cache_local.sh
│   │   │   ├── build_on_cloudbuild.sh
│   │   │   ├── check_tests.sh
│   │   │   ├── chronos.sh
│   │   │   ├── cloudbuild.yaml
│   │   │   ├── cloudbuild_all.yaml
│   │   │   ├── e2e-replay-build.sh
│   │   │   ├── match_artifacts.sh
│   │   │   ├── prepare-ccache
│   │   │   ├── prepare-replay-rebuild
│   │   │   └── requirements.txt
│   │   ├── contrib/
│   │   │   └── arvo/
│   │   │       ├── LICENSE
│   │   │       ├── __init__.py
│   │   │       ├── arvo_data.py
│   │   │       ├── arvo_reproducer.py
│   │   │       ├── arvo_reproducer_test.py
│   │   │       ├── arvo_utils.py
│   │   │       ├── component_fixes.json
│   │   │       ├── hacks/
│   │   │       │   ├── __init__.py
│   │   │       │   ├── cryptofuzz.py
│   │   │       │   ├── dlplibs.py
│   │   │       │   ├── duckdb.py
│   │   │       │   ├── ffmpeg.py
│   │   │       │   ├── ghostscript.py
│   │   │       │   ├── gnutls.py
│   │   │       │   ├── graphicsmagick.py
│   │   │       │   ├── imagemagick.py
│   │   │       │   ├── jbig2dec.py
│   │   │       │   ├── lcms.py
│   │   │       │   ├── libheif.py
│   │   │       │   ├── libredwg.py
│   │   │       │   ├── libreoffice.py
│   │   │       │   ├── libyang.py
│   │   │       │   ├── lwan.py
│   │   │       │   ├── openh264.py
│   │   │       │   ├── quickjs.py
│   │   │       │   ├── radare2.py
│   │   │       │   ├── skia.py
│   │   │       │   ├── uwebsockets.py
│   │   │       │   ├── wireshark.py
│   │   │       │   ├── wolfssl.py
│   │   │       │   └── yara.py
│   │   │       └── string_replacement.json
│   │   ├── mcp/
│   │   │   ├── .gitignore
│   │   │   ├── README.md
│   │   │   ├── client.py
│   │   │   ├── config.py
│   │   │   ├── oss_fuzz_server.py
│   │   │   └── requirements.txt
│   │   └── sanitizers/
│   │       └── ExecSan/
│   │           └── README.md
│   ├── helper.py
│   ├── helper_test.py
│   ├── indexer/
│   │   ├── CMakeLists.txt
│   │   ├── Dockerfile
│   │   ├── frontend/
│   │   │   ├── ast_visitor.cc
│   │   │   ├── ast_visitor.h
│   │   │   ├── common.cc
│   │   │   ├── common.h
│   │   │   ├── frontend.cc
│   │   │   ├── frontend.h
│   │   │   ├── frontend_test.cc
│   │   │   ├── index_action.cc
│   │   │   ├── index_action.h
│   │   │   ├── pp_callbacks.cc
│   │   │   └── pp_callbacks.h
│   │   ├── index/
│   │   │   ├── file_copier.cc
│   │   │   ├── file_copier.h
│   │   │   ├── file_copier_unittest.cc
│   │   │   ├── in_memory_index.cc
│   │   │   ├── in_memory_index.h
│   │   │   ├── in_memory_index_unittest.cc
│   │   │   ├── sqlite.cc
│   │   │   ├── sqlite.h
│   │   │   ├── types.cc
│   │   │   ├── types.h
│   │   │   └── types_unittest.cc
│   │   ├── init.h
│   │   ├── main.cc
│   │   ├── merge_queue.cc
│   │   ├── merge_queue.h
│   │   ├── queue_state.cc
│   │   ├── queue_state.h
│   │   ├── ubuntu-20-04.Dockerfile
│   │   └── ubuntu-24-04.Dockerfile
│   ├── manifest.py
│   ├── pr_helper.py
│   ├── presubmit.py
│   ├── pytest.ini
│   ├── repo_manager.py
│   ├── repo_manager_test.py
│   ├── retry.py
│   ├── run_fuzzers.Dockerfile
│   ├── run_fuzzers.ubuntu-24-04.Dockerfile
│   ├── templates.py
│   ├── test
│   ├── test_repos.py
│   ├── tools/
│   │   ├── hold_back_images.py
│   │   └── wycheproof/
│   │       ├── .gitignore
│   │       ├── generate_job.py
│   │       ├── launcher.py
│   │       ├── package.bash
│   │       └── run.py
│   ├── uploader/
│   │   └── Dockerfile
│   ├── utils.py
│   └── utils_test.py
├── projects/
│   ├── abseil-cpp/
│   │   ├── BUILD
│   │   ├── Dockerfile
│   │   ├── WORKSPACE
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── string_escape_fuzzer.cc
│   │   └── string_utilities_fuzzer.cc
│   ├── abseil-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_argparse.py
│   │   └── project.yaml
│   ├── ada-url/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── adal/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_util.py
│   │   ├── fuzz_xmlutil.py
│   │   └── project.yaml
│   ├── aiohttp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_http_parser.py
│   │   ├── fuzz_http_payload_parser.py
│   │   ├── fuzz_multipart.py
│   │   ├── fuzz_payload_url.py
│   │   ├── fuzz_web_request.py
│   │   └── project.yaml
│   ├── airflow/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── dag_fuzz.py
│   │   └── project.yaml
│   ├── alembic/
│   │   ├── Dockerfile
│   │   ├── alembic_dump_info_fuzzer.cc
│   │   ├── build.sh
│   │   ├── fuzzer_temp_file.h
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── ampproject/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_patch.diff
│   │   └── project.yaml
│   ├── angle/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_sha1.cc
│   │   ├── fuzzer_profile
│   │   └── project.yaml
│   ├── angular/
│   │   ├── Dockerfile
│   │   ├── babel.config.json
│   │   ├── build.sh
│   │   ├── compiler/
│   │   │   └── fuzz_tests/
│   │   │       ├── fuzz_parse_template.js
│   │   │       └── fuzz_parser.js
│   │   └── project.yaml
│   ├── angus-mail/
│   │   ├── ASCIIUtilityFuzzer.java
│   │   ├── BASE64EncoderStreamFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── anise/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── aniso8601/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_aniso8601.py
│   │   └── project.yaml
│   ├── ansible/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_encrypt.py
│   │   ├── fuzz_encrypt.sh
│   │   ├── fuzz_parse.py
│   │   ├── fuzz_task.py
│   │   └── project.yaml
│   ├── antlr3-java/
│   │   ├── Dockerfile
│   │   ├── GrammarFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── antlr4-java/
│   │   ├── Dockerfile
│   │   ├── GrammarFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-axis2/
│   │   ├── Dockerfile
│   │   ├── axis-axis2-java-core-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               ├── org/
│   │   │               │   └── apache/
│   │   │               │       └── axis2/
│   │   │               │           └── HttpInterfaceFuzzer.java
│   │   │               └── samples/
│   │   │                   └── quickstart/
│   │   │                       └── service/
│   │   │                           └── pojo/
│   │   │                               └── StockQuoteService.java
│   │   ├── build.sh
│   │   ├── maven-settings.xml
│   │   └── project.yaml
│   ├── apache-commons-bcel/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   ├── remove-rat.diff
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── BcelFuzzer.java
│   ├── apache-commons-beanutils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── BeanutilsFuzzer.java
│   ├── apache-commons-cli/
│   │   ├── Dockerfile
│   │   ├── ParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-codec/
│   │   ├── BinaryEncodingFuzzer.java
│   │   ├── ChecksumFuzzer.java
│   │   ├── CryptFuzzer.java
│   │   ├── DigestUtilsFuzzer.java
│   │   ├── Dockerfile
│   │   ├── HmacUtilsFuzzer.java
│   │   ├── LanguageStringEncoderFuzzer.java
│   │   ├── MurmurHashFuzzer.java
│   │   ├── NetCodecFuzzer.java
│   │   ├── PhoneticEngineFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-collections/
│   │   ├── CollectionsBidiMapFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-compress/
│   │   ├── ArchiverArFuzzer.java
│   │   ├── ArchiverArjFuzzer.java
│   │   ├── ArchiverCpioFuzzer.java
│   │   ├── ArchiverDumpFuzzer.java
│   │   ├── ArchiverTarStreamFuzzer.java
│   │   ├── ArchiverZipStreamFuzzer.java
│   │   ├── BaseTests.java
│   │   ├── CompressSevenZFuzzer.java
│   │   ├── CompressTarFuzzer.java
│   │   ├── CompressZipFuzzer.java
│   │   ├── CompressorBZip2Fuzzer.java
│   │   ├── CompressorDeflate64Fuzzer.java
│   │   ├── CompressorGzipFuzzer.java
│   │   ├── CompressorLZ4Fuzzer.java
│   │   ├── CompressorPack200Fuzzer.java
│   │   ├── CompressorSnappyFuzzer.java
│   │   ├── CompressorZFuzzer.java
│   │   ├── Dockerfile
│   │   ├── README.md
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-configuration/
│   │   ├── Dockerfile
│   │   ├── INIConfigurationReadFuzzer.java
│   │   ├── INIConfigurationWriteFuzzer.java
│   │   ├── JSONConfigurationReadFuzzer.java
│   │   ├── JSONConfigurationWriteFuzzer.java
│   │   ├── XMLConfigurationLoadFuzzer.java
│   │   ├── XMLConfigurationWriteFuzzer.java
│   │   ├── YAMLConfigurationReadFuzzer.java
│   │   ├── YAMLConfigurationWriteFuzzer.java
│   │   ├── build.sh
│   │   ├── ini.dict
│   │   └── project.yaml
│   ├── apache-commons-csv/
│   │   ├── CSVParserFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-fileupload/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── Constants.java
│   │   │   │                       ├── FileUploadFuzzer.java
│   │   │   │                       ├── MockHttpServletRequest.java
│   │   │   │                       └── Util.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── apache-commons-geometry/
│   │   ├── Dockerfile
│   │   ├── GeometryObjFuzzer.java
│   │   ├── GeometryStlBinaryFuzzer.java
│   │   ├── GeometryStlTextFuzzer.java
│   │   ├── GeometryTextFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-imaging/
│   │   ├── Dockerfile
│   │   ├── ImagingBmpFuzzer.java
│   │   ├── ImagingGifFuzzer.java
│   │   ├── ImagingJpegFuzzer.java
│   │   ├── ImagingPngFuzzer.java
│   │   ├── ImagingTiffFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-io/
│   │   ├── Dockerfile
│   │   ├── FileComparatorFuzzer.java
│   │   ├── FileFilterFuzzer.java
│   │   ├── FileUtilsFuzzer.java
│   │   ├── GeneralUtilsFuzzer.java
│   │   ├── InputStreamFuzzer.java
│   │   ├── InputXmlFuzzer.java
│   │   ├── OutputStreamFuzzer.java
│   │   ├── PathUtilsFuzzer.java
│   │   ├── ReaderFuzzer.java
│   │   ├── WriterFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-jxpath/
│   │   ├── Dockerfile
│   │   ├── JXPathFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-lang/
│   │   ├── AnnotationUtilsFuzzer.java
│   │   ├── ArrayUtilsFuzzer.java
│   │   ├── BuilderFuzzer.java
│   │   ├── CharUtilsFuzzer.java
│   │   ├── ClassFuzzerBase.java
│   │   ├── ConversionFuzzer.java
│   │   ├── DateUtilsFuzzer.java
│   │   ├── Dockerfile
│   │   ├── EscapeHtmlFuzzer.java
│   │   ├── FractionFuzzer.java
│   │   ├── LocaleUtilsFuzzer.java
│   │   ├── MathUtilsFuzzer.java
│   │   ├── ReflectUtilsFuzzer.java
│   │   ├── SerializationUtilsFuzzer.java
│   │   ├── StringEscapeUtilsFuzzer.java
│   │   ├── StringUtilsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-logging/
│   │   ├── Dockerfile
│   │   ├── LoggingBasicFuzzer.java
│   │   ├── Package/
│   │   │   └── MyAppender.java
│   │   ├── build.sh
│   │   ├── log4j2-test.xml
│   │   └── project.yaml
│   ├── apache-commons-math/
│   │   ├── Dockerfile
│   │   ├── MathClusteringFuzzer.java
│   │   ├── MathDistanceMeasureFuzzer.java
│   │   ├── MathSimplexSolverFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-net/
│   │   ├── Base64Fuzzer.java
│   │   ├── Dockerfile
│   │   ├── MLSxEntryParserFuzzer.java
│   │   ├── NTFTPEntryParserFuzzer.java
│   │   ├── OS400FTPEntryParserFuzzer.java
│   │   ├── TelnetOptionFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-text/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── StringSubstitutorFuzzer.java
│   │   │   │                       └── StringSubstitutorInterpolatorFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── apache-commons-validator/
│   │   ├── CreditCardValidatorFuzzer.java
│   │   ├── Dockerfile
│   │   ├── IBANValidatorFuzzer.java
│   │   ├── UrlValidator2Fuzzer.java
│   │   ├── UrlValidatorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-cxf/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── AttachmentDeserializerFuzzer.java
│   │   │   │                       ├── AttachmentSerializerDeserializerFuzzer.java
│   │   │   │                       ├── JsonMapObjectReaderWriterFuzzer.java
│   │   │   │                       └── XMLStreamReadersFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── apache-doris/
│   │   └── project.yaml
│   ├── apache-felix-dev/
│   │   ├── Dockerfile
│   │   ├── JSONParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-httpd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_addr_parse.c
│   │   ├── fuzz_parse.c
│   │   ├── fuzz_preq.c
│   │   ├── fuzz_request.c
│   │   ├── fuzz_tokenize.c
│   │   ├── fuzz_uri.c
│   │   ├── fuzz_utils.c
│   │   └── project.yaml
│   ├── apache-logging-log4cxx/
│   │   ├── Dockerfile
│   │   ├── README.adoc
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── apache-poi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── resources/
│   │               └── log4j2.xml
│   ├── apache-tika/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── build_seeds.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── main/
│   │   │   │           ├── java/
│   │   │   │           │   └── com/
│   │   │   │           │       └── example/
│   │   │   │           │           ├── AudioVideoParsersFuzzer.java
│   │   │   │           │           ├── AutoDetectParserFuzzer.java
│   │   │   │           │           ├── CompressorParserFuzzer.java
│   │   │   │           │           ├── HtmlParserFuzzer.java
│   │   │   │           │           ├── ImageParsersFuzzer.java
│   │   │   │           │           ├── JackcessParserFuzzer.java
│   │   │   │           │           ├── OOXMLParserFuzzer.java
│   │   │   │           │           ├── OfficeParserFuzzer.java
│   │   │   │           │           ├── OneNoteParserFuzzer.java
│   │   │   │           │           ├── PDFParserFuzzer.java
│   │   │   │           │           ├── PackageParserFuzzer.java
│   │   │   │           │           ├── ParserFuzzer.java
│   │   │   │           │           ├── RFC822ParserFuzzer.java
│   │   │   │           │           ├── RTFParserFuzzer.java
│   │   │   │           │           ├── TextAndCSVParserFuzzer.java
│   │   │   │           │           └── XMLReaderUtilsFuzzer.java
│   │   │   │           └── resources/
│   │   │   │               ├── log4j2.xml
│   │   │   │               └── tika-config.xml
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── aptos-core/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── archaius-core/
│   │   ├── Dockerfile
│   │   ├── DynamicPropertyFuzzer.java
│   │   ├── build.sh
│   │   ├── pom-core.xml
│   │   └── project.yaml
│   ├── arduinojson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── argcomplete/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_shlex.py
│   │   └── project.yaml
│   ├── argo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── args/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── args4j/
│   │   ├── CmdLineParserFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── arrow/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── arrow-java/
│   │   ├── Dockerfile
│   │   ├── FuzzIpcFile.java
│   │   ├── FuzzIpcStream.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── arrow-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_datetime.py
│   │   ├── fuzz_tzinfo.py
│   │   └── project.yaml
│   ├── askama/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── asn1crypto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── aspectj/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── ASTFuzzer.java
│   ├── aspell/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── assimp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── astc-encoder/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── asteval/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_eval.py
│   │   └── project.yaml
│   ├── astro-compiler/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── astroid/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── asttokens/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_asttokens.py
│   │   └── project.yaml
│   ├── async-http-client/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── AsyncHttpClientFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── atomic/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── attrs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_attrs.py
│   │   └── project.yaml
│   ├── augeas/
│   │   ├── Dockerfile
│   │   ├── augeas_api_fuzzer.cc
│   │   ├── augeas_escape_name_fuzzer.cc
│   │   ├── augeas_fa_fuzzer.cc
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── autoflake/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fix_code.py
│   │   └── project.yaml
│   ├── autopep8/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fix_file.py
│   │   └── project.yaml
│   ├── avahi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── avro/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── AvroSerializationFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── azure-sdk-for-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_mgmt_serialization.py
│   │   └── project.yaml
│   ├── babel/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_lexer.py
│   │   ├── fuzz_profile.py
│   │   └── project.yaml
│   ├── bad_example/
│   │   ├── Dockerfile
│   │   ├── bad_example_fuzzer.cc
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bazel-rules-fuzzing-test/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bazel-rules-fuzzing-test-java/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bc-gh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bc-java/
│   │   ├── CMSEnvelopedDataParserFuzzer.java
│   │   ├── Dockerfile
│   │   ├── EncodingFuzzer.java
│   │   ├── PEMParserFuzzer.java
│   │   ├── X509CertPairParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bearssl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── behaviortreecpp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── bignum-fuzzer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bincode/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bind9/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── patch.diff
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── binutils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_addr2line.c
│   │   ├── fuzz_as.c
│   │   ├── fuzz_bfd.c
│   │   ├── fuzz_bfd_ext.c
│   │   ├── fuzz_disas_ext.c
│   │   ├── fuzz_disassemble.c
│   │   ├── fuzz_dlltool.c
│   │   ├── fuzz_dwarf.c
│   │   ├── fuzz_nm.c
│   │   ├── fuzz_objcopy.c
│   │   ├── fuzz_objdump.c
│   │   ├── fuzz_ranlib_simulation.c
│   │   ├── fuzz_readelf.c
│   │   ├── fuzz_strings.c
│   │   ├── fuzz_windres.c
│   │   └── project.yaml
│   ├── bios-bmc-smm-error-logger/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz-patch.diff
│   │   └── project.yaml
│   ├── bitcoin-core/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── descriptor_parse.options
│   │   ├── i2p.options
│   │   ├── miniscript_string.options
│   │   ├── process_messages.options
│   │   └── project.yaml
│   ├── black/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_format_filecontents.py
│   │   ├── fuzz_lib2to3_parse.py
│   │   ├── fuzz_raw_format_filecontents.py
│   │   └── project.yaml
│   ├── blackfriday/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── render_fuzzer.go
│   ├── bleach/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── linkify_fuzzer.py
│   │   ├── project.yaml
│   │   └── sanitize_fuzzer.py
│   ├── bloaty/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bls-signatures/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bluez/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_gobex.c
│   │   ├── fuzz_hci.c
│   │   ├── fuzz_sdp.c
│   │   ├── fuzz_textfile.c
│   │   ├── fuzz_xml.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── bmcweb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── content_type_fuzzer.cpp
│   │   ├── filter_expr_fuzzer.cpp
│   │   ├── json_html_serializer_fuzzer.cpp
│   │   ├── json_parser_fuzzer.cpp
│   │   ├── multipart_parser_fuzzer.cpp
│   │   └── project.yaml
│   ├── boost/
│   │   ├── Dockerfile
│   │   ├── boost_datetime_fuzzer.cc
│   │   ├── boost_filesystem_fuzzer.cc
│   │   ├── boost_graph_graphml_fuzzer.cc
│   │   ├── boost_graph_graphviz_fuzzer.cc
│   │   ├── boost_programoptions_fuzzer.cc
│   │   ├── boost_ptree_inforead_fuzzer.cc
│   │   ├── boost_ptree_iniread_fuzzer.cc
│   │   ├── boost_ptree_jsonread_fuzzer.cc
│   │   ├── boost_ptree_xmlread_fuzzer.cc
│   │   ├── boost_regex_fuzzer.cc
│   │   ├── boost_regex_pattern_fuzzer.cc
│   │   ├── boost_regex_replace_fuzzer.cc
│   │   ├── boost_stralg_fuzzer.cc
│   │   ├── boost_uuid_fuzzer.cc
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── boost-beast/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── boost-json/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── boringssl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_certs.cc
│   │   ├── fuzz_pkcs12.cc
│   │   ├── fuzz_pkcs8.cc
│   │   └── project.yaml
│   ├── botan/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── botocore/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_serialization.py
│   │   └── project.yaml
│   ├── bottleneck/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_bn.py
│   │   └── project.yaml
│   ├── brotli/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── brotli-java/
│   │   ├── Dockerfile
│   │   ├── FuzzDecode.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── brpc/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── brunsli/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── bs4/
│   │   ├── Dockerfile
│   │   ├── bs4_fuzzer.py
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bson-rust/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── burntsushi-toml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bz2file/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_bz2file.py
│   │   └── project.yaml
│   ├── bzip2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── bzip2_compress_target.c
│   │   ├── bzip2_decompress_target.c
│   │   ├── bzip2_fd.c
│   │   ├── bzip2_filename.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── c-ares/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── c-blosc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── c-blosc2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cachetools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cached.py
│   │   └── project.yaml
│   ├── caddy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── caffeine/
│   │   ├── CaffeineSpecFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cairo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── targets/
│   │       ├── fuzzer_temp_file.h
│   │       ├── pdf_surface_fuzzer.c
│   │       ├── raster_fuzzer.c
│   │       ├── surface_write_png_fuzzer.c
│   │       └── text_glyphs_fuzzer.c
│   ├── calcite/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── CalciteFuzzer.java
│   │   │   │                       └── SqlParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── calcite-avatica/
│   │   ├── Base64Fuzzer.java
│   │   ├── ConnectStringParserFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── canvg/
│   │   ├── Dockerfile
│   │   ├── babel.config.json
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   ├── package.patch
│   │   └── project.yaml
│   ├── capnproto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── capstone/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cascadia/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── casync/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── catapult/
│   │   └── project.yaml
│   ├── cbor-java/
│   │   ├── Dockerfile
│   │   ├── FuzzDec.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cbor2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cctz/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cctz.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cel-cpp/
│   │   ├── .bazelrc
│   │   ├── BUILD
│   │   ├── Dockerfile
│   │   ├── MODULE.bazel
│   │   ├── WORKSPACE
│   │   ├── build.sh
│   │   ├── fuzz_parse.cc
│   │   └── project.yaml
│   ├── cel-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── cel-go-lpm.proto
│   │   ├── fuzz_compile.go
│   │   ├── fuzz_env.go
│   │   ├── fuzz_eval.go
│   │   ├── go-lpm.cc
│   │   └── project.yaml
│   ├── cert-manager/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pki_fuzzer.go
│   │   └── project.yaml
│   ├── cfengine/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── string_fuzzer.c
│   ├── cffi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_recompiler.py
│   │   └── project.yaml
│   ├── cgif/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cglib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── EnhancerFuzzer.java
│   ├── chardet/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_detector.py
│   │   └── project.yaml
│   ├── charset_normalizer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_normalize.py
│   │   └── project.yaml
│   ├── checker-framework/
│   │   ├── Dockerfile
│   │   ├── UtilCheckerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── checkstyle/
│   │   ├── CheckstyleFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── chrono/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cifuzz-example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cilium/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── circl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cirq/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_circuit.py
│   │   └── project.yaml
│   ├── civetweb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cjson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── clamav/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── clamav-scanfile-fuzzer.options
│   │   ├── project.yaml
│   │   └── replay_build.sh
│   ├── clib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── click/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── clickhouse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── clock/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── closure-compiler/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── ParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── closure-library/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── cloud-custodian/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_actions_parser.py
│   │   ├── fuzz_actions_process.py
│   │   ├── fuzz_actions_validate.py
│   │   ├── fuzz_filters_parser.py
│   │   ├── fuzz_filters_process.py
│   │   ├── fuzz_filters_validate.py
│   │   ├── fuzz_gcp_actions_validate_process.py
│   │   ├── fuzz_gcp_filters_validate_process.py
│   │   ├── fuzz_gcp_resources_process.py
│   │   ├── fuzz_query_parser.py
│   │   ├── fuzz_resources_parser.py
│   │   ├── fuzz_resources_process.py
│   │   ├── fuzz_resources_validate.py
│   │   └── project.yaml
│   ├── cloud-hypervisor/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cmake/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cmark/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── cmark_fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cockroachdb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── compress/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── config-validator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── configparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_dict.py
│   │   ├── fuzz_read.py
│   │   └── project.yaml
│   ├── connectedhomeip/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── connexion/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_query_resolving.py
│   │   └── project.yaml
│   ├── containerd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── coreutils/
│   │   └── project.yaml
│   ├── cosign/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cosmos-sdk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── coturn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── coveragepy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── cpp-httplib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cppcheck/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cppitertools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cppitertools.cpp
│   │   └── project.yaml
│   ├── cpuinfo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cpuinfo.c
│   │   └── project.yaml
│   ├── cpython3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cras/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cri-o/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── croaring/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cron-utils/
│   │   ├── CronParserFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── croniter/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_iter.py
│   │   ├── fuzz_match.py
│   │   ├── fuzz_range.py
│   │   └── project.yaml
│   ├── crossplane/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── crosvm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── crow/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cryptofuzz/
│   │   ├── Dockerfile
│   │   ├── README.md
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── xxd.c
│   ├── cryptography/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_aead.py
│   │   ├── fuzz_dh.py
│   │   ├── fuzz_dsa.py
│   │   ├── fuzz_rsa.py
│   │   ├── fuzz_sym.py
│   │   └── project.yaml
│   ├── cryptsetup/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cssselect/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   ├── fuzz_xpath.py
│   │   └── project.yaml
│   ├── cubefs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cups/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── test_patch.diff
│   ├── cups-filters/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cura-engine/
│   │   └── project.yaml
│   ├── curl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── curvesapi/
│   │   ├── Dockerfile
│   │   ├── ParseFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cxxopts/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cyclonedds/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── d3/
│   │   ├── Dockerfile
│   │   ├── babel.config.json
│   │   ├── build.sh
│   │   ├── fuzz_tests/
│   │   │   └── fuzz_csv_parse.js
│   │   └── project.yaml
│   ├── dapr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dart/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── patch.diff
│   │   └── project.yaml
│   ├── dask/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fuse.py
│   │   ├── fuzz_serialize.py
│   │   └── project.yaml
│   ├── data-encoding/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── date/
│   │   └── project.yaml
│   ├── dateparser/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── dav1d/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── linux32.meson
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── dbus-broker/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz-message.c
│   │   └── project.yaml
│   ├── dcmtk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── dcmtk_dicom_fuzzer.cc
│   │   ├── dcmtk_dicom_fuzzer.dict
│   │   ├── dcmtk_meta_fuzzer.cc
│   │   ├── make_seed_corpus.py
│   │   └── project.yaml
│   ├── decorator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decorator.py
│   │   ├── fuzz_funcmarker.py
│   │   └── project.yaml
│   ├── defusedxml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_etree_parse.py
│   │   ├── fuzz_parse_string.py
│   │   └── project.yaml
│   ├── demangle/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── deno/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dgraph/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser_test.go
│   │   └── project.yaml
│   ├── digest/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_digest.py
│   │   └── project.yaml
│   ├── dill/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_dumps.py
│   │   └── project.yaml
│   ├── distlib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_marker.py
│   │   ├── fuzz_metadata.py
│   │   └── project.yaml
│   ├── distribution/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── django/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dlplibs/
│   │   ├── Dockerfile
│   │   ├── abwfuzzer.options
│   │   ├── build.sh
│   │   ├── fb2fuzzer.options
│   │   ├── icu4c-ubsan.patch
│   │   ├── ofz2894.patch
│   │   ├── ofz3670.patch
│   │   ├── ofz4303.patch
│   │   ├── ofz4860.patch
│   │   ├── project.yaml
│   │   ├── vdxfuzzer.options
│   │   └── vsdxfuzzer.options
│   ├── dng_sdk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── dng_camera_profile_fuzzer.cpp
│   │   ├── dng_fixed_validate_fuzzer.cpp
│   │   ├── dng_stage_fuzzer.cpp
│   │   ├── dng_validate_fuzzer.cpp
│   │   └── project.yaml
│   ├── dnsmasq/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_auth.c
│   │   ├── fuzz_dhcp.c
│   │   ├── fuzz_dhcp6.c
│   │   ├── fuzz_header.h
│   │   ├── fuzz_patch.patch
│   │   ├── fuzz_rfc1035.c
│   │   ├── fuzz_util.cc
│   │   └── project.yaml
│   ├── dnspython/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_message.py
│   │   ├── fuzz_token.py
│   │   └── project.yaml
│   ├── docker-client/
│   │   ├── Dockerfile
│   │   ├── RegistryAuthFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── docutils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_rst.py
│   │   ├── fuzz_rst_parse.py
│   │   ├── fuzz_table.py
│   │   └── project.yaml
│   ├── dom4j/
│   │   ├── DOMReaderFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── double-conversion/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── string_to_double_fuzzer.cc
│   ├── dovecot/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dpp/
│   │   └── project.yaml
│   ├── draco/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dragonfly/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dropbear/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dropwizard/
│   │   ├── DefaultServerFactoryFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── duckdb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dulwich/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── e2fsprogs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── ext2fs_check_directory_fuzzer.cc
│   │   │   ├── ext2fs_image_read_write_fuzzer.cc
│   │   │   └── ext2fs_read_bitmap_fuzzer.cc
│   │   └── project.yaml
│   ├── easywsclient/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── easyws_fuzzer.cpp
│   │   └── project.yaml
│   ├── ecc-diff-fuzzer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ecdsa-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_private_key.py
│   │   └── project.yaml
│   ├── eclipse-equinox/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── equinox-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── org/
│   │   │                   └── eclipse/
│   │   │                       └── osgi/
│   │   │                           └── ConditionInfoFuzzer.java
│   │   ├── maven-settings.xml
│   │   ├── maven-toolchains.xml
│   │   └── project.yaml
│   ├── edk2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── eigen/
│   │   ├── Dockerfile
│   │   ├── basicstuff_fuzzer.cc
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── solver_fuzzer.cc
│   ├── elfutils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz-dwfl-core.c
│   │   ├── fuzz-libdwfl.c
│   │   ├── fuzz-libelf.c
│   │   └── project.yaml
│   ├── envoy/
│   │   ├── Dockerfile
│   │   ├── WORKSPACE
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── esp-v2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── espeak-ng/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── et-xmlfile/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_write.py
│   │   └── project.yaml
│   ├── etcd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── evo-inflector/
│   │   ├── Dockerfile
│   │   ├── EnglishFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── my-api-repo/
│   │   │   ├── Makefile
│   │   │   ├── README.md
│   │   │   ├── do_stuff_fuzzer.cpp
│   │   │   ├── do_stuff_fuzzer.dict
│   │   │   ├── do_stuff_test_data/
│   │   │   │   ├── 410c23d234e7f97a2dd6265eb2909324deb8c13a
│   │   │   │   ├── 7a74862169c3375f4149daff75187cbca7372a38
│   │   │   │   ├── a835d6f1c6b2ae4a35e8c0a4a0576715c8b27283
│   │   │   │   ├── e8fb273916196a5e29967af0b5826daffb9b3765
│   │   │   │   └── fc09d362f05ab97efdfcd873dacad6a9c29e57ff
│   │   │   ├── do_stuff_unittest.cpp
│   │   │   ├── my_api.cpp
│   │   │   ├── my_api.h
│   │   │   └── standalone_fuzz_target_runner.cpp
│   │   └── project.yaml
│   ├── exiv2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── exp4j/
│   │   ├── Dockerfile
│   │   ├── ExpressionBuilderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── expat/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   ├── xml.dict
│   │   ├── xml_UTF_16.dict
│   │   ├── xml_UTF_16BE.dict
│   │   └── xml_UTF_16LE.dict
│   ├── expr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── exprtk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── exprtk_fuzzer.cpp
│   │   ├── exprtk_test_expressions.dict
│   │   └── project.yaml
│   ├── faad2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fabric/
│   │   ├── Dockerfile
│   │   ├── FuzzExtractFileEntries.options
│   │   ├── FuzzParseChaincodePackage.options
│   │   ├── FuzzPersistence.options
│   │   ├── build.sh
│   │   ├── ccprovider_fuzzer.go
│   │   ├── fabenc_fuzzer.go
│   │   ├── msp_fuzzer.go
│   │   ├── persistence_fuzzer.go
│   │   ├── policydsl_fuzzer.go
│   │   └── project.yaml
│   ├── face/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_command.py
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── fast-dds/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fast-xml-parser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── fast_float/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── fastcsv/
│   │   ├── CsvReaderFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fasthttp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fastify/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fastjson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fastjson2/
│   │   ├── Dockerfile
│   │   ├── JsonFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── feign/
│   │   ├── BodyTemplateFuzzer.java
│   │   ├── Dockerfile
│   │   ├── UriUtilsFuzzer.java
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── settings.xml
│   │   └── toolchains.xml
│   ├── ffmpeg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── group_seed_corpus.py
│   │   ├── name_mappings.py
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── ffms2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── ffms2_fuzzer.cc
│   │   └── project.yaml
│   ├── fftw3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fftw3_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── file/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer_temp_file.h
│   │   ├── magic_fuzzer.cc
│   │   ├── magic_fuzzer_fd.cc
│   │   ├── magic_fuzzer_loaddb.cc
│   │   └── project.yaml
│   ├── filelock/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_filelock.py
│   │   └── project.yaml
│   ├── filesystem_spec/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_http.py
│   │   └── project.yaml
│   ├── fio/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── fips203/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── firefox/
│   │   ├── Dockerfile
│   │   ├── ImageBMP.options
│   │   ├── ImageGIF.options
│   │   ├── SdpParser.options
│   │   ├── build.sh
│   │   ├── mozconfig.address
│   │   ├── mozconfig.coverage
│   │   ├── mozconfig.undefined
│   │   ├── project.yaml
│   │   └── target.c
│   ├── firestore/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── flac/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer_exo.cpp
│   │   └── project.yaml
│   ├── flask/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── cors_fuzz_flask.py
│   │   ├── fuzz_json.py
│   │   ├── fuzz_werkzeug_formparser.py
│   │   ├── fuzz_werkzeug_http.py
│   │   ├── fuzz_werkzeug_url.py
│   │   └── project.yaml
│   ├── flask-jwt-extended/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_jwt.py
│   │   └── project.yaml
│   ├── flask-restx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_reqparse.py
│   │   └── project.yaml
│   ├── flask-wtf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_flask_wtf.py
│   │   └── project.yaml
│   ├── flatbuffers/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── flate2-rs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── flex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── flex-patch.diff
│   │   ├── fuzz-main.c
│   │   ├── fuzz-main.options
│   │   ├── fuzz-scanopt.c
│   │   └── project.yaml
│   ├── fluent-bit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fluxcd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── flyway/
│   │   ├── Dockerfile
│   │   ├── LocationFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fmt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── fontations/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── freeimage/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── load_from_memory_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── freeradius/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── freerdp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── freetype2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── fribidi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── frr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── fsnotify/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── ftfy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fix.py
│   │   ├── fuzz_format.py
│   │   └── project.yaml
│   ├── fuzzing-puzzles/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fuzztest-example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzztest-enable-fuzzers.diff
│   │   └── project.yaml
│   ├── fuzztest-raksha/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── raksha-fuzztest.diff
│   ├── fuzzywuzzy/
│   │   ├── DiffUtilsFuzzer.java
│   │   ├── Dockerfile
│   │   ├── FuzzySearchFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fwupd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── g-api-auth-httplib2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_http.py
│   │   └── project.yaml
│   ├── g-api-auth-library-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_jwt.py
│   │   ├── fuzz_jwt_roundtrip.py
│   │   └── project.yaml
│   ├── g-api-pubsub/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_msg.py
│   │   └── project.yaml
│   ├── g-api-py-api-common-protos/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_api.py
│   │   └── project.yaml
│   ├── g-api-py-oauthlib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_config.py
│   │   └── project.yaml
│   ├── g-api-python-bigquery-storage/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_avroparser.py
│   │   └── project.yaml
│   ├── g-api-python-client/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_mimeparser.py
│   │   └── project.yaml
│   ├── g-api-python-cloud-core/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_helpers.py
│   │   └── project.yaml
│   ├── g-api-python-firestore/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.py
│   │   └── project.yaml
│   ├── g-api-python-tasks/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cloudtask_client.py
│   │   └── project.yaml
│   ├── g-api-resource-manager/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_tag_values_client.py
│   │   └── project.yaml
│   ├── g-api-resumable-media-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_uploader.py
│   │   └── project.yaml
│   ├── g-api-secret-manager/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_client.py
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── g-apis-py-api-core/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_path_template.py
│   │   └── project.yaml
│   ├── g-auth-library-java/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── CredentialsFuzzer.java
│   │   │   │                       └── TokenVerifierFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── g-cloud-logging-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_entries.py
│   │   ├── fuzz_handlers.py
│   │   ├── fuzz_helpers.py
│   │   ├── fuzz_resources.py
│   │   └── project.yaml
│   ├── g-http-java-client/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JsonObjectParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── g-oauth-java-client/
│   │   ├── Dockerfile
│   │   ├── OauthSignerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── g-py-bigquery/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── g-py-crc32c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_checksum.py
│   │   └── project.yaml
│   ├── gast/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gateway/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── default.options
│   │   └── project.yaml
│   ├── gc-iam/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_credentials.py
│   │   └── project.yaml
│   ├── gcloud-error-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_util.py
│   │   └── project.yaml
│   ├── gcloud-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gcp-python-cloud-storage/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fileio.py
│   │   └── project.yaml
│   ├── gdal/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── gdbm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── gdk-pixbuf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── targets/
│   │       ├── animation_fuzzer.c
│   │       ├── fuzzer_temp_file.h
│   │       ├── pixbuf_cons_fuzzer.c
│   │       ├── pixbuf_file_fuzzer.c
│   │       ├── pixbuf_scale_fuzzer.c
│   │       └── stream_fuzzer.c
│   ├── genshi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_html.py
│   │   └── project.yaml
│   ├── geos/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── patch.diff
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── gfwx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ghostscript/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── dicts/
│   │   │   ├── pdf.dict
│   │   │   └── ps.dict
│   │   ├── gs_device_bmpmono_fuzzer.cc
│   │   ├── gs_device_eps2write_fuzzer.cc
│   │   ├── gs_device_faxg3_fuzzer.cc
│   │   ├── gs_device_pdfwrite_fuzzer.cc
│   │   ├── gs_device_pdfwrite_opts_fuzzer.cc
│   │   ├── gs_device_pgmraw_fuzzer.cc
│   │   ├── gs_device_png16m_fuzzer.cc
│   │   ├── gs_device_ps2write_fuzzer.cc
│   │   ├── gs_device_psdcmyk_fuzzer.cc
│   │   ├── gs_device_pxlcolor_fuzzer.cc
│   │   ├── gs_device_pxlmono_fuzzer.cc
│   │   ├── gs_device_tiffsep1_fuzzer.cc
│   │   ├── gs_device_xpswrite_fuzzer.cc
│   │   ├── gs_fuzzlib.h
│   │   ├── gstoraster_fuzzer.cc
│   │   ├── gstoraster_fuzzer_all_colors.cc
│   │   ├── gstoraster_fuzzer_all_colors.options
│   │   ├── gstoraster_pdf_fuzzer.cc
│   │   ├── gstoraster_ps_fuzzer.cc
│   │   ├── gstoraster_ps_fuzzer.options
│   │   └── project.yaml
│   ├── giflib/
│   │   ├── Dockerfile
│   │   ├── ProtoToGif.cpp
│   │   ├── ProtoToGif.h
│   │   ├── build.sh
│   │   ├── dgif_fuzz_common.cc
│   │   ├── dgif_fuzz_common.h
│   │   ├── dgif_protobuf_target.cc
│   │   ├── dgif_target.cc
│   │   ├── dgif_target.options
│   │   ├── egif_fuzz_common.cc
│   │   ├── egif_fuzz_common.h
│   │   ├── egif_target.cc
│   │   ├── gif_fuzz_proto.proto
│   │   └── project.yaml
│   ├── gimli/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── git/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── gitdb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_gitdb.py
│   │   └── project.yaml
│   ├── gitea/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── github_scarecrow/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fakelib.py
│   │   ├── project.yaml
│   │   └── shell_injection_poc_fuzzer.py
│   ├── gitoxide/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gitpython/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── glaze/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── glib/
│   │   ├── 0001-deflate-Zero-initialise-the-prev-and-window-buffers.patch
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── globaleaks-whistleblowing-software/
│   │   └── project.yaml
│   ├── glog/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── glom/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_core.py
│   │   ├── fuzz_glom.py
│   │   ├── fuzz_matching.py
│   │   ├── fuzz_mutation.py
│   │   ├── fuzz_reduction.py
│   │   └── project.yaml
│   ├── glslang/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── compile_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── gluon/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gnucobol/
│   │   └── project.yaml
│   ├── gnupg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decrypt.c
│   │   ├── fuzz_decrypt.options
│   │   ├── fuzz_import.c
│   │   ├── fuzz_list.c
│   │   ├── fuzz_list.options
│   │   ├── fuzz_verify.c
│   │   ├── fuzzer_stubs.c
│   │   ├── fuzzgnupg.diff
│   │   └── project.yaml
│   ├── gnutls/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-attestation/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-cmp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-coap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-containerregistry/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.go
│   │   └── project.yaml
│   ├── go-coredns/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-dhcp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-dns/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-ethereum/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── go-git/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-humanize/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-json-iterator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_json.go
│   │   └── project.yaml
│   ├── go-ldap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-ole/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-pprof/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-readline/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-redis/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-sftp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-shlex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-snappy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.go
│   │   └── project.yaml
│   ├── go-sqlite3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-toml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-yaml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── gobgp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gogo-protobuf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── goipp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── golang/
│   │   ├── Dockerfile
│   │   ├── aes_fuzzer.go
│   │   ├── build.sh
│   │   ├── dsa_fuzzer.go
│   │   ├── ecdsa_fuzzer.go
│   │   ├── elf_fuzzer.go
│   │   ├── encoding_fuzzer.go
│   │   ├── filepath_fuzzer.go
│   │   ├── fuzz_tar_reader.go
│   │   ├── fuzz_tar_reader.options
│   │   ├── fuzz_tiff_decode.options
│   │   ├── fuzz_webp_decode.options
│   │   ├── fuzz_x_h2c.options
│   │   ├── glob_fuzzer.options
│   │   ├── h2c_fuzzer.go
│   │   ├── language_fuzzer.go
│   │   ├── math_big_fuzzer.go
│   │   ├── multipart_fuzzer.go
│   │   ├── openpgp_fuzzer.go
│   │   ├── project.yaml
│   │   ├── regexp_fuzzer.go
│   │   ├── strings_fuzzer.go
│   │   ├── text_fuzzer.go
│   │   ├── tiff_fuzzer.go
│   │   ├── unicode_fuzzer.go
│   │   ├── webp_fuzzer.go
│   │   └── x509_fuzzer.go
│   ├── golang-appengine/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── golang-protobuf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gonids/
│   │   ├── 372f9bd.diff
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gopacket/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gopsutil/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── gosnmp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gpac/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gprof2dot/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_profile.py
│   │   └── project.yaml
│   ├── gpsd/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── graphicsmagick/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── graphql-java/
│   │   ├── Dockerfile
│   │   ├── GraphqlFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── greenmail/
│   │   ├── Dockerfile
│   │   ├── UserManagerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── grok/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── groovy/
│   │   ├── Dockerfile
│   │   ├── DurationFuzzer.java
│   │   ├── TestFuzzer.java
│   │   ├── add-shadow-to-test.diff
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── grpc-gateway/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── grpc-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_hello.go
│   │   └── project.yaml
│   ├── grpc-httpjson-transcoding/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── grpc-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_server.py
│   │   └── project.yaml
│   ├── grpc-swift/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gson/
│   │   ├── Dockerfile
│   │   ├── FuzzParse.java
│   │   ├── FuzzReader.java
│   │   ├── FuzzStreamParser.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gss-ntlmssp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzing/
│   │   │   ├── Makefile
│   │   │   ├── fuzz-accept-sec-context.c
│   │   │   └── fuzz-accept-sec-context.dict
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── gstreamer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── guava/
│   │   ├── Dockerfile
│   │   ├── HashingFuzzer.java
│   │   ├── HostAndPortFuzzer.java
│   │   ├── HostSpecifierFuzzer.java
│   │   ├── InetAddressesFuzzer.java
│   │   ├── InternetDomainNameFuzzer.java
│   │   ├── MediaTypeFuzzer.java
│   │   ├── UrlEscapersFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── guetzli/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── guice/
│   │   ├── Dockerfile
│   │   ├── InjectorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gunicorn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_util.py
│   │   └── project.yaml
│   ├── gwt/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── JsParserFuzzer.java
│   │   │   │                       └── JsonFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── h11/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_h11.py
│   │   └── project.yaml
│   ├── h2database/
│   │   ├── CsvReadBackFuzzer.java
│   │   ├── CsvReadFuzzer.java
│   │   ├── Dockerfile
│   │   ├── ServerLoginFuzzer.java
│   │   ├── ShellFuzzer.java
│   │   ├── SqlPreparedStatementFuzzer.java
│   │   ├── SqlStatementFuzzer.java
│   │   ├── TestServer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── h2o/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── h2o-fuzzer-http1.options
│   │   ├── h2o-fuzzer-http2.options
│   │   ├── h2o-fuzzer-http3.options
│   │   ├── h2o-fuzzer-url.options
│   │   └── project.yaml
│   ├── h3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── h5py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_h5f.py
│   │   └── project.yaml
│   ├── hadoop/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── FileUtilFuzzer.java
│   │   │   │                       └── JavaSerializationFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── halide/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hamcrest/
│   │   ├── Dockerfile
│   │   ├── HamcrestFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── haproxy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cfg_parser.c
│   │   ├── fuzz_hpack_decode.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── harfbuzz/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── hb-raster-fuzzer.options
│   │   ├── hb-repacker-fuzzer.options
│   │   ├── hb-shape-fuzzer.options
│   │   ├── hb-subset-fuzzer.options
│   │   ├── hb-vector-fuzzer.options
│   │   └── project.yaml
│   ├── hcl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hdf5/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── h5_extended_fuzzer.c
│   │   ├── h5_read_fuzzer.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── hdrhistogram/
│   │   ├── Dockerfile
│   │   ├── LogReaderWriterFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── helm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hermes/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── preprocess-corpus.py
│   │   └── project.yaml
│   ├── hibernate-orm/
│   │   ├── Dockerfile
│   │   ├── PersistentClass.java
│   │   ├── PersistentClassFuzzer.java
│   │   ├── SerializableClass.java
│   │   ├── SessionFactoryBuilder.java
│   │   ├── TestServer.java
│   │   ├── add-shadow.diff
│   │   ├── build.sh
│   │   ├── hibernate.xml
│   │   ├── persistentClass.xml
│   │   └── project.yaml
│   ├── hibernate-validator/
│   │   ├── Dockerfile
│   │   ├── MappingParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── highwayhash/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── hikaricp/
│   │   ├── ClockFuzzer.java
│   │   ├── Dockerfile
│   │   ├── DriverDataSourceFuzzer.java
│   │   ├── PropertyElfFuzzer.java
│   │   ├── TestObject.java
│   │   ├── UtilityElfFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hiredis/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hiredis-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_reader.py
│   │   └── project.yaml
│   ├── hive/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── DeserializeFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── hoextdown/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── hoextdown.dict
│   │   ├── hoextdown_fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── hostap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hpn-ssh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hsqldb/
│   │   ├── ConnectionOptionsFuzzer.java
│   │   ├── Dockerfile
│   │   ├── SqlPreparedStatementFuzzer.java
│   │   ├── SqlStatementFuzzer.java
│   │   ├── TestServer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── html2text/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_html2text.py
│   │   └── project.yaml
│   ├── html5lib-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── htmlunit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── htmlunit-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── ossfuzz/
│   │   │                   └── HtmlParserFuzzer.java
│   │   ├── maven-settings.xml
│   │   └── project.yaml
│   ├── htslib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── http-parser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── http-pattern-matcher/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── httparse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── httpcomponents-client/
│   │   ├── ByteArrayBodyWriteToFuzzer.java
│   │   ├── Dockerfile
│   │   ├── FileBodyWriteToFuzzer.java
│   │   ├── FormBodyPartBuilderBuildFuzzer.java
│   │   ├── HttpFuzzer.java
│   │   ├── InputStreamBodyWriteToFuzzer.java
│   │   ├── StringBodyWriteToFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── httpcomponents-core/
│   │   ├── ClassicHttpRequestFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── httpcore/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_http11.py
│   │   └── project.yaml
│   ├── httplib2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── httpretty/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_httpretty_e2e.py
│   │   └── project.yaml
│   ├── httpx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_api.py
│   │   ├── fuzz_decoders.py
│   │   ├── fuzz_url.py
│   │   └── project.yaml
│   ├── hugo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_pageparser.go
│   │   └── project.yaml
│   ├── hunspell/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── hwloc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── hwloc_fuzzer.c
│   │   ├── hwloc_fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── hyperium/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ibmswtpm2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer.cc
│   │   ├── no_writes.patch
│   │   └── project.yaml
│   ├── ical4j/
│   │   └── project.yaml
│   ├── icalendar/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── icu/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── idna/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_encode_decode.py
│   │   └── project.yaml
│   ├── igraph/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── ijson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_all.py
│   │   ├── fuzz_native_parser.py
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── image-png/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── image-rs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── imageio/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── imagemagick/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── immer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── importlib_metadata/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_importlib.py
│   │   └── project.yaml
│   ├── inchi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── inchi_input_fuzzer.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── influxdb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── iniconfig/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── inih/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── inihfuzz.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── ion-java/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── IonReaderFuzzer.java
│   │   │   │                       └── IonWriterFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── ipaddress/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_ip_address.py
│   │   ├── fuzz_ip_interface.py
│   │   ├── fuzz_ip_network.py
│   │   └── project.yaml
│   ├── iperf/
│   │   ├── Dockerfile
│   │   ├── auth_fuzzer.c
│   │   ├── build.sh
│   │   ├── cjson_fuzzer.c
│   │   └── project.yaml
│   ├── ipfs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ipp-usb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ipykernel/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_serialization_roundtrip.py
│   │   ├── fuzz_unpack_roundtrip.py
│   │   └── project.yaml
│   ├── ipython/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_inputsplitter.py
│   │   └── project.yaml
│   ├── iroha/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── irssi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── irssi-fuzz.options
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── theme-load-fuzz.dict
│   ├── isodate/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── istio/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── istio-ztunnel/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── itext7/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           ├── java/
│   │   │   │           │   └── com/
│   │   │   │           │       └── example/
│   │   │   │           │           └── PdfFuzzer.java
│   │   │   │           └── resources/
│   │   │   │               └── junit-platform.properties
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── itoa/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── itsdangerous/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_itsdangerous.py
│   │   └── project.yaml
│   ├── iverilog/
│   │   └── project.yaml
│   ├── ja3/
│   │   └── project.yaml
│   ├── jackson-core/
│   │   ├── DataInputFuzzer.java
│   │   ├── Dockerfile
│   │   ├── JsonFuzzer.java
│   │   ├── ParseNextTokenFuzzer.java
│   │   ├── UTF8GeneratorFuzzer.java
│   │   ├── WriterBasedJsonGeneratorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-databind/
│   │   ├── AdaLObjectReader3Fuzzer.java
│   │   ├── AdaLObjectReader3Fuzzer.options
│   │   ├── ConvertValueFuzzer.java
│   │   ├── Dockerfile
│   │   ├── ObjectReader2Fuzzer.java
│   │   ├── ObjectReaderFuzzer.java
│   │   ├── ObjectWriterFuzzer.java
│   │   ├── ReadTreeFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-dataformat-xml/
│   │   ├── Dockerfile
│   │   ├── FromXmlParserFuzzer.java
│   │   ├── ToXmlGeneratorFuzzer.java
│   │   ├── XmlDeserializerFuzzer.java
│   │   ├── XmlFuzzer.java
│   │   ├── XmlSerializerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-dataformats-binary/
│   │   ├── AvroGeneratorFuzzer.java
│   │   ├── AvroParserFuzzer.java
│   │   ├── CborFuzzer.java
│   │   ├── CborGeneratorFuzzer.java
│   │   ├── CborParserFuzzer.java
│   │   ├── DeserializerFuzzer.java
│   │   ├── Dockerfile
│   │   ├── IonGeneratorFuzzer.java
│   │   ├── IonParserFuzzer.java
│   │   ├── ProtobufParserFuzzer.java
│   │   ├── SerializerFuzzer.java
│   │   ├── SmileFuzzer.java
│   │   ├── SmileGeneratorFuzzer.java
│   │   ├── SmileParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-dataformats-text/
│   │   ├── CSVFuzzer.java
│   │   ├── DeserializerFuzzer.java
│   │   ├── Dockerfile
│   │   ├── PropertiesFuzzer.java
│   │   ├── SerializerFuzzer.java
│   │   ├── TOMLFuzzer.java
│   │   ├── YAMLFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-datatype-joda/
│   │   ├── Dockerfile
│   │   ├── JodaDeserializerFuzzer.java
│   │   ├── JodaMapperFuzzer.java
│   │   ├── JodaSerializerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-datatypes-collections/
│   │   ├── Dockerfile
│   │   ├── EclipseCollectionsDeserializerFuzzer.java
│   │   ├── EclipseCollectionsSerializerFuzzer.java
│   │   ├── GuavaDeserializerFuzzer.java
│   │   ├── GuavaSerializerFuzzer.java
│   │   ├── HppcDeserializerFuzzer.java
│   │   ├── HppcSerializerFuzzer.java
│   │   ├── PCollectionsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-modules-java8/
│   │   ├── DatatypeFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jakarta-mail-api/
│   │   ├── Dockerfile
│   │   ├── HeaderTokenizerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── janet/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── janino/
│   │   ├── Dockerfile
│   │   ├── ExpressionEvaluatorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jansi/
│   │   ├── Dockerfile
│   │   ├── JansiFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jansson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── janus-gateway/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── java-diff-utils/
│   │   ├── DiffUtilsFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── java-example/
│   │   ├── Dockerfile
│   │   ├── ExampleFuzzTest.java
│   │   ├── ExampleFuzzer.java
│   │   ├── ExampleFuzzerNative.cpp
│   │   ├── ExampleFuzzerNative.h
│   │   ├── ExampleFuzzerNative.java
│   │   ├── ExampleValueProfileFuzzer.java
│   │   ├── MutatorFuzzTest.java
│   │   ├── build.sh
│   │   ├── default.options
│   │   └── project.yaml
│   ├── java-jwt/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JWTFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── java-uuid-generator/
│   │   ├── Dockerfile
│   │   ├── GeneratorsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── java-xmlbuilder/
│   │   ├── Dockerfile
│   │   ├── XmlBuilderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── javacpp/
│   │   ├── Dockerfile
│   │   ├── JavacppFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── javaparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── parseFuzzer.java
│   │   └── project.yaml
│   ├── javapoet/
│   │   ├── Dockerfile
│   │   ├── TypeSpecFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── javascript-example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_promise.js
│   │   ├── fuzz_string_compare.js
│   │   ├── fuzz_value_profiling.js
│   │   ├── package.json
│   │   └── project.yaml
│   ├── javassist/
│   │   ├── ClassFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml.diff
│   │   └── project.yaml
│   ├── javy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jaxb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── DataTypeConverterFuzzer.java
│   ├── jbig2dec/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── jbig2_fuzzer.cc
│   │   ├── jbig2_fuzzer.dict
│   │   ├── jbig2_fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── jboss-logging/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── LoggingFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── jc/
│   │   └── project.yaml
│   ├── jdom/
│   │   ├── Dockerfile
│   │   ├── SAXBuilderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jedi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_script.py
│   │   └── project.yaml
│   ├── jedis/
│   │   ├── Dockerfile
│   │   ├── JedisURIFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jerryscript/
│   │   └── project.yaml
│   ├── jersey/
│   │   ├── Dockerfile
│   │   ├── HttpHeaderReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jettison/
│   │   ├── Dockerfile
│   │   ├── JsonFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jetty/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── AbstractHttpClientServerTest.java
│   │   │   │                       ├── AbstractServerTest.java
│   │   │   │                       ├── HTTP2CServer.java
│   │   │   │                       ├── HTTP2CServerFuzzer.java
│   │   │   │                       ├── HttpClientFuzzer.java
│   │   │   │                       ├── HttpParserFuzzer.java
│   │   │   │                       ├── ServerHandlersFuzzer.java
│   │   │   │                       ├── SslConnectionFuzzer.java
│   │   │   │                       ├── URIUtilDecodePathFuzzer.java
│   │   │   │                       ├── WebAppDefaultServletFuzzer.java
│   │   │   │                       └── XmlParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── jflex/
│   │   ├── Dockerfile
│   │   ├── JflexFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jfreechart/
│   │   ├── DefaultCategoryDatasetChartFuzzer.java
│   │   ├── Dockerfile
│   │   ├── PieDatasetChartFuzzer.java
│   │   ├── TimeSeriesChartFuzzer.java
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── TestUtils.java
│   ├── jimfs/
│   │   ├── Dockerfile
│   │   ├── FileSystemFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jimp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── jinja2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_env_jinja_lexer.py
│   │   ├── fuzz_jinja_compile_expr.py
│   │   ├── fuzz_jinja_compile_templates.py
│   │   └── project.yaml
│   ├── jline3/
│   │   ├── Dockerfile
│   │   ├── LineReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jmespathpy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── jmh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── OptionsBuilderFuzzer.java
│   ├── joblib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_serialization_roundtrip.py
│   │   └── project.yaml
│   ├── joda-convert/
│   │   ├── Dockerfile
│   │   ├── FromStringFuzzer.java
│   │   ├── StringConvertFuzzer.java
│   │   ├── ToStringFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── joda-time/
│   │   ├── Dockerfile
│   │   ├── TimeFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jolt/
│   │   ├── Dockerfile
│   │   ├── JsonUtilsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── joni/
│   │   ├── AddrListFixFuzzer.java
│   │   ├── Dockerfile
│   │   ├── RegexMatcherFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jooq/
│   │   ├── Dockerfile
│   │   ├── GenerationToolFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jopt-simple/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── OptionParserFuzzer.java
│   ├── jose4j/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JsonUtilFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── jpeg-js/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.js
│   │   ├── fuzz_encode.js
│   │   └── project.yaml
│   ├── jpegoptim/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── jq/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── jq.dict
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── js-yaml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── jsc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsch/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── jsch-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── com/
│   │   │                   └── jcraft/
│   │   │                       └── jsch/
│   │   │                           └── OpenSSHConfigFuzzer.java
│   │   ├── maven-settings.xml
│   │   └── project.yaml
│   ├── jsemver/
│   │   ├── Dockerfile
│   │   ├── VersionFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsign/
│   │   ├── AuthenticodeAppxSignerFuzzer.java
│   │   ├── AuthenticodeCabSignerFuzzer.java
│   │   ├── AuthenticodeExeSignerFuzzer.java
│   │   ├── AuthenticodeMsiSignerFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsmin/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_minimize.py
│   │   └── project.yaml
│   ├── json/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer-parse.options
│   │   ├── parse_afl_fuzzer.dict
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── json-c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── json-flattener/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── FlattenFuzzer.java
│   │   │   │                       └── UnflattenFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── json-java/
│   │   ├── Dockerfile
│   │   ├── JsonJavaFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── json-patch/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_create_merge.go
│   │   ├── fuzz_decode_apply.go
│   │   └── project.yaml
│   ├── json-sanitizer/
│   │   ├── DenylistFuzzer.java
│   │   ├── Dockerfile
│   │   ├── IdempotenceFuzzer.java
│   │   ├── ValidJsonFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── json-simple/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── JsonEncodeDecodeFuzzer.java
│   │   │   │                       └── JsonParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── json-smart-v2/
│   │   ├── Dockerfile
│   │   ├── JSONParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── json2avro/
│   │   ├── ConverterFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── json5format/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsoncons/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsoncpp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── json.proto
│   │   ├── json_proto_converter.cc
│   │   ├── json_proto_converter.h
│   │   ├── jsoncpp_fuzz_proto.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── jsonnet/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── convert_jsonnet_fuzzer_multi.cc
│   │   ├── convert_jsonnet_fuzzer_regular.cc
│   │   ├── convert_jsonnet_fuzzer_stream.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── jsonp-api/
│   │   ├── CreateJsonFuzzer.java
│   │   ├── Dockerfile
│   │   ├── GeneratorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsonparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsonpath/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   └── ossfuzz/
│   │           │       └── PathParserFuzzer.java
│   │           └── resources/
│   │               └── test.json
│   ├── jsonpickle/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsonschema/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsoup/
│   │   ├── CssHtmlFuzzer.java
│   │   ├── CssHtmlFuzzer.options
│   │   ├── Dockerfile
│   │   ├── FragmentHtmlFuzzer.java
│   │   ├── FragmentHtmlFuzzer.options
│   │   ├── HtmlFuzzer.java
│   │   ├── HtmlFuzzer.options
│   │   ├── XmlFuzzer.java
│   │   ├── XmlFuzzer.options
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsqlparser/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JSqlParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── jstl-api/
│   │   ├── 0001-support-new-jdk.patch
│   │   ├── 0002-avoid-ConcurrentModificationException.patch
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── jstl-api-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── jakarta/
│   │   │                   └── servlet/
│   │   │                       └── jsp/
│   │   │                           └── ParserFuzzer.java
│   │   ├── maven-settings.xml
│   │   └── project.yaml
│   ├── jts/
│   │   ├── Dockerfile
│   │   ├── JtsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── juju/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── devices_fuzzer.go
│   │   └── project.yaml
│   ├── jul-to-slf4j/
│   │   ├── BridgeFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── junrar/
│   │   ├── Dockerfile
│   │   ├── JunrarFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jupyter-nbconvert/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_markdown_converter.py
│   │   └── project.yaml
│   ├── jupyter_server/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_serialization.py
│   │   └── project.yaml
│   ├── jupytext/
│   │   └── project.yaml
│   ├── jwt-verify-lib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jxls/
│   │   ├── Dockerfile
│   │   ├── ProcessTemplateFuzzer.dict
│   │   ├── ProcessTemplateFuzzer.java
│   │   ├── build.patch
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kafka/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_consumer.py
│   │   ├── fuzz_producer.py
│   │   └── project.yaml
│   ├── kamailio/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── karchive/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── kcodecs/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── kde-thumbnailers/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kea/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── keras/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_model.py
│   │   ├── fuzz_serialization.py
│   │   └── project.yaml
│   ├── keycloak/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── keystone/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── kie-soup/
│   │   ├── CronExpressionFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kimageformats/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── kiwisolver/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_solver.py
│   │   └── project.yaml
│   ├── kmime/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── knative/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── knot-dns/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── krb5/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── kryo/
│   │   ├── DeserializeCollectionsFuzzer.java
│   │   ├── DeserializeNumbersFuzzer.java
│   │   ├── DeserializeStringFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kubearmor/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kubeedge/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kubeflow-katib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── generateNNImage_fuzzer.go
│   │   └── project.yaml
│   ├── kubeflow-model-registry/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── filter_fuzzer.go
│   │   └── project.yaml
│   ├── kubeflow-pipelines/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── expr_fuzzer.go
│   │   └── project.yaml
│   ├── kubeflow-spark-operator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── parseSecret_fuzzer.go
│   │   └── project.yaml
│   ├── kubernetes/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kubernetes-cluster-api/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kubevirt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kyverno/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lame/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lark-parser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── lcms/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── cmsIT8_load_fuzzer.c
│   │   ├── cmsIT8_load_fuzzer.options
│   │   ├── cms_cgats_fuzzer.c
│   │   ├── cms_cie_cam02_fuzzer.c
│   │   ├── cms_devicelink_fuzzer.c
│   │   ├── cms_dict_fuzzer.c
│   │   ├── cms_gdb_fuzzer.c
│   │   ├── cms_md5_fuzzer.c
│   │   ├── cms_overwrite_transform_fuzzer.c
│   │   ├── cms_overwrite_transform_fuzzer.options
│   │   ├── cms_postscript_fuzzer.c
│   │   ├── cms_profile_fuzzer.c
│   │   ├── cms_transform_all_fuzzer.c
│   │   ├── cms_transform_extended_fuzzer.c
│   │   ├── cms_transform_fuzzer.c
│   │   ├── cms_transform_fuzzer.options
│   │   ├── cms_universal_transform_fuzzer.c
│   │   ├── cms_virtual_profile_fuzzer.c
│   │   ├── icc.dict
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── leptonica/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── leveldb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_db.cc
│   │   ├── fuzz_db.options
│   │   └── project.yaml
│   ├── libaom/
│   │   ├── Dockerfile
│   │   ├── README.md
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libarchive/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libarchive_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libass/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libass_fuzzer.options
│   │   └── project.yaml
│   ├── libavc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libavif/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libbpf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libcacard/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libcbor/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libcoap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libconfig/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libcst/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_transformer.py
│   │   └── project.yaml
│   ├── libcue/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libcups/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libdwarf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libecc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libevent/
│   │   ├── Dockerfile
│   │   ├── buffer_add_file_fuzzer.cc
│   │   ├── buffer_fuzzer.cc
│   │   ├── bufferevent_fuzzer.cc
│   │   ├── build.sh
│   │   ├── dns_config_fuzzer.cc
│   │   ├── fuzz_request_cb.c
│   │   ├── http_fuzzer.cc
│   │   ├── parse_query_fuzzer.cc
│   │   ├── project.yaml
│   │   └── utils_fuzzer.cc
│   ├── libexif/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── exif_from_data_fuzzer.cc
│   │   ├── exif_loader_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libfdk-aac/
│   │   ├── Dockerfile
│   │   ├── aacDecoder_ConfigRaw.cpp
│   │   ├── aacDecoder_DecodeFrame.cpp
│   │   ├── aacDecoder_Open.cpp
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libfido2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libfuse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_optparse.c
│   │   └── project.yaml
│   ├── libgd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── gd_image_string_fuzzer.cc
│   │   ├── parser_target.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libgit2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libheif/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libhevc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libhtp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libical/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libical_extended_fuzzer.cc
│   │   ├── libical_fuzzer.cc
│   │   ├── libicalvcard_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libidn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libidn2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── replay_build.sh
│   ├── libiec61850/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.options
│   │   └── project.yaml
│   ├── libigl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── igl_fuzzer.cpp
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libjpeg-turbo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libjxl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libldac/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libldac_encode_fuzzer.cc
│   │   └── project.yaml
│   ├── liblouis/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libmicrohttpd/
│   │   └── project.yaml
│   ├── libmicrohttpd2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── connection_helper.cpp
│   │   ├── connection_helper.h
│   │   ├── default.options
│   │   ├── fuzz_connection.cpp
│   │   ├── fuzz_crypto_ext.cpp
│   │   ├── fuzz_crypto_int.cpp
│   │   ├── fuzz_daemon.cpp
│   │   ├── fuzz_daemon.dict
│   │   ├── fuzz_daemon_connection.cpp
│   │   ├── fuzz_libinfo.cpp
│   │   ├── fuzz_mhd2.cpp
│   │   ├── fuzz_response.cpp
│   │   ├── fuzz_str.cpp
│   │   ├── mhd_helper.cpp
│   │   ├── mhd_helper.h
│   │   └── project.yaml
│   ├── libmodbus/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── FuzzClient.c
│   │   │   ├── FuzzServer.c
│   │   │   └── Makefile
│   │   └── project.yaml
│   ├── libmpeg2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── liboqs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libpcap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libpg_query/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libphonenumber/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libplist/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libpng/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── libpng-proto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libpng_transforms_fuzzer.cc
│   │   ├── png_fuzz_proto.proto
│   │   ├── png_proto_fuzzer_example.cc
│   │   ├── png_proto_mutator.cc
│   │   └── project.yaml
│   ├── libprotobuf-mutator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── expat_example.options
│   │   ├── libxml2_example.options
│   │   ├── project.yaml
│   │   └── xml.dict
│   ├── libproxy/
│   │   └── project.yaml
│   ├── libpsl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── config.site
│   │   ├── md5sum
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libra/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libraw/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libraw_fuzzer.cc
│   │   └── project.yaml
│   ├── librawspeed/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── librdkafka/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libredwg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── llvmfuzz.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libreoffice/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libressl/
│   │   ├── Dockerfile
│   │   ├── bignum.options
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── librosa/
│   │   └── project.yaml
│   ├── librsvg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── render_document.options
│   ├── libsass/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── data_context_fuzzer.cc
│   │   └── project.yaml
│   ├── libsndfile/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libsodium/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fake_random.h
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   ├── secret_key_auth_fuzzer.cc
│   │   └── secretbox_easy_fuzzer.cc
│   ├── libsoup/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libspdm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libspectre/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libspng/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libsrtp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libssh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libssh2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libstdcpp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libtasn1/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libteken/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libteken_fuzzer.c
│   │   └── project.yaml
│   ├── libtheora/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libtiff/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libtorrent/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libtpms/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libtsm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libtsm_fuzzer.c
│   │   └── project.yaml
│   ├── libucl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── ucl_add_string_fuzzer.options
│   ├── libultrahdr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libunwind/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_libunwind.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libusb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libusb_fuzzer.cc
│   │   └── project.yaml
│   ├── libvips/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libvnc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libvpx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── vpx_dec_fuzzer.dict
│   ├── libwebp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libwebsockets/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── lws_upng_inflate_fuzzer.cpp
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libxaac/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libxls/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libxlsxwriter/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libxml2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libxslt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libyal/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libyaml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libyaml_deconstructor_alt_fuzzer.c
│   │   ├── libyaml_deconstructor_fuzzer.c
│   │   ├── libyaml_dumper_fuzzer.c
│   │   ├── libyaml_emitter_fuzzer.c
│   │   ├── libyaml_fuzzer.options
│   │   ├── libyaml_loader_fuzzer.c
│   │   ├── libyaml_parser_fuzzer.c
│   │   ├── libyaml_reformatter_alt_fuzzer.c
│   │   ├── libyaml_reformatter_fuzzer.c
│   │   ├── libyaml_scanner_fuzzer.c
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   ├── yaml.dict
│   │   └── yaml_write_handler.h
│   ├── libyang/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libyuv/
│   │   └── project.yaml
│   ├── libzip/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libzmq/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── lighttpd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_burl.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── lima/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── linkerd2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── linkerd2-proxy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── rustc.py
│   ├── lit/
│   │   ├── Dockerfile
│   │   ├── babel.config.json
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── litmuschaos/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── llamacpp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzers/
│   │   │   ├── fuzz_apply_template.cpp
│   │   │   ├── fuzz_grammar.cpp
│   │   │   ├── fuzz_inference.cpp
│   │   │   ├── fuzz_json_to_grammar.cpp
│   │   │   ├── fuzz_load_model.cpp
│   │   │   ├── fuzz_structurally_created.cpp
│   │   │   ├── fuzz_structured.cpp
│   │   │   ├── fuzz_tokenizer.cpp
│   │   │   └── llama.dict
│   │   └── project.yaml
│   ├── lldb-eval/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── lldb_vs_lldb_eval_libfuzzer_test.options
│   │   └── project.yaml
│   ├── lldpd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── llhttp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── llvm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── coverage_patcher.py
│   │   └── project.yaml
│   ├── llvm_libcxx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── llvm_libcxxabi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lodash/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── lodepng/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── log4j2/
│   │   ├── Dockerfile
│   │   ├── README.adoc
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── logback/
│   │   ├── Dockerfile
│   │   ├── JoranFuzzer.java
│   │   ├── build.sh
│   │   ├── logback.xml
│   │   └── project.yaml
│   ├── loki/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── looker-sdk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_looker.py
│   │   └── project.yaml
│   ├── lotus/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lua/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_lua.c
│   │   └── project.yaml
│   ├── lua-example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── compile_lua_fuzzer
│   │   ├── example_basic.lua
│   │   └── project.yaml
│   ├── lucene/
│   │   ├── CustomAnalyzerFuzzer.java
│   │   ├── Dockerfile
│   │   ├── IndexSearchFuzzer.java
│   │   ├── QueryParserFuzzer.java
│   │   ├── build.patch
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lwan/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lxc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lxml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_html_parse.py
│   │   ├── fuzz_sax.py
│   │   ├── fuzz_schematron.py
│   │   ├── fuzz_xml_parse.py
│   │   ├── fuzz_xmlschema.py
│   │   ├── fuzz_xslt.py
│   │   ├── project.yaml
│   │   └── test_utils.py
│   ├── lz4/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── lz4_flex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lzma/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lzo/
│   │   ├── Dockerfile
│   │   ├── all_lzo_compress.cc
│   │   ├── build.sh
│   │   ├── lzo_compress_target.c
│   │   ├── lzo_compress_target.options
│   │   ├── lzo_decompress_target.c
│   │   ├── lzo_decompress_target.options
│   │   ├── lzo_decompress_target_seeds/
│   │   │   └── seed.lzo
│   │   └── project.yaml
│   ├── magic-enum/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── magic_enum_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── magic-modules/
│   │   └── project.yaml
│   ├── mako/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_lexer.py
│   │   └── project.yaml
│   ├── mandelbulber/
│   │   └── project.yaml
│   ├── mapserver/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── mariadb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_json.c
│   │   └── project.yaml
│   ├── mariadb-connector-j/
│   │   ├── Dockerfile
│   │   ├── MariaDbPoolDataSourceFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── markdown-it-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── markupsafe/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_encoding.py
│   │   └── project.yaml
│   ├── matio/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── matplotlib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_plt.py
│   │   └── project.yaml
│   ├── maven/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   ├── MojoDescriptorFuzzer.java
│   │                   └── ProjectArtifactMetadataFuzzer.java
│   ├── maven-model/
│   │   ├── Dockerfile
│   │   ├── Xpp3ReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mbedtls/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── mccabe/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_get_code_complexity.py
│   │   └── project.yaml
│   ├── md4c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── mdbook-i18n-helpers/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mdbtools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mdit-py-plugins/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_containers.py
│   │   ├── fuzz_plugins_individually.py
│   │   └── project.yaml
│   ├── mdurl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_mdurl.py
│   │   └── project.yaml
│   ├── memcached/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer_proxy.c
│   │   ├── fuzzer_proxy.options
│   │   ├── generate_corpus.py
│   │   ├── patch.diff
│   │   └── project.yaml
│   ├── mercurial/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── meshoptimizer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── metadata-extractor/
│   │   ├── Dockerfile
│   │   ├── ImageMetadataReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── metallb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mfcmapi/
│   │   └── project.yaml
│   ├── micronaut/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── migtd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── minify/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── miniz/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── miniz_oxide/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── minizip/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── moby/
│   │   ├── Dockerfile
│   │   ├── FuzzAdd.options
│   │   ├── backend_build_fuzzer.go
│   │   ├── build.sh
│   │   ├── containerstream_fuzzer.go
│   │   ├── daemon_fuzzer.go
│   │   ├── jsonmessage_fuzzer.go
│   │   ├── project.yaml
│   │   └── remotecontext_fuzzer.go
│   ├── model-transparency/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── monero/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_rpc.options
│   │   ├── fuzz_rpc_full.options
│   │   ├── fuzz_rpc_full_no_exceptions.options
│   │   ├── fuzz_zmq.options
│   │   └── project.yaml
│   ├── mongo-go-driver/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mongoose/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_netdriver_http.c
│   │   └── project.yaml
│   ├── more-itertools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_mi.py
│   │   └── project.yaml
│   ├── mosh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── mosquitto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mp4parse-rust/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── default.options
│   │   └── project.yaml
│   ├── mp4san/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mpg123/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── decode_fuzzer.cc
│   │   ├── project.yaml
│   │   └── read_fuzzer.c
│   ├── mpv/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mrab-regex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_match.py
│   │   ├── fuzz_regex.py
│   │   ├── fuzz_search.py
│   │   └── project.yaml
│   ├── mruby/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── ms-tpm-20-ref/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libfuzzer.patch
│   │   ├── project.yaml
│   │   └── tpm_cmd.options
│   ├── msal/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_auth.py
│   │   ├── fuzz_tokencache.py
│   │   └── project.yaml
│   ├── msgpack-c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── msgpack-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_unpack.py
│   │   └── project.yaml
│   ├── msquic/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mtail/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── muduo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── muduo_http_fuzzer.cpp
│   │   └── project.yaml
│   ├── multidict/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_md.py
│   │   └── project.yaml
│   ├── multierr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── muparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── set_eval_fuzzer.cc
│   ├── mupdf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pdf_fuzzer.cc
│   │   ├── pdf_fuzzer.options
│   │   └── project.yaml
│   ├── mutagen/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── mvel/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── MvelFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── mxj/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.go
│   │   └── project.yaml
│   ├── myanmar-tools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mybatis-3/
│   │   ├── Dockerfile
│   │   ├── PooledDataSourceFuzzer.java
│   │   ├── ResolverUtilFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mysql-connector-j/
│   │   ├── Dockerfile
│   │   ├── ServerLoginFuzzer.java
│   │   ├── SqlPreparedStatementFuzzer.java
│   │   ├── SqlStatementFuzzer.java
│   │   ├── TestServer.java
│   │   ├── build.sh
│   │   ├── entrypoint.sh
│   │   └── project.yaml
│   ├── mysql-server/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fix.diff
│   │   ├── project.yaml
│   │   └── targets/
│   │       ├── CMakeLists.txt
│   │       ├── README
│   │       ├── fuzz_docommand.cc
│   │       ├── fuzz_docommand.dict
│   │       ├── fuzz_docommand.options
│   │       ├── fuzz_initfile.cc
│   │       ├── fuzz_initfile.dict
│   │       ├── fuzz_initfile.options
│   │       ├── fuzz_mysqld.cc
│   │       ├── fuzz_mysqld.dict
│   │       ├── fuzz_mysqld.options
│   │       ├── fuzz_real_query.cc
│   │       ├── fuzz_stmt_fetch.cc
│   │       ├── init.sql
│   │       ├── initnopw.sql
│   │       ├── onefile.cc
│   │       ├── util_fuzz.cc
│   │       └── util_fuzz.h
│   ├── naga/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nanopb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nats/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nbclassic/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cell.py
│   │   └── project.yaml
│   ├── nbformat/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_read.py
│   │   └── project.yaml
│   ├── nccl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_xml.cpp
│   │   └── project.yaml
│   ├── ndpi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── neomutt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── neqo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nestegg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── net-snmp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── mib.dict
│   │   └── project.yaml
│   ├── netaddr-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parsing.py
│   │   └── project.yaml
│   ├── netcdf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── netdata/
│   │   └── project.yaml
│   ├── nettle/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_dsa_openssl_private_key_from_der.c
│   │   ├── fuzz_dsa_sha1_keypair_from_sexp.c
│   │   ├── fuzz_dsa_sha256_keypair_from_sexp.c
│   │   ├── fuzz_dsa_signature_from_sexp.c
│   │   ├── fuzz_rsa_keypair_from_der.c
│   │   ├── fuzz_rsa_keypair_from_sexp.c
│   │   ├── fuzz_rsa_public_key_from_der.c
│   │   └── project.yaml
│   ├── netty/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── io/
│   │                   └── netty/
│   │                       ├── buffer/
│   │                       │   ├── ByteBufUtilFuzzer.java
│   │                       │   └── LongLongHashMapFuzzer.java
│   │                       └── handler/
│   │                           ├── HandlerFuzzerBase.java
│   │                           └── codec/
│   │                               └── http/
│   │                                   ├── HttpRequestDecoderFuzzer.java
│   │                                   └── cookie/
│   │                                       └── ServerCookieDecoderFuzzer.java
│   ├── netty-tcnative/
│   │   ├── Dockerfile
│   │   ├── NettyTcnativeFuzzer.java
│   │   ├── build.sh
│   │   ├── netty-patch.diff
│   │   └── project.yaml
│   ├── networkmanager/
│   │   └── project.yaml
│   ├── networkx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_graph6.py
│   │   ├── fuzz_graphml.py
│   │   ├── fuzz_sparse6.py
│   │   └── project.yaml
│   ├── nfstream/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pcap_fuzzer.py
│   │   └── project.yaml
│   ├── nghttp2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── nghttp2_fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── nginx/
│   │   ├── Dockerfile
│   │   ├── add_fuzzers.diff
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── http_request_fuzzer.cc
│   │   │   ├── http_request_fuzzer.dict
│   │   │   ├── http_request_proto.proto
│   │   │   └── wrappers.c
│   │   ├── make_fuzzers
│   │   └── project.yaml
│   ├── ngolo-fuzzing/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ngolo-fuzzing-x/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nimbus-jwt/
│   │   ├── 0001-disable-jar-signing.patch
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── maven-settings.xml
│   │   ├── nimbus-jwt-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── com/
│   │   │                   └── nimbusds/
│   │   │                       └── jwt/
│   │   │                           └── JWTParserFuzzer.java
│   │   └── project.yaml
│   ├── ninja/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── njs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── node-xml2js/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parseString.js
│   │   └── project.yaml
│   ├── nodejs/
│   │   ├── Dockerfile
│   │   ├── add_fuzzers_to_node_gyp.go
│   │   ├── build.sh
│   │   ├── fuzz_sources/
│   │   │   ├── fuzz_ClientHelloParser.cc
│   │   │   ├── fuzz_blob.cc
│   │   │   ├── fuzz_buffer_compare.cc
│   │   │   ├── fuzz_buffer_equals.cc
│   │   │   ├── fuzz_buffer_includes.cc
│   │   │   ├── fuzz_cipheriv.cc
│   │   │   ├── fuzz_common.cc
│   │   │   ├── fuzz_common.h
│   │   │   ├── fuzz_createPrivateKeyDER.cc
│   │   │   ├── fuzz_createPrivateKeyJWK.cc
│   │   │   ├── fuzz_createPrivateKeyPEM.cc
│   │   │   ├── fuzz_diffieHellmanDER.cc
│   │   │   ├── fuzz_diffieHellmanJWK.cc
│   │   │   ├── fuzz_diffieHellmanPEM.cc
│   │   │   ├── fuzz_fs_write_open_read.cc
│   │   │   ├── fuzz_fs_write_read_append.cc
│   │   │   ├── fuzz_httpparser1.cc
│   │   │   ├── fuzz_js_format.h
│   │   │   ├── fuzz_js_precompiled.h
│   │   │   ├── fuzz_path_basename.cc
│   │   │   ├── fuzz_path_dirname.cc
│   │   │   ├── fuzz_path_extname.cc
│   │   │   ├── fuzz_path_format.cc
│   │   │   ├── fuzz_path_isAbsolute.cc
│   │   │   ├── fuzz_path_join.cc
│   │   │   ├── fuzz_path_normalize.cc
│   │   │   ├── fuzz_path_parse.cc
│   │   │   ├── fuzz_path_relative.cc
│   │   │   ├── fuzz_path_resolve.cc
│   │   │   ├── fuzz_path_toNamespacedPath.cc
│   │   │   ├── fuzz_querystring_parse.cc
│   │   │   ├── fuzz_quic_token.cc
│   │   │   ├── fuzz_sign_verify.cc
│   │   │   ├── fuzz_stream1.cc
│   │   │   ├── fuzz_string_decoder.cc
│   │   │   ├── fuzz_strings.cc
│   │   │   ├── fuzz_tls_socket_request.cc
│   │   │   ├── fuzz_v8_deserialize.cc
│   │   │   ├── fuzz_x509.cc
│   │   │   ├── fuzz_zlib_brotliCompress.cc
│   │   │   ├── fuzz_zlib_brotliDecompress.cc
│   │   │   ├── fuzz_zlib_createBrotliDecompress.cc
│   │   │   └── fuzz_zlib_gzip_createUnzip.cc
│   │   └── project.yaml
│   ├── nokogiri/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nom/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── notary/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nss/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── ntlm-auth/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_ntlm_auth.py
│   │   └── project.yaml
│   ├── ntlm2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_auth.py
│   │   ├── fuzz_core.py
│   │   └── project.yaml
│   ├── ntopng/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ntp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── patch.diff
│   │   └── project.yaml
│   ├── ntpsec/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── FuzzClient.c
│   │   │   ├── FuzzExtens.c
│   │   │   ├── FuzzServer.c
│   │   │   ├── Makefile
│   │   │   └── setup.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── num-bigint/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── numactl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── numexpr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_numexpr.py
│   │   └── project.yaml
│   ├── numpy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_binary_loader.options
│   │   ├── fuzz_binary_loader.py
│   │   ├── fuzz_datetime.py
│   │   ├── fuzz_dtype.py
│   │   ├── fuzz_fromfile_loader.py
│   │   ├── fuzz_fromregex_loader.py
│   │   ├── fuzz_loader.py
│   │   └── project.yaml
│   ├── oak/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── oatpp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── oauth2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_helpers.py
│   │   └── project.yaml
│   ├── oauthlib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_oauth1_sig.py
│   │   └── project.yaml
│   ├── ogre/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── image_fuzz.cpp
│   │   ├── project.yaml
│   │   └── stream_fuzz.cpp
│   ├── ohc/
│   │   ├── Dockerfile
│   │   ├── OhcFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── okhttp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   ├── LoggingInterceptorFuzzer.java
│   │                   ├── NullLogger.java
│   │                   └── RequestFuzzer.java
│   ├── olefile/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_reader.py
│   │   └── project.yaml
│   ├── onednn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_json.cpp
│   │   └── project.yaml
│   ├── open-json/
│   │   ├── Dockerfile
│   │   ├── JsonTokenerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── open5gs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── open62541/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openapi-schema-validator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_general.py
│   │   ├── fuzz_structured.py
│   │   └── project.yaml
│   ├── openbabel/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── opencensus-cpp/
│   │   ├── .bazelrc
│   │   ├── Dockerfile
│   │   ├── WORKSPACE
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opencensus-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── opencensus-java/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JsonConversionFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── opencensus-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_trace.py
│   │   └── project.yaml
│   ├── opencsv/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── CSVReaderFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── opencv/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── core_fuzzer.cc
│   │   ├── filestorage_read_file_fuzzer.cc
│   │   ├── filestorage_read_filename_fuzzer.cc
│   │   ├── filestorage_read_string_fuzzer.cc
│   │   ├── fuzzer_temp_file.h
│   │   ├── generateusergallerycollage_fuzzer.cc
│   │   ├── imdecode_fuzzer.cc
│   │   ├── imencode_fuzzer.cc
│   │   ├── imread_fuzzer.cc
│   │   ├── project.yaml
│   │   └── readnetfromtensorflow_fuzzer.cc
│   ├── opendal/
│   │   ├── .fs.env
│   │   ├── .memory.env
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opendds/
│   │   └── project.yaml
│   ├── opendnp3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openexr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── openfga/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openh264/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── decoder_fuzzer.cpp
│   │   └── project.yaml
│   ├── openjpeg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── openjph/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openkruise/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opennavsurf-bag/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── openpyxl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_basic.py
│   │   ├── fuzz_cellutil.py
│   │   ├── fuzz_chart.py
│   │   ├── fuzz_comment.py
│   │   ├── fuzz_formulae.py
│   │   ├── fuzz_load.py
│   │   ├── fuzz_sheet.py
│   │   ├── fuzz_sort.py
│   │   └── project.yaml
│   ├── opensc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── opensips/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opensk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openslide/
│   │   └── project.yaml
│   ├── openssh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openssl/
│   │   ├── Dockerfile
│   │   ├── bignum.options
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── quic-srtm.options
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── opentelemetry/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── dict
│   │   └── project.yaml
│   ├── opentelemetry-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opentelemetry-go-contrib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openthread/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── openvpn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── crypto_patch.txt
│   │   ├── fuzz.h
│   │   ├── fuzz_base64.c
│   │   ├── fuzz_buffer.c
│   │   ├── fuzz_crypto.c
│   │   ├── fuzz_dhcp.c
│   │   ├── fuzz_forward.c
│   │   ├── fuzz_header.h
│   │   ├── fuzz_list.c
│   │   ├── fuzz_misc.c
│   │   ├── fuzz_mroute.c
│   │   ├── fuzz_packet_id.c
│   │   ├── fuzz_proxy.c
│   │   ├── fuzz_randomizer.cpp
│   │   ├── fuzz_randomizer.h
│   │   ├── fuzz_route.c
│   │   ├── fuzz_verify_cert.c
│   │   ├── fuzz_verify_cert.h
│   │   └── project.yaml
│   ├── openvswitch/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── openweave/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── patch.diff
│   │   └── project.yaml
│   ├── openyurt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opt_einsum/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── opus/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── opus_encode_fuzzer.cc
│   │   ├── opus_multistream_decode_fuzzer.cc
│   │   ├── opus_multistream_encode_fuzzer.cc
│   │   ├── opus_ossfuzz_utils.h
│   │   ├── opus_projection_decoder_fuzzer.cc
│   │   ├── opus_projection_encoder_fuzzer.cc
│   │   ├── opus_repacketizer_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── opusfile/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── opusfile_fuzzer.c
│   │   └── project.yaml
│   ├── oracle-py-cx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_basic.py
│   │   └── project.yaml
│   ├── orjson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_orjson.py
│   │   └── project.yaml
│   ├── oscrypto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_asymmetric_load.py
│   │   ├── fuzz_keys.py
│   │   └── project.yaml
│   ├── osgi/
│   │   ├── CoreFilterFuzzer.java
│   │   ├── CoreVersionFuzzer.java
│   │   ├── CoreVersionRangeFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── osquery/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── oss-fuzz-example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ossf-scorecard/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── probes_fuzzer.go
│   │   ├── project.yaml
│   │   └── yaml_fuzzer.go
│   ├── ostree/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz-bsdiff.c
│   │   ├── fuzz-repo.c
│   │   └── project.yaml
│   ├── ots/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── ots-fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── ox-ruby/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.rb
│   │   ├── fuzz_sax_parse.rb
│   │   └── project.yaml
│   ├── oxia/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── p11-kit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── p9/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pacemaker/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── packaging/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_packaging.py
│   │   └── project.yaml
│   ├── pako/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── pandas/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_crosstab.py
│   │   ├── fuzz_interpolate.py
│   │   ├── fuzz_json_parser.py
│   │   ├── fuzz_melt_map.py
│   │   ├── fuzz_python_parser.py
│   │   ├── fuzz_replace.py
│   │   ├── fuzz_textreader_parser.py
│   │   ├── fuzz_to_datetime.py
│   │   ├── fuzz_to_latex.py
│   │   └── project.yaml
│   ├── paramiko/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_packetizer.py
│   │   └── project.yaml
│   ├── parse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── parsimonious/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_grammar_match.py
│   │   └── project.yaml
│   ├── parso/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── parso_diff_fuzz.py
│   │   ├── parso_extended_fuzz.py
│   │   ├── parso_fuzz.py
│   │   ├── parso_pep8_fuzz.py
│   │   └── project.yaml
│   ├── pasta/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── pathlib2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_match.py
│   │   ├── fuzz_posix_compile.py
│   │   ├── fuzz_windows_compile.py
│   │   └── project.yaml
│   ├── pborman-uuid/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── pcapplusplus/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pcapplusplus_enable_tests.diff
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── pcl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pcre2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── pdf-js/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pdfbox/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── extract-fonts.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           ├── java/
│   │   │   │           │   └── com/
│   │   │   │           │       └── example/
│   │   │   │           │           ├── CFFParserFuzzer.java
│   │   │   │           │           ├── CMapParserFuzzer.java
│   │   │   │           │           ├── OTFParserFuzzer.java
│   │   │   │           │           ├── PDFExtractTextFuzzer.java
│   │   │   │           │           ├── PDFStreamParserFuzzer.java
│   │   │   │           │           ├── PDFWriteReadFuzzer.java
│   │   │   │           │           ├── PFAParserFuzzer.java
│   │   │   │           │           └── TTFParserFuzzer.java
│   │   │   │           └── resources/
│   │   │   │               └── log4j2.xml
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── pdfminersix/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── pdfplumber/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── pdoc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_html_helpers.py
│   │   └── project.yaml
│   ├── pem/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── data.pem
│   │   ├── fuzz_pem.py
│   │   └── project.yaml
│   ├── pendulum/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── perfetto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pest/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pffft/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── generate_seed_corpus.py
│   │   ├── pffft_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── phmap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── phashmap_fuzz.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── phosphor-host-ipmid/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz-patch.diff
│   │   ├── fuzz_fru_area.cpp
│   │   ├── fuzz_payload_unpack.cpp
│   │   ├── fuzz_sensor_utils.cpp
│   │   ├── lg2_stub.cpp
│   │   └── project.yaml
│   ├── php/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── replay_build.sh
│   ├── picotls/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pidgin/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pidgin_utils_fuzzer.c
│   │   ├── pidgin_xml_fuzzer.c
│   │   └── project.yaml
│   ├── piex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── piex_fuzzer.cc
│   │   └── project.yaml
│   ├── pigweed/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pikepdf/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── pillow/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── build_depends.sh
│   │   └── project.yaml
│   ├── pip/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_requirements.py
│   │   ├── project.yaml
│   │   └── requirement_seeds/
│   │       └── seed1
│   ├── pistache/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pjsip/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── plan9port/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_libsec.c
│   │   ├── fuzz_libsec.options
│   │   ├── fuzz_patch.diff
│   │   └── project.yaml
│   ├── plexus-utils/
│   │   ├── Dockerfile
│   │   ├── MXParserFuzzer.java
│   │   ├── MXParserFuzzer.options
│   │   ├── XmlStreamReaderFuzzer.java
│   │   ├── XmlStreamReaderFuzzer.options
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ply/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_lex_yacc.py
│   │   └── project.yaml
│   ├── pngquant/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── poco/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── poppler/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── postfix/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_mime.c
│   │   ├── fuzz_tok822.c
│   │   └── project.yaml
│   ├── postgis/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── postgresql/
│   │   ├── Dockerfile
│   │   ├── add_fuzzers.diff
│   │   ├── build.sh
│   │   ├── fuzzer/
│   │   │   ├── Makefile
│   │   │   ├── dbfuzz.c
│   │   │   ├── fuzzer_initialize.c
│   │   │   ├── json_parser_fuzzer.c
│   │   │   ├── protocol_fuzzer.c
│   │   │   └── simple_query_fuzzer.c
│   │   ├── main.diff
│   │   └── project.yaml
│   ├── powerdns/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── powsybl-java/
│   │   ├── DeserializeFuzzer.java
│   │   ├── Dockerfile
│   │   ├── LoadFlowFuzzer.java
│   │   ├── MatrixFuzzer.java
│   │   ├── MetrixFuzzer.java
│   │   ├── OpenRaoFuzzer.java
│   │   ├── ParseFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── presidio/
│   │   └── project.yaml
│   ├── presto/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── SqlParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── proftpd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── proj4/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── prometheus/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── promise-polyfill/
│   │   ├── Dockerfile
│   │   ├── babel.config.json
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── prost/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── proto-plus-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_json_serialization.py
│   │   └── project.yaml
│   ├── protobuf-c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── unpack_fuzzer.c
│   ├── protobuf-java/
│   │   ├── Dockerfile
│   │   ├── ProtobufFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── protobuf-js/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── protobuf-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_protobuf.py
│   │   └── project.yaml
│   ├── protoc-gen-validate/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── protocompile/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_protocompile.go
│   │   └── project.yaml
│   ├── proton-bridge/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── proxygen/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── psqlparse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── psutil/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_native.py
│   │   └── project.yaml
│   ├── psycopg2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_sql.py
│   │   └── project.yaml
│   ├── publicsuffix-list/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── pugixml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pulldown-cmark/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pulumi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── config_fuzzer.go
│   │   ├── project.yaml
│   │   └── schema_fuzzer.go
│   ├── pupnp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── py-serde/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_model.py
│   │   └── project.yaml
│   ├── pyasn1/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.py
│   │   └── project.yaml
│   ├── pyasn1-modules/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.py
│   │   └── project.yaml
│   ├── pybind11/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── pybind_fuzzer.cc
│   ├── pycparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_c_parser.py
│   │   └── project.yaml
│   ├── pycrypto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_aes.py
│   │   ├── fuzz_all_or_nothing.py
│   │   ├── fuzz_hash.py
│   │   ├── fuzz_number.py
│   │   └── project.yaml
│   ├── pycryptodome/
│   │   ├── Dockerfile
│   │   ├── block_common.patch
│   │   ├── build.sh
│   │   ├── pcd_aes_fuzzer.cc
│   │   ├── pcd_hash_fuzzer.cc
│   │   └── project.yaml
│   ├── pycups/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pydantic/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_date.py
│   │   ├── fuzz_network.py
│   │   └── project.yaml
│   ├── pydateutil/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser.py
│   │   ├── fuzz_prop_isoparse.py
│   │   ├── fuzz_tzstr.py
│   │   └── project.yaml
│   ├── pygments/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_guesser.py
│   │   ├── fuzz_lexers.py
│   │   └── project.yaml
│   ├── pyjson5/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_json.py
│   │   └── project.yaml
│   ├── pyjwt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_jwt.py
│   │   └── project.yaml
│   ├── pymysql/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_connection.py
│   │   └── project.yaml
│   ├── pynacl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_hash.py
│   │   ├── fuzz_signing.py
│   │   └── project.yaml
│   ├── pyodbc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fake_odbc_driver.c
│   │   ├── fuzz_curs_exec.py
│   │   └── project.yaml
│   ├── pyparsing/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── pyrsistent/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_vector.py
│   │   └── project.yaml
│   ├── pytables/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_file.py
│   │   ├── fuzz_file_extended.py
│   │   └── project.yaml
│   ├── pytest-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_source.py
│   │   └── project.yaml
│   ├── python-ecdsa/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_ecdsa.py
│   │   ├── fuzz_eddsa.py
│   │   ├── fuzz_keys.py
│   │   └── project.yaml
│   ├── python-email-validator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_validator.py
│   │   └── project.yaml
│   ├── python-fastjsonschema/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_compile.py
│   │   └── project.yaml
│   ├── python-future/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_future_email.py
│   │   ├── fuzz_future_htmlparser.py
│   │   ├── fuzz_future_urllib.py
│   │   ├── fuzz_past.py
│   │   └── project.yaml
│   ├── python-graphviz/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_graph.py
│   │   └── project.yaml
│   ├── python-hyperlink/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_host.py
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── python-jose/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_jwe.py
│   │   ├── fuzz_jws.py
│   │   └── project.yaml
│   ├── python-lz4/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_lz4.py
│   │   └── project.yaml
│   ├── python-markdown/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_convert.py
│   │   └── project.yaml
│   ├── python-markdownify/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_convert.py
│   │   └── project.yaml
│   ├── python-multipart/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_form.options
│   │   ├── fuzz_form.patch
│   │   ├── helpers.patch
│   │   └── project.yaml
│   ├── python-nameparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fullname.py
│   │   └── project.yaml
│   ├── python-nvd3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_linechart.py
│   │   └── project.yaml
│   ├── python-pathspec/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_pathspec.py
│   │   └── project.yaml
│   ├── python-phonenumbers/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── python-prompt-toolkit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_contrib.py
│   │   ├── fuzz_formatted_text.py
│   │   └── project.yaml
│   ├── python-pypdf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_encryption.py
│   │   └── project.yaml
│   ├── python-rison/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.py
│   │   ├── fuzz_roundtrip.py
│   │   └── project.yaml
│   ├── python-rsa/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_roundtrip.py
│   │   └── project.yaml
│   ├── python-tabulate/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_tabulate.py
│   │   └── project.yaml
│   ├── python3-libraries/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── python3-openid/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_html_parse.py
│   │   └── project.yaml
│   ├── pytz/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_pytz.py
│   │   └── project.yaml
│   ├── pyvex/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── pyxdg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_desktop_entry.py
│   │   ├── fuzz_icon.py
│   │   ├── fuzz_menu.dict
│   │   ├── fuzz_menu.py
│   │   ├── fuzz_mime.py
│   │   ├── project.yaml
│   │   └── seeds/
│   │       └── menu.xdg
│   ├── pyyaml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_emitter.py
│   │   ├── fuzz_loader.py
│   │   ├── fuzz_reader.py
│   │   └── project.yaml
│   ├── pyzmq/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_frame.py
│   │   └── project.yaml
│   ├── qcms/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── qdox/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JavaProjectBuilderFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── qemu/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── default.options
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── qpdf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── qpid-proton/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── qs/
│   │   └── project.yaml
│   ├── qt/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── quantlib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── quartz/
│   │   ├── CronScheduleBuilderFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── qubes-os/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── quic-go/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── quiche/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── quiche-patch.diff
│   ├── quiche-cloudflare/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── quick-xml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── quickjs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── run_tests_patch.diff
│   ├── rabbitmq-c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── racket/
│   │   └── project.yaml
│   ├── radare2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── default.options
│   │   └── project.yaml
│   ├── radon/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── radvd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_config.c
│   │   ├── fuzz_process.c
│   │   └── project.yaml
│   ├── rapidjson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer.cpp
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── rauc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── rdf4j/
│   │   ├── Dockerfile
│   │   ├── ParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rdkit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── re2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── readstat/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_format_sas_commands.dict
│   │   ├── fuzz_format_spss_commands.dict
│   │   ├── fuzz_format_stata_commands.dict
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── realm-core/
│   │   └── project.yaml
│   ├── redis-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_backoff.py
│   │   ├── fuzz_encoder.py
│   │   ├── fuzz_func.py
│   │   ├── fuzz_helper.py
│   │   ├── fuzz_util.py
│   │   └── project.yaml
│   ├── redis-rs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── Cargo.toml
│   │   │   └── fuzz_targets/
│   │   │       └── parser.rs
│   │   └── project.yaml
│   ├── redux/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── reflections/
│   │   ├── ConfigurationBuilderFuzzer.java
│   │   ├── Dockerfile
│   │   ├── FilterBuilderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rekor/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── relic/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── reload4j/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   ├── remove-jdk8-cap.diff
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   ├── LoggerFuzzer.java
│   │                   └── MyAppender.java
│   ├── requests/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_requests.py
│   │   └── project.yaml
│   ├── resiprocate/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── retrofit/
│   │   ├── Dockerfile
│   │   ├── PathTraversalFuzzer.java
│   │   ├── RequestFuzzer.java
│   │   ├── build.patch
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── retry/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_retry.py
│   │   └── project.yaml
│   ├── rfc3967/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_rfc3986.py
│   │   └── project.yaml
│   ├── rhai/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rhino/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── ParserFuzzer.java
│   ├── rich/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_markdown.py
│   │   └── project.yaml
│   ├── ring/
│   │   └── project.yaml
│   ├── rnp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── roaring-bitmap/
│   │   ├── Dockerfile
│   │   ├── RoaringBitmapFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rocksdb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rome/
│   │   ├── Dockerfile
│   │   ├── XmlReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ron/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── roughtime/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rtpproxy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ruby/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_array.cpp
│   │   ├── fuzz_bignum.cpp
│   │   ├── fuzz_hash.cpp
│   │   ├── fuzz_iseq.cpp
│   │   ├── fuzz_json.c
│   │   ├── fuzz_pack.cpp
│   │   ├── fuzz_prism.cpp
│   │   ├── fuzz_regex.cpp
│   │   ├── fuzz_ruby_parser.cpp
│   │   ├── fuzz_string.cpp
│   │   ├── project.yaml
│   │   └── ruby.options
│   ├── runc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rust-brotli/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── Cargo.toml
│   │   │   └── fuzz_targets/
│   │   │       ├── decompress.rs
│   │   │       └── roundtrip.rs
│   │   └── project.yaml
│   ├── rust-coreutils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rust-lexical/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rust-regex/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── rust-semver-parser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rustls/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rxjava/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   ├── IntegerObserver.java
│   │                   └── ObservableFuzzer.java
│   ├── ryu/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── s2geometry/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.patch
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── s2_fuzzer.cc
│   ├── s2opc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sacremoses/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_detokenize.py
│   │   ├── fuzz_normalizer.py
│   │   ├── fuzz_split_xml.py
│   │   ├── fuzz_tokenizer.py
│   │   └── project.yaml
│   ├── samba/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── scapy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pcap_fuzzer.py
│   │   └── project.yaml
│   ├── scikit-learn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_preprocessing_encoders.py
│   │   └── project.yaml
│   ├── scipy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_io_mio5.py
│   │   ├── fuzz_io_wavfile.py
│   │   └── project.yaml
│   ├── scorecard-web/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── scrypt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── selinux/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sentencepiece/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── sample_encode_fuzzer.cc
│   ├── serde-yaml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── serde_json/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── serde_urlencoded/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── Cargo.toml
│   │   │   └── fuzz_targets/
│   │   │       ├── reverse_roundtrip.rs
│   │   │       └── roundtrip.rs
│   │   └── project.yaml
│   ├── serenity/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── servo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── servo-core/
│   │   ├── Dockerfile
│   │   ├── MonitorConfigFuzzer.java
│   │   ├── build.sh
│   │   ├── pom-core.xml
│   │   └── project.yaml
│   ├── setuptools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_config_pyprojecttoml.py
│   │   └── project.yaml
│   ├── shaderc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── glslc_fuzzer.cc
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   ├── run_tests_patch.diff
│   │   ├── shaderc_fdp_fuzzer.cc
│   │   ├── shaderc_fuzzer.cc
│   │   └── shaderc_general_fuzzer.cc
│   ├── sharp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── sigstore/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sigstore-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sigstore-java/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sigstore-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_verify_artifact.dict
│   │   ├── fuzz_verify_artifact.py
│   │   └── project.yaml
│   ├── simd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── simd_load_fuzzer.cpp
│   ├── simdjson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── simdutf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── simplejson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.py
│   │   ├── fuzz_encode.py
│   │   └── project.yaml
│   ├── six/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_six.py
│   │   └── project.yaml
│   ├── skcms/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── iccprofile.dict
│   │   ├── iccprofile.options
│   │   └── project.yaml
│   ├── sketches-core/
│   │   ├── Dockerfile
│   │   ├── FdtSketchFuzzer.java
│   │   ├── MurmurHash3AdaptorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── skia/
│   │   ├── Dockerfile
│   │   ├── README.md
│   │   ├── build.sh
│   │   ├── image_filter_deserialize_width.options
│   │   ├── json.dict
│   │   ├── project.yaml
│   │   └── sksl.dict
│   ├── skipper/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sleuthkit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── slf4j-api/
│   │   ├── Dockerfile
│   │   ├── LoggingFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── smart_open/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_bytebuffer.py
│   │   ├── fuzz_func.py
│   │   ├── fuzz_util.py
│   │   ├── fuzz_zip.py
│   │   └── project.yaml
│   ├── smt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── snakeyaml/
│   │   ├── DefaultYamlFuzzer.java
│   │   ├── Dockerfile
│   │   ├── SecureYamlFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── snappy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── snappy-java/
│   │   ├── BitShuffleFuzzer.java
│   │   ├── Dockerfile
│   │   ├── SnappyStreamFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── snort3/
│   │   └── project.yaml
│   ├── solidity/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sonic/
│   │   └── project.yaml
│   ├── sound-open-firmware/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fetch-sdk.sh
│   │   └── project.yaml
│   ├── soupsieve/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_closest.py
│   │   ├── fuzz_filter.py
│   │   ├── fuzz_match.py
│   │   ├── fuzz_select.py
│   │   └── project.yaml
│   ├── spatial4j/
│   │   ├── Dockerfile
│   │   ├── SpatialContextFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spdk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── parse_json_fuzzer.cc
│   │   └── project.yaml
│   ├── spdlog/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── backtrace_fuzzer.cc
│   │   │   ├── format_fuzzer.cc
│   │   │   ├── format_fuzzer.options
│   │   │   ├── levels_fuzzer.cc
│   │   │   ├── levels_fuzzer.options
│   │   │   ├── log_fuzzer.cc
│   │   │   ├── log_fuzzer.options
│   │   │   ├── pattern_fuzzer.cc
│   │   │   └── pattern_fuzzer.options
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── spdlog_fuzzer.dict
│   ├── spdm-rs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── speex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spice-usbredir/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spicy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── spidermonkey/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spidermonkey-ufi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── target.c
│   ├── spirv-cross/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── parser_fuzzer.cpp
│   │   ├── patch.diff
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── spirv-tools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── generate_spirv_corpus.py
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── spotify-json/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── spring-amqp/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── AllowedListDeserializingMessageConverterFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── spring-boot/
│   │   ├── BasicJsonParserFuzzer.java
│   │   ├── ConfigurationMetadataRepositoryJsonBuilderFuzzer.java
│   │   ├── Dockerfile
│   │   ├── JsonMarshallerFuzzer.java
│   │   ├── TokenFuzzer.java
│   │   ├── add-shadow-spring-boot-configuration-metadata.diff
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-cloud-commons/
│   │   ├── Dockerfile
│   │   ├── EncryptionIntegrationFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-cloud-config/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   ├── ConfigServerPropertiesFuzzer.java
│   │                   └── EnvironmentFuzzer.java
│   ├── spring-cloud-netflix/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── org/
│   │                   └── springframework/
│   │                       └── cloud/
│   │                           └── netflix/
│   │                               └── eureka/
│   │                                   └── config/
│   │                                       └── HostnameBasedUrlRandomizerFuzzer.java
│   ├── spring-cloud-sleuth-brave/
│   │   ├── Dockerfile
│   │   ├── W3CPropagationFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-cloud-stream/
│   │   ├── Dockerfile
│   │   ├── RabbitExchangeQueueProvisionerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-data-jpa/
│   │   ├── Dockerfile
│   │   ├── QueryUtilsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-data-keyvalue/
│   │   ├── Dockerfile
│   │   ├── KeyValueTemplateFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-data-mongodb/
│   │   ├── Dockerfile
│   │   ├── ParameterBindingJsonReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-data-redis/
│   │   ├── Dockerfile
│   │   ├── GenericJackson2JsonRedisSerializerFuzzer.java
│   │   ├── RedisStringDeserializationFuzzer.java
│   │   ├── RedisStringSerializationFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-framework/
│   │   ├── .dockerignore
│   │   ├── Dockerfile
│   │   ├── add-shadow-context.diff
│   │   ├── add-shadow-core.diff
│   │   ├── add-shadow-jdbc.diff
│   │   ├── add-shadow-jms.diff
│   │   ├── add-shadow-messaging.diff
│   │   ├── add-shadow-orm.diff
│   │   ├── add-shadow-oxm.diff
│   │   ├── add-shadow-test.diff
│   │   ├── add-shadow-tx.diff
│   │   ├── add-shadow-web.diff
│   │   ├── add-shadow-webmvc.diff
│   │   ├── add-shadow-websocket.diff
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── spring-aop/
│   │   │   └── AspectJExpressionPointcutFuzzer.java
│   │   ├── spring-beans/
│   │   │   └── BeanWrapperFuzzer.java
│   │   ├── spring-context/
│   │   │   └── XmlApplicationContextFuzzer.java
│   │   ├── spring-expression/
│   │   │   └── SpelExpressionFuzzer.java
│   │   ├── spring-jdbc/
│   │   │   ├── DataAccessObject.java
│   │   │   ├── JdbcCoreMapperFuzzer.java
│   │   │   ├── JdbcCoreMapperFuzzerBeans.xml
│   │   │   ├── Mapper.java
│   │   │   ├── MapperFuzzerServer.java
│   │   │   ├── PersistentClass.java
│   │   │   ├── Server.java
│   │   │   └── Template.java
│   │   ├── spring-jms/
│   │   │   └── SimpleJmsHeaderMapperFuzzer.java
│   │   ├── spring-messaging/
│   │   │   └── PayloadMethodArgumentResolverFuzzer.java
│   │   ├── spring-oxm/
│   │   │   └── XStreamMarshallerFuzzer.java
│   │   ├── spring-tx/
│   │   │   ├── TransactionAttributeSourceEditorFuzzer.dict
│   │   │   └── TransactionAttributeSourceEditorFuzzer.java
│   │   ├── spring-web/
│   │   │   ├── ContentDispositionFuzzer.java
│   │   │   └── CookieLocaleResolverFuzzer.java
│   │   ├── spring-webflux/
│   │   │   └── BindStatusFuzzer.java
│   │   └── spring-websocket/
│   │       └── StompSubProtocolHandlerFuzzer.java
│   ├── spring-integration/
│   │   ├── Dockerfile
│   │   ├── SimpleJsonSerializerFuzzer.java
│   │   ├── add-shadow.patch
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-ldap/
│   │   ├── Dockerfile
│   │   ├── LdapQueryBuilderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-retry/
│   │   ├── Dockerfile
│   │   ├── PatternMatcher_match_Fuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-security/
│   │   ├── BCryptPasswordEncoderFuzzer.java
│   │   ├── BindAuthenticatorFuzzer.java
│   │   ├── Dockerfile
│   │   ├── EncodingUtilsConcatenateFuzzer.java
│   │   ├── HexFuzzer.java
│   │   ├── InMemoryUserDetailsManagerChangePasswordFuzzer.java
│   │   ├── StrictHttpFirewallFuzzer.java
│   │   ├── Utf8Fuzzer.java
│   │   ├── acl/
│   │   │   └── AclFormattingUtilsFuzzer.java
│   │   ├── build.sh
│   │   ├── diff.patch
│   │   ├── oauth2-client/
│   │   │   └── ClientRegistrationFuzzer.java
│   │   ├── oauth2-core/
│   │   │   └── OAuth2AccessTokenFuzzer.java
│   │   ├── oauth2-jose/
│   │   │   └── NimbusJwtEncoderFuzzer.java
│   │   └── project.yaml
│   ├── spring-shell/
│   │   ├── Dockerfile
│   │   ├── add-shadow-core.patch
│   │   ├── add-shadow-standard.patch
│   │   ├── add-shadow-table.patch
│   │   ├── build.sh
│   │   ├── core/
│   │   │   └── CommandParserFuzzer.java
│   │   ├── project.yaml
│   │   ├── standard/
│   │   │   └── BashCompletionsFuzzer.java
│   │   └── table/
│   │       └── TableFuzzer.java
│   ├── spring-webflow/
│   │   ├── DefaultConversionServiceFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.patch
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sql-parser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_sql_parse.cpp
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── sqlalchemy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── sqlalchemy_fuzzer.py
│   ├── sqlalchemy-utils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_db.py
│   │   ├── fuzz_orm.py
│   │   ├── fuzz_type.py
│   │   └── project.yaml
│   ├── sqlalchemy_jsonfield/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_basic.py
│   │   └── project.yaml
│   ├── sqlite-jdbc/
│   │   ├── Dockerfile
│   │   ├── SqliteConnectionFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sqlite3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── ossfuzz.options
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── sql.dict
│   ├── sqlparse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_format.py
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── stack_data/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_source.py
│   │   └── project.yaml
│   ├── starlark-rust/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── starnix-netlink/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── cargo.toml/
│   │   │   ├── core
│   │   │   ├── generic
│   │   │   ├── parent
│   │   │   ├── route
│   │   │   ├── sock_diag
│   │   │   └── utils
│   │   ├── fuzz/
│   │   │   ├── .gitignore
│   │   │   ├── Cargo.toml
│   │   │   └── fuzz_targets/
│   │   │       ├── core_fuzzer.rs
│   │   │       └── utils_fuzzer.rs
│   │   └── project.yaml
│   ├── stax/
│   │   ├── Dockerfile
│   │   ├── build-jdk.sh
│   │   ├── build.sh
│   │   ├── enable-jdk.sh
│   │   ├── maven-settings.xml
│   │   ├── project.yaml
│   │   └── stax-fuzzer/
│   │       ├── pom.xml
│   │       └── src/
│   │           └── main/
│   │               └── java/
│   │                   └── ossfuzz/
│   │                       └── XMLStreamReaderFuzzer.java
│   ├── stb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── stringtemplate4/
│   │   ├── Dockerfile
│   │   ├── StringFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── strongswan/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── struts/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── maven-settings.xml
│   │   ├── project.yaml
│   │   └── struts2-fuzzer/
│   │       ├── .gitignore
│   │       ├── fuzzer/
│   │       │   ├── pom.xml
│   │       │   └── src/
│   │       │       └── main/
│   │       │           └── java/
│   │       │               └── org/
│   │       │              

================================================
FILE CONTENTS
================================================

================================================
FILE: .allstar/binary_artifacts.yaml
================================================
# Exemption reason: This repo uses binary artifacts for integration tests.
optConfig:
  optOut: true


================================================
FILE: .clusterfuzzlite/Dockerfile
================================================
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

FROM gcr.io/oss-fuzz-base/base-builder-python:v1
COPY . $SRC/oss-fuzz
WORKDIR oss-fuzz
COPY .clusterfuzzlite/build.sh $SRC/
RUN cp .clusterfuzzlite/coverage_atheris_fuzzer.py infra
WORKDIR infra/
RUN pip3 install --upgrade pip
RUN pip3 install -r cifuzz/requirements.txt
RUN cp -r cifuzz/* .


================================================
FILE: .clusterfuzzlite/build.sh
================================================
#!/bin/bash -eu
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

fuzzer=coverage_atheris_fuzzer.py
fuzzer_basename=$(basename -s .py $fuzzer)
fuzzer_package=${fuzzer_basename}.pkg

# To avoid issues with Python version conflicts, or changes in environment
# over time on the OSS-Fuzz bots, we use pyinstaller to create a standalone
# package. Though not necessarily required for reproducing issues, this is
# required to keep fuzzers working properly in OSS-Fuzz.
pyinstaller --distpath $OUT --onefile --name $fuzzer_package $fuzzer

# Create execution wrapper. Atheris requires that certain libraries are
# preloaded, so this is also done here to ensure compatibility and simplify
# test case reproduction. Since this helper script is what OSS-Fuzz will
# actually execute, it is also always required.
# NOTE: If you are fuzzing python-only code and do not have native C/C++
# extensions, then remove the LD_PRELOAD line below as preloading sanitizer
# library is not required and can lead to unexpected startup crashes.
echo "#!/bin/sh
# LLVMFuzzerTestOneInput for fuzzer detection.
this_dir=\$(dirname \"\$0\")
LD_PRELOAD=\$this_dir/sanitizer_with_fuzzer.so \
  ASAN_OPTIONS=\$ASAN_OPTIONS:symbolize=1:external_symbolizer_path=\$this_dir/llvm-symbolizer:detect_leaks=0 \
  \$this_dir/$fuzzer_package \$@" > $OUT/$fuzzer_basename
chmod +x $OUT/$fuzzer_basename


================================================
FILE: .clusterfuzzlite/coverage_atheris_fuzzer.py
================================================
#!/usr/bin/python3
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import atheris
import json
import os
from unittest import mock
import sys

sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(
    os.path.join(os.path.dirname(os.path.abspath(__file__)), 'cifuzz'))

with atheris.instrument_imports():
  import get_coverage

REPO_PATH = '/src/curl'
PROJECT_NAME = 'curl'

with mock.patch('get_coverage._get_oss_fuzz_fuzzer_stats_dir_url',
                return_value="randomurl"):
  oss_fuzz_coverage = get_coverage.OSSFuzzCoverage(REPO_PATH, PROJECT_NAME)


def TestOneInput(data):
  try:
    decoded_json = json.loads(data)
  except (json.decoder.JSONDecodeError, UnicodeDecodeError):
    # Wart
    return oss_fuzz_coverage.get_files_covered_by_target('fuzz-target')

  with mock.patch('get_coverage.OSSFuzzCoverage.get_target_coverage',
                  return_value=decoded_json):
    oss_fuzz_coverage.get_files_covered_by_target('fuzz-target')
  return 0


def main():
  atheris.Setup(sys.argv, TestOneInput)
  atheris.Fuzz()


if __name__ == '__main__':
  main()


================================================
FILE: .clusterfuzzlite/project.yaml
================================================
language: python


================================================
FILE: .dockerignore
================================================
.git
.venv
infra/cifuzz/test_data/*
docs/*

# Copied from .gitignore.
.vscode/
*.pyc
build
*~
.DS_Store
*.swp
.pytest_cache
*__pycache__/*

================================================
FILE: .gitattributes
================================================
# Check out Linux shell scripts with LF (necessary when using Docker setup on Windows)
*.sh text eol=lf


================================================
FILE: .github/header-checker-lint.yml
================================================
allowedCopyrightHolders:
  - 'Google LLC'
allowedLicenses:
  - 'Apache-2.0'
sourceFileExtensions:
  - 'ts'
  - 'js'
  - 'java'
  - 'Dockerfile'
  - 'java'
  - 'c'
  - 'h'
  - 'cc'
  - 'cpp'
  - 'css'
  - 'html'
  - 'htm'
  - 'go'
  - 'sh'
  - 'bash'
  - 'rs'
  - 'proto'
  - 'swift'


================================================
FILE: .github/workflows/cflite_pr.yml
================================================
name: ClusterFuzzLite PR fuzzing
on:
  pull_request:
    paths:
      - 'infra/**'
permissions: read-all
jobs:
  PR:
    runs-on: ubuntu-latest
    concurrency:
      group: ${{ github.workflow }}-${{ matrix.sanitizer }}-${{ github.ref }}
      cancel-in-progress: true
    strategy:
      fail-fast: false
      matrix:
        sanitizer:
        - address
        # Override this with the sanitizers you want.
        # - undefined
        # - memory
    steps:
    - name: Build Fuzzers (${{ matrix.sanitizer }})
      id: build
      uses: google/clusterfuzzlite/actions/build_fuzzers@v1
      with:
        language: python
        github-token: ${{ secrets.GITHUB_TOKEN }}
        sanitizer: ${{ matrix.sanitizer }}
        # Optional but recommended: used to only run fuzzers that are affected
        # by the PR.
        # See later section on "Git repo for storage".
        # storage-repo: https://${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/OWNER/STORAGE-REPO-NAME.git
        # storage-repo-branch: main   # Optional. Defaults to "main"
        # storage-repo-branch-coverage: gh-pages  # Optional. Defaults to "gh-pages".
    - name: Run Fuzzers (${{ matrix.sanitizer }})
      id: run
      uses: google/clusterfuzzlite/actions/run_fuzzers@v1
      with:
        github-token: ${{ secrets.GITHUB_TOKEN }}
        fuzz-seconds: 600
        mode: 'code-change'
        sanitizer: ${{ matrix.sanitizer }}
        # Optional but recommended: used to download the corpus produced by
        # batch fuzzing.
        # See later section on "Git repo for storage".
        # storage-repo: https://${{ secrets.PERSONAL_ACCESS_TOKEN }}@github.com/OWNER/STORAGE-REPO-NAME.git
        # storage-repo-branch: main   # Optional. Defaults to "main"
        # storage-repo-branch-coverage: gh-pages  # Optional. Defaults to "gh-pages".



================================================
FILE: .github/workflows/check_base_os.yml
================================================
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
################################################################################

name: 'Check Base OS Consistency'

on:
  pull_request:
    paths:
      - 'projects/**'

jobs:
  check-consistency:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          fetch-depth: 0 # Fetch all history to compare with main

      - name: Get changed project directories
        id: changed-projects
        run: |
          # Get the list of changed files compared to the target branch
          # and filter for unique directories under 'projects/'.
          CHANGED_DIRS=$(git diff --name-only ${GITHUB_BASE_REF} ${GITHUB_HEAD_REF} | \
            grep '^projects/' | \
            xargs -n 1 dirname | \
            sort -u)
          echo "changed_dirs=${CHANGED_DIRS}" >> $GITHUB_OUTPUT

      - name: Set up Python
        uses: actions/setup-python@v6
        with:
          python-version: '3.x'

      - name: Install dependencies
        run: pip install PyYAML

      - name: Check each modified project
        if: steps.changed-projects.outputs.changed_dirs != ''
        run: |
          EXIT_CODE=0
          for project_dir in ${STEPS_CHANGED_PROJECTS_OUTPUTS_CHANGED_DIRS};
          do
            echo "--- Checking ${project_dir} ---"
            python3 infra/ci/check_base_os.py "${project_dir}" || EXIT_CODE=$?
          done
          exit $EXIT_CODE
        env:
          STEPS_CHANGED_PROJECTS_OUTPUTS_CHANGED_DIRS: ${{ steps.changed-projects.outputs.changed_dirs }}


================================================
FILE: .github/workflows/codeql-analysis.yml
================================================
name: "CodeQL"

on:
  push:
    branches: [ master ]
    paths: [infra/**, .github/**]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ master ]
    paths: [infra/**, .github/**]

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest
    permissions:
      actions: read
      contents: read
      security-events: write

    strategy:
      fail-fast: false

    steps:
    - name: Checkout repository
      uses: actions/checkout@v6

    # Initializes the CodeQL tools for scanning.
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v2
      with:
        languages: python
        # If you wish to specify custom queries, you can do so here or in a config file.
        # By default, queries listed here will override any specified in a config file.
        # Prefix the list here with "+" to use these queries and those in the config file.
        # queries: ./path/to/local/query, your-org/your-repo/queries@main

    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
    # If this step fails, then you should remove it and run the build manually (see below)
    - name: Autobuild
      uses: github/codeql-action/autobuild@v2

    # ℹ️ Command-line programs to run using the OS shell.
    # 📚 https://git.io/JvXDl

    # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
    #    and modify them (or add more) to build your code if your project
    #    uses a compiled language

    #- run: |
    #   make bootstrap
    #   make release

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v2


================================================
FILE: .github/workflows/index_build_tests.yml
================================================
name: indexer tests

permissions:
  contents: read

on:
  pull_request:
    paths:
      - 'infra/base-images/base-builder/indexer/**'
      - '.github/workflows/index_build_tests.yml'

jobs:
  'indexer':
    runs-on: ubuntu-latest
    permissions:
      actions: write
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
      cancel-in-progress: true
    steps:
      - uses: actions/checkout@v6
        with:  # Needed for git diff to work. (get_changed_files)
          fetch-depth: 0
      - run: |
          git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/master

      - name: Setup python environment
        uses: actions/setup-python@v6
        with:
          python-version: 3.11

      - name: Get latest indexer binary
        run: curl -O https://clusterfuzz-builds.storage.googleapis.com/oss-fuzz-artifacts/indexer && chmod +x indexer
        working-directory: 'infra/base-images/base-builder/indexer'

      - name: Run indexer tests
        run: sudo env "PATH=$PATH" INDEX_BUILD_TESTS=1 python -m unittest index_build_test
        working-directory: 'infra/base-images/base-builder/indexer'


================================================
FILE: .github/workflows/indexer_build.yml
================================================
name: indexer build tests

permissions:
  contents: read

on:
  pull_request:
    paths:
      - 'infra/indexer/**'
      - '.github/workflows/indexer_build.yml'

jobs:
  indexer:
    runs-on: ubuntu-latest
    permissions:
      actions: write
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
      cancel-in-progress: true
    steps:
      - uses: actions/checkout@v6
        with:  # Needed for git diff to work. (get_changed_files)
          fetch-depth: 0
      - run: |
          git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/master

      - name: Build indexer
        run: docker build -t indexer .
        working-directory: 'infra/indexer'

================================================
FILE: .github/workflows/infra_tests.yml
================================================
name: Infra tests

permissions:
  contents: read

on:
  pull_request:
    paths:
      - 'infra/**'
      - '.github/workflows/**'

jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      actions: write
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
      cancel-in-progress: true
    steps:
      - uses: actions/checkout@v6
        with:  # Needed for git diff to work. (get_changed_files)
          fetch-depth: 0
      - run: |
          git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/master

      - name: Setup python environment
        uses: actions/setup-python@v6
        with:
          python-version: 3.11

      # For gcloud emulators.
      - name: Setup Java environment
        uses: actions/setup-java@v5
        with:
          java-version: '21'
          distribution: 'temurin'

      - name: Install dependencies
        run: |
          sudo env "PATH=$PATH" python -m pip install --upgrade pip
          sudo env "PATH=$PATH" pip install -r infra/ci/requirements.txt
          sudo env "PATH=$PATH" pip install -r infra/build/functions/requirements.txt
          sudo env "PATH=$PATH" pip install -r infra/cifuzz/requirements.txt

      - uses: google-github-actions/setup-gcloud@v3
        with:
          version: '523.0.0'
      - run: |
          sudo env "PATH=$PATH" gcloud components install beta cloud-datastore-emulator

      - name: Run infra tests
        run: sudo env "PATH=$PATH" END_TO_END_TESTS=1 INTEGRATION_TESTS=1 python infra/presubmit.py infra-tests -p


================================================
FILE: .github/workflows/pr_helper.yml
================================================
name: PR helper
on:
  pull_request_target:
    types: [opened]
    branches:
      - master
    paths:
      - 'projects/**'

jobs:
  build:
    runs-on: ubuntu-latest

    permissions:
      contents: read
      pull-requests: write

    steps:
      - uses: actions/checkout@v6
      - name: Setup python environment
        uses: actions/setup-python@v6
        with:
          python-version: 3.11
          cache: pip
          cache-dependency-path: |
            infra/ci/requirements.txt

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r infra/ci/requirements.txt

      - name: setup go environment
        uses: actions/setup-go@v6
        with:
          go-version: 'stable'
      - run: go install github.com/ossf/criticality_score/cmd/criticality_score@latest

      - name: Check if authors are authorized to modify.
        id: checkAuthor
        env:
          GITHUBTOKEN: ${{secrets.GITHUB_TOKEN}}
          PRAUTHOR: ${{ github.event.pull_request.user.login }}
          PRNUMBER: ${{ github.event.pull_request.number }} 
        run: python infra/pr_helper.py

      - name: Leave comments
        if: env.IS_INTERNAL == 'FALSE'
        uses: actions/github-script@v8
        with:
          github-token: ${{secrets.GITHUB_TOKEN}}
          script: |
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: process.env.MESSAGE
            })

      - name: Add labels for valid PR
        if: env.IS_READY_FOR_MERGE == 'True'
        uses: actions/github-script@v8
        with:
          script: |
            github.rest.issues.addLabels({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              labels: ['Ready to merge']
            })


================================================
FILE: .github/workflows/presubmit.yml
================================================
name: Presubmit checks

permissions:
  contents: read

on:
  pull_request:
    branches:
    - master

jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      actions: write
    concurrency:
      group: ${{ github.workflow }}-${{ github.ref }}
      cancel-in-progress: true
    steps:

      - uses: actions/checkout@v6
        with:  # Needed for git diff to work. (get_changed_files)
          fetch-depth: 0
      - run: |
          git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/master

      - name: Setup python environment
        uses: actions/setup-python@v6
        with:
          python-version: 3.11
          cache: pip
          cache-dependency-path: |
            infra/ci/requirements.txt
            infra/build/functions/requirements.txt

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r infra/ci/requirements.txt
          pip install -r infra/build/functions/requirements.txt

      - name: Run presubmit checks
        run: python infra/presubmit.py


================================================
FILE: .github/workflows/project_tests.yml
================================================
name: Project tests

permissions:
  contents: read

on:
  pull_request:
    branches:
    - master

jobs:
  build:
    runs-on: ubuntu-latest
    concurrency:
      group: ${{ github.workflow }}-${{ matrix.sanitizer }}-${{ matrix.engine }}-${{ matrix.architecture }}-${{ github.ref }}
      cancel-in-progress: true
    permissions:
      actions: write
    strategy:
      fail-fast: false
      matrix:
        engine:
          - libfuzzer
        sanitizer:
          - address
          - memory
          - undefined
          - coverage
        architecture:
          - x86_64
        include:
          - engine: afl
            sanitizer: address
            architecture: x86_64
          - engine: honggfuzz
            sanitizer: address
            architecture: x86_64
          - engine: libfuzzer
            sanitizer: address
            architecture: i386
          - engine: none
            sanitizer: address
            architecture: x86_64
          - engine: centipede
            sanitizer: address
            architecture: x86_64
          - engine: centipede
            sanitizer: none
            architecture: x86_64
    env:
      ENGINE: ${{ matrix.engine }}
      SANITIZER: ${{ matrix.sanitizer }}
      ARCHITECTURE: ${{ matrix.architecture }}

    steps:
      - uses: actions/checkout@v6
        with:  # Needed for git diff to work. (get_changed_files)
          fetch-depth: 0
      - run: |
          git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/master

      - name: Clear unnecessary files
        run: |
          df -h
          sudo swapoff -a
          sudo rm -f /swapfile
          sudo apt clean
          docker rmi $(docker images -a -q) || true
          df -h
          echo "Remove large unused folders, inspired by https://github.com/apache/flink/blame/master/tools/azure-pipelines/free_disk_space.sh"
          sudo bash -c '(ionice -c 3 nice -n 19 rm -rf /usr/share/dotnet/ /usr/local/graalvm/ /usr/local/.ghcup/ /usr/local/share/powershell /usr/local/share/chromium /usr/local/lib/android /usr/local/lib/node_modules)&'

      - name: Setup python environment
        uses: actions/setup-python@v6
        with:
          python-version: 3.11
          cache: pip
          cache-dependency-path: |
            infra/ci/requirements.txt

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install -r infra/ci/requirements.txt

      - name: Run project tests
        run: python infra/ci/build.py


================================================
FILE: .github/workflows/ubuntu_version_sync.yml
================================================
# Copyright 2023 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
################################################################################

name: 'Ubuntu Version Sync Check'

on:
  pull_request:
    types: [opened, synchronize, reopened]

jobs:
  check-sync:
    name: Ubuntu File Synchronization Check
    runs-on: ubuntu-latest
    env:
      BASE_SHA: ${{ github.event.pull_request.base.sha }}
      HEAD_SHA: ${{ github.event.pull_request.head.sha }}
    steps:
    - name: 'Checkout code'
      uses: actions/checkout@v6
      with:
        # Fetch all history so we can diff against the base branch.
        fetch-depth: 0

    - name: 'Run sync check'
      run: |
        set -e
        
        MODIFIED_FILES=$(git diff --name-only $BASE_SHA...$HEAD_SHA)
        echo "Checking for synchronized file changes..."
        echo "Modified files in this PR:"
        echo "$MODIFIED_FILES"
        
        ERRORS=""

        # Define the mapping of legacy files to their versioned counterparts.
        # Format: "legacy_file;versioned_file_pattern"
        # The pattern uses {version} which will be replaced with "ubuntu-20-04" and "ubuntu-24-04".
        # For Dockerfiles, the pattern is different from scripts.
        declare -A LEGACY_DOCKERFILES
        LEGACY_DOCKERFILES["infra/base-images/base-builder-fuzzbench/Dockerfile"]="infra/base-images/base-builder-fuzzbench/{version}.Dockerfile"
        LEGACY_DOCKERFILES["infra/base-images/base-builder-swift/Dockerfile"]="infra/base-images/base-builder-swift/{version}.Dockerfile"
        LEGACY_DOCKERFILES["infra/base-images/base-builder/Dockerfile"]="infra/base-images/base-builder/{version}.Dockerfile"
        LEGACY_DOCKERFILES["infra/base-images/base-clang/Dockerfile"]="infra/base-images/base-clang/{version}.Dockerfile"
        LEGACY_DOCKERFILES["infra/base-images/base-runner/Dockerfile"]="infra/base-images/base-runner/{version}.Dockerfile"

        declare -A LEGACY_SCRIPTS
        LEGACY_SCRIPTS["infra/base-images/base-builder-fuzzbench/fuzzbench_install_dependencies"]="infra/base-images/base-builder-fuzzbench/fuzzbench_install_dependencies_{version}"
        LEGACY_SCRIPTS["infra/base-images/base-builder/install_deps.sh"]="infra/base-images/base-builder/install_deps_{version}.sh"
        LEGACY_SCRIPTS["infra/base-images/base-builder/install_swift.sh"]="infra/base-images/base-builder/install_swift_{version}.sh"
        LEGACY_SCRIPTS["infra/base-images/base-builder/precompile_honggfuzz"]="infra/base-images/base-builder/precompile_honggfuzz_{version}"
        LEGACY_SCRIPTS["infra/base-images/base-clang/checkout_build_install_llvm.sh"]="infra/base-images/base-clang/checkout_build_install_llvm_{version}.sh"
        LEGACY_SCRIPTS["infra/base-images/base-runner/install_deps.sh"]="infra/base-images/base-runner/install_deps_{version}.sh"

        VERSIONS=("ubuntu-20-04" "ubuntu-24-04")

        # Check Dockerfiles
        for legacy_file in "${!LEGACY_DOCKERFILES[@]}"; do
          if [[ "${legacy_file}" == infra/* ]] && echo "$MODIFIED_FILES" | grep -q "^${legacy_file}$"; then
            echo "Legacy file changed: $legacy_file. Verifying counterparts..."
            for version in "${VERSIONS[@]}"; do
              pattern="${LEGACY_DOCKERFILES[$legacy_file]}"
              versioned_file="${pattern/\{version\}/$version}"
              if ! echo "$MODIFIED_FILES" | grep -q "^${versioned_file}$"; then
                ERRORS+="\n- Legacy file '${legacy_file}' was changed, but its counterpart '${versioned_file}' was not."
              fi
            done
          fi
        done

        # Check Scripts
        for legacy_file in "${!LEGACY_SCRIPTS[@]}"; do
          if echo "$MODIFIED_FILES" | grep -q "^${legacy_file}$"; then
            echo "Legacy script changed: $legacy_file. Verifying counterparts..."
            for version in "${VERSIONS[@]}"; do
              pattern="${LEGACY_SCRIPTS[$legacy_file]}"
              versioned_file="${pattern/\{version\}/$version}"
              if ! echo "$MODIFIED_FILES" | grep -q "^${versioned_file}$"; then
                ERRORS+="\n- Legacy script '${legacy_file}' was changed, but its counterpart '${versioned_file}' was not."
              fi
            done
          fi
        done

        if [ -n "$ERRORS" ]; then
          echo -e "\n\e[31mError: Found synchronization issues between legacy and versioned files.\e[0m"
          echo -e "Please update the following files to match their legacy counterparts or ensure they are included in this PR:$ERRORS"
          exit 1
        else
          echo -e "\n\e[32mSuccess: All modified legacy files are synchronized with their versioned counterparts.\e[0m"
        fi


================================================
FILE: .gitignore
================================================
/.vscode/
*.pyc
/build/
*~
.DS_Store
*.swp
.venv
.gdb_history
infra/base-images/base-builder/indexer/indexer
infra/base-images/base-builder/indexer/fuzzing_engine.a

# IntelliJ IDEA
/.idea
**/*.iml

# Chronos
ccaches/


================================================
FILE: .pylintrc
================================================
[MASTER]

# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-whitelist=

# Add files or directories to the blocklist. They should be base names, not
# paths.
ignore=CVS,base-clang,base-sanitizer-libs-builder

# Add files or directories matching the regex patterns to the blocklist. The
# regex matches against base names, not paths.
ignore-patterns=

# Python code to execute, usually for sys.path manipulation such as
# pygtk.require().
#init-hook=

# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
# number of processors available to use.
jobs=1

# Control the amount of potential inferred values when inferring a single
# object. This can help the performance when dealing with large functions or
# complex, nested conditions.
limit-inference-results=100

# List of plugins (as comma separated values of python module names) to load,
# usually to register additional checkers.
load-plugins=

# Pickle collected data for later comparisons.
persistent=yes

# Specify a configuration file.
#rcfile=

# When enabled, pylint would attempt to guess common misconfiguration and emit
# user-friendly hints instead of false-positive error messages.
suggestion-mode=yes

# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no


[MESSAGES CONTROL]

# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED.
confidence=

# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once). You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable=print-statement,
        parameter-unpacking,
        unpacking-in-except,
        old-raise-syntax,
        backtick,
        long-suffix,
        old-ne-operator,
        old-octal-literal,
        import-star-module-level,
        non-ascii-bytes-literal,
        raw-checker-failed,
        bad-inline-option,
        locally-disabled,
        file-ignored,
        suppressed-message,
        useless-suppression,
        deprecated-pragma,
        use-symbolic-message-instead,
        apply-builtin,
        basestring-builtin,
        buffer-builtin,
        cmp-builtin,
        coerce-builtin,
        execfile-builtin,
        file-builtin,
        long-builtin,
        raw_input-builtin,
        reduce-builtin,
        standarderror-builtin,
        unicode-builtin,
        xrange-builtin,
        coerce-method,
        delslice-method,
        getslice-method,
        setslice-method,
        no-absolute-import,
        old-division,
        dict-iter-method,
        dict-view-method,
        next-method-called,
        metaclass-assignment,
        indexing-exception,
        raising-string,
        reload-builtin,
        oct-method,
        hex-method,
        nonzero-method,
        cmp-method,
        input-builtin,
        round-builtin,
        intern-builtin,
        unichr-builtin,
        map-builtin-not-iterating,
        zip-builtin-not-iterating,
        range-builtin-not-iterating,
        filter-builtin-not-iterating,
        using-cmp-argument,
        eq-without-hash,
        div-method,
        idiv-method,
        rdiv-method,
        exception-message-attribute,
        invalid-str-codec,
        sys-max-int,
        bad-python3-import,
        deprecated-string-function,
        deprecated-str-translate-call,
        deprecated-itertools-function,
        deprecated-types-field,
        next-method-defined,
        dict-items-not-iterating,
        dict-keys-not-iterating,
        dict-values-not-iterating,
        deprecated-operator-function,
        deprecated-urllib-function,
        xreadlines-attribute,
        deprecated-sys-function,
        exception-escape,
        comprehension-escape,
        fixme,
        import-error,
        logging-fstring-interpolation,

# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once). See also the "--disable" option for examples.
enable=c-extension-no-member


[REPORTS]

# Python expression which should return a score less than or equal to 10. You
# have access to the variables 'error', 'warning', 'refactor', and 'convention'
# which contain the number of messages in each category, as well as 'statement'
# which is the total number of statements analyzed. This score is used by the
# global evaluation report (RP0004).
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)

# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details.
#msg-template=

# Set the output format. Available formats are text, parseable, colorized, json
# and msvs (visual studio). You can also give a reporter class, e.g.
# mypackage.mymodule.MyReporterClass.
output-format=text

# Tells whether to display a full report or only the messages.
reports=no

# Activate the evaluation score.
score=yes


[REFACTORING]

# Maximum number of nested blocks for function / method body
max-nested-blocks=5

# Complete name of functions that never returns. When checking for
# inconsistent-return-statements if a never returning function is called then
# it will be considered as an explicit return statement and no message will be
# printed.
never-returning-functions=sys.exit


[BASIC]

# Naming style matching correct argument names.
argument-naming-style=snake_case

# Regular expression matching correct argument names. Overrides argument-
# naming-style.
#argument-rgx=

# Naming style matching correct attribute names.
attr-naming-style=snake_case

# Regular expression matching correct attribute names. Overrides attr-naming-
# style.
#attr-rgx=

# Bad variable names which should always be refused, separated by a comma.
bad-names=foo,
          bar,
          baz,
          toto,
          tutu,
          tata

# Naming style matching correct class attribute names.
class-attribute-naming-style=any

# Regular expression matching correct class attribute names. Overrides class-
# attribute-naming-style.
#class-attribute-rgx=

# Naming style matching correct class names.
class-naming-style=PascalCase

# Regular expression matching correct class names. Overrides class-naming-
# style.
#class-rgx=

# Naming style matching correct constant names.
const-naming-style=UPPER_CASE

# Regular expression matching correct constant names. Overrides const-naming-
# style.
#const-rgx=

# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=-1

# Naming style matching correct function names.
function-naming-style=snake_case

# Regular expression matching correct function names. Overrides function-
# naming-style.
#function-rgx=

# Good variable names which should always be accepted, separated by a comma.
good-names=i,
           j,
           k,
           fp,
           ex,
           Run,
           _

# Include a hint for the correct naming format with invalid-name.
include-naming-hint=no

# Naming style matching correct inline iteration names.
inlinevar-naming-style=any

# Regular expression matching correct inline iteration names. Overrides
# inlinevar-naming-style.
#inlinevar-rgx=

# Naming style matching correct method names.
method-naming-style=snake_case

# Regular expression matching correct method names. Overrides method-naming-
# style.
#method-rgx=

# Naming style matching correct module names.
module-naming-style=snake_case

# Regular expression matching correct module names. Overrides module-naming-
# style.
#module-rgx=

# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=

# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_

# List of decorators that produce properties, such as abc.abstractproperty. Add
# to this list to register other decorators that produce valid properties.
# These decorators are taken in consideration only for invalid-name.
property-classes=abc.abstractproperty

# Naming style matching correct variable names.
variable-naming-style=snake_case

# Regular expression matching correct variable names. Overrides variable-
# naming-style.
#variable-rgx=


[SIMILARITIES]

# Ignore comments when computing similarities.
ignore-comments=yes

# Ignore docstrings when computing similarities.
ignore-docstrings=yes

# Ignore imports when computing similarities.
ignore-imports=no

# Minimum lines number of a similarity.
min-similarity-lines=4


[FORMAT]

# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=

# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$

# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4

# String used as indentation unit. This is usually "    " (4 spaces) or "\t" (1
# tab).
indent-string='  '

# Maximum number of characters on a single line.
max-line-length=100

# Maximum number of lines in a module.
max-module-lines=1000

# List of optional constructs for which whitespace checking is disabled. `dict-
# separator` is used to allow tabulation in dicts, etc.: {1  : 1,\n222: 2}.
# `trailing-comma` allows a space between comma and closing bracket: (a, ).
# `empty-line` allows space-only lines.
no-space-check=trailing-comma,
               dict-separator

# Allow the body of a class to be on the same line as the declaration if body
# contains single statement.
single-line-class-stmt=no

# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no


[MISCELLANEOUS]

# List of note tags to take in consideration, separated by a comma.
notes=FIXME,
      XXX,
      TODO


[TYPECHECK]

# List of decorators that produce context managers, such as
# contextlib.contextmanager. Add to this list to register other decorators that
# produce valid context managers.
contextmanager-decorators=contextlib.contextmanager

# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=

# Tells whether missing members accessed in mixin class should be ignored. A
# mixin class is detected if its name ends with "mixin" (case insensitive).
ignore-mixin-members=yes

# Tells whether to warn about missing members when the owner of the attribute
# is inferred to be None.
ignore-none=yes

# This flag controls whether pylint should warn about no-member and similar
# checks whenever an opaque object is returned when inferring. The inference
# can return multiple potential results while evaluating a Python object, but
# some branches might not be evaluated, which results in partial inference. In
# that case, it might be useful to still emit no-member and other checks for
# the rest of the inferred objects.
ignore-on-opaque-inference=yes

# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes=optparse.Values,thread._local,_thread._local

# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis). It
# supports qualified module names, as well as Unix pattern matching.
ignored-modules=

# Show a hint with possible names when a member name was not found. The aspect
# of finding the hint is based on edit distance.
missing-member-hint=yes

# The minimum edit distance a name should have in order to be considered a
# similar match for a missing member name.
missing-member-hint-distance=1

# The total number of similar names that should be taken in consideration when
# showing a hint for a missing member.
missing-member-max-choices=1

# List of decorators that change the signature of a decorated function.
signature-mutators=


[SPELLING]

# Limits count of emitted suggestions for spelling mistakes.
max-spelling-suggestions=4

# Spelling dictionary name. Available dictionaries: none. To make it work,
# install the python-enchant package.
spelling-dict=

# List of comma separated words that should not be checked.
spelling-ignore-words=

# A path to a file that contains the private dictionary; one word per line.
spelling-private-dict-file=

# Tells whether to store unknown words to the private dictionary (see the
# --spelling-private-dict-file option) instead of raising a message.
spelling-store-unknown-words=no


[VARIABLES]

# List of additional names supposed to be defined in builtins. Remember that
# you should avoid defining new builtins when possible.
additional-builtins=

# Tells whether unused global variables should be treated as a violation.
allow-global-unused-variables=no

# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,
          _cb

# A regular expression matching the name of placeholder variables (i.e. expected
# to not be used).
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_

# Argument names that match this expression will be ignored. Default to name
# with leading underscore.
ignored-argument-names=_.*|^ignored_|^unused_

# Tells whether we should check for unused import in __init__ files.
init-import=no

# List of qualified module names which can have objects that can redefine
# builtins.
redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io


[LOGGING]

# Format style used to check logging format string. `old` means using %
# formatting, `new` is for `{}` formatting,and `fstr` is for f-strings.
logging-format-style=old

# Logging modules to check that the string format arguments are in logging
# function parameter format.
logging-modules=logging


[STRING]

# This flag controls whether the implicit-str-concat-in-sequence should
# generate a warning on implicit string concatenation in sequences defined over
# several lines.
check-str-concat-over-line-jumps=no


[IMPORTS]

# List of modules that can be imported at any level, not just the top level
# one.
allow-any-import-level=

# Allow wildcard imports from modules that define __all__.
allow-wildcard-with-all=no

# Analyse import fallback blocks. This can be used to support both Python 2 and
# 3 compatible code, which means that the block might have code that exists
# only in one or another interpreter, leading to false positives when analysed.
analyse-fallback-blocks=no

# Deprecated modules which should not be used, separated by a comma.
deprecated-modules=optparse,tkinter.tix

# Create a graph of external dependencies in the given file (report RP0402 must
# not be disabled).
ext-import-graph=

# Create a graph of every (i.e. internal and external) dependencies in the
# given file (report RP0402 must not be disabled).
import-graph=

# Create a graph of internal dependencies in the given file (report RP0402 must
# not be disabled).
int-import-graph=

# Force import order to recognize a module as part of the standard
# compatibility libraries.
known-standard-library=

# Force import order to recognize a module as part of a third party library.
known-third-party=enchant

# Couples of modules and preferred modules, separated by a comma.
preferred-modules=


[CLASSES]

# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,
                      __new__,
                      setUp,
                      __post_init__

# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,
                  _fields,
                  _replace,
                  _source,
                  _make

# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls

# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=cls


[DESIGN]

# Maximum number of arguments for function / method.
max-args=5

# Maximum number of attributes for a class (see R0902).
max-attributes=7

# Maximum number of boolean expressions in an if statement (see R0916).
max-bool-expr=5

# Maximum number of branch for function / method body.
max-branches=12

# Maximum number of locals for function / method body.
max-locals=15

# Maximum number of parents for a class (see R0901).
max-parents=7

# Maximum number of public methods for a class (see R0904).
max-public-methods=20

# Maximum number of return / yield for function / method body.
max-returns=6

# Maximum number of statements in function / method body.
max-statements=50

# Minimum number of public methods for a class (see R0903).
min-public-methods=2


[EXCEPTIONS]

# Exceptions that will emit a warning when being caught. Defaults to
# "BaseException, Exception".
overgeneral-exceptions=BaseException,
                       Exception

# Maximum number of characters on a single line.
max-line-length=80


================================================
FILE: .style.yapf
================================================
[style]
based_on_style = google
column_limit = 80
indent_width = 2
split_before_named_assigns = true


================================================
FILE: AGENTS.md
================================================
* Use python3 infra/helper.py to build projects and run fuzzers.
* If doing development on infra/ you should use a venv and if it doesn't already exist, install deps from infra/ci/requirements.txt build/functions/requirements.txt with pip.
* If doing development on infra/ run python infra/presubmit.py to format, lint and run tests.


================================================
FILE: CITATION.cff
================================================
cff-version: 1.2.0
title: OSS-Fuzz
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Abhishek
    family-names: Arya
    affiliation: Google LLC
    email: aarya@google.com
    orcid: 'https://orcid.org/0009-0009-4558-4314'
  - given-names: Oliver
    family-names: Chang
    email: ochang@google.com
    affiliation: Google LLC
    orcid: 'https://orcid.org/0009-0006-3181-4551'
  - given-names: Jonathan
    family-names: Metzman
    email: metzman@google.com
    affiliation: Google LLC
    orcid: 'https://orcid.org/0000-0002-7042-0444'
  - given-names: Kostya
    family-names: Serebryany
    email: kcc@google.com
    affiliation: Google LLC
    orcid: 'https://orcid.org/0009-0009-2379-3641'
  - given-names: Dongge
    family-names: Liu
    email: donggeliu@google.com
    affiliation: Google LLC
    orcid: 'https://orcid.org/0000-0003-4821-7033'
repository-code: 'https://github.com/google/oss-fuzz'
abstract: >-
  OSS-Fuzz is an open-source project by Google that provides
  continuous fuzzing for open-source software. It aims to
  make common open-source software more secure and stable by
  combining modern fuzzing techniques with scalable,
  distributed execution. As of August 2023, OSS-Fuzz has
  helped identify and fix over 10,000 vulnerabilities and
  36,000 bugs across 1,000 projects.
keywords:
  - open-source
  - fuzzing
license: Apache-2.0



================================================
FILE: CONTRIBUTING.md
================================================
Want to contribute? Great! First, read this page (including the small print at
the end).

### Before you contribute
Before we can use your code, you must sign the
[Google Individual Contributor License Agreement](https://cla.developers.google.com/about/google-individual)
(CLA), which you can do online. The CLA is necessary mainly because you own the
copyright to your changes, even after your contribution becomes part of our
codebase, so we need your permission to use and distribute your code. We also
need to be sure of various other things: for instance that you'll tell us if you
know that your code infringes on other people's patents. You don't have to sign
the CLA until after you've submitted your code for review and a member has
approved it, but you must do it before we can put your code into our codebase.
Before you start working on a larger contribution, you should get in touch with
us first through the issue tracker with your idea so that we can help out and
possibly guide you. Coordinating up front makes it much easier to avoid
frustration later on.

### Code reviews
All submissions, including submissions by project members, require review. We
use GitHub pull requests for this purpose.

### The small print
Contributions made by corporations are covered by a different agreement than
the one above, the
[Software Grant and Corporate Contributor License Agreement](https://cla.developers.google.com/about/google-corporate).

### Requesting a review
PRs should be reviewed within a few days by the OSS-Fuzz oncall. There is no need to add anyone to review your code.
If for some reason this does not happen for a few days, feel free to add a team member or email oss-fuzz-team@google.com
about your PR.


================================================
FILE: LICENSE
================================================
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "{}"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright {yyyy} {name of copyright owner}

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: README.md
================================================
# OSS-Fuzz: Continuous Fuzzing for Open Source Software

[Fuzz testing] is a well-known technique for uncovering programming errors in
software. Many of these detectable errors, like [buffer overflow], can have
serious security implications. Google has found [thousands] of security
vulnerabilities and stability bugs by deploying [guided in-process fuzzing of
Chrome components], and we now want to share that service with the open source
community.

[Fuzz testing]: https://en.wikipedia.org/wiki/Fuzz_testing
[buffer overflow]: https://en.wikipedia.org/wiki/Buffer_overflow
[thousands]: https://issues.chromium.org/issues?q=label:Stability-LibFuzzer%20-status:Duplicate,WontFix
[guided in-process fuzzing of Chrome components]: https://security.googleblog.com/2016/08/guided-in-process-fuzzing-of-chrome.html

In cooperation with the [Core Infrastructure Initiative] and the [OpenSSF],
OSS-Fuzz aims to make common open source software more secure and stable by
combining modern fuzzing techniques with scalable, distributed execution.
Projects that do not qualify for OSS-Fuzz (e.g. closed source) can run their own
instances of [ClusterFuzz] or [ClusterFuzzLite].

[Core Infrastructure Initiative]: https://www.coreinfrastructure.org/
[OpenSSF]: https://www.openssf.org/

We support the [libFuzzer], [AFL++], and [Honggfuzz] fuzzing engines in
combination with [Sanitizers], as well as [ClusterFuzz], a distributed fuzzer
execution environment and reporting tool.

[libFuzzer]: https://llvm.org/docs/LibFuzzer.html
[AFL++]: https://github.com/AFLplusplus/AFLplusplus
[Honggfuzz]: https://github.com/google/honggfuzz
[Sanitizers]: https://github.com/google/sanitizers
[ClusterFuzz]: https://github.com/google/clusterfuzz
[ClusterFuzzLite]: https://google.github.io/clusterfuzzlite/

Currently, OSS-Fuzz supports C/C++, Rust, Go, Python, Java/JVM, JavaScript and Lua code. Other languages
supported by [LLVM] may work too. OSS-Fuzz supports fuzzing x86_64 and i386
builds.

[LLVM]: https://llvm.org

## Overview
![OSS-Fuzz process diagram](docs/images/process.png)

## Documentation
Read our [detailed documentation] to learn how to use OSS-Fuzz.

[detailed documentation]: https://google.github.io/oss-fuzz

## Trophies
As of May 2025, OSS-Fuzz has helped identify and fix over 13,000 vulnerabilities and 50,000 bugs across [1,000] projects.

[1,000]: https://github.com/google/oss-fuzz/tree/master/projects

## Blog posts
* 2024-11-20 - [Leveling Up Fuzzing: Finding more vulnerabilities with AI]
* 2023-08-16 - [AI-Powered Fuzzing: Breaking the Bug Hunting Barrier]
* 2023-02-01 - [Taking the next step: OSS-Fuzz in 2023]
* 2022-09-08 - [Fuzzing beyond memory corruption: Finding broader classes of vulnerabilities automatically]
* 2021-12-16 - [Improving OSS-Fuzz and Jazzer to catch Log4Shell]
* 2021-03-10 - [Fuzzing Java in OSS-Fuzz]
* 2020-12-07 - [Improving open source security during the Google summer internship program]
* 2020-10-09 - [Fuzzing internships for Open Source Software]
* 2018-11-06 - [A New Chapter for OSS-Fuzz]
* 2017-05-08 - [OSS-Fuzz: Five months later, and rewarding projects]
* 2016-12-01 - [Announcing OSS-Fuzz: Continuous fuzzing for open source software]

[Leveling Up Fuzzing: Finding more vulnerabilities with AI]: https://security.googleblog.com/2024/11/leveling-up-fuzzing-finding-more.html
[AI-Powered Fuzzing: Breaking the Bug Hunting Barrier]: https://security.googleblog.com/2023/08/ai-powered-fuzzing-breaking-bug-hunting.html
[Announcing OSS-Fuzz: Continuous fuzzing for open source software]: https://opensource.googleblog.com/2016/12/announcing-oss-fuzz-continuous-fuzzing.html
[OSS-Fuzz: Five months later, and rewarding projects]: https://opensource.googleblog.com/2017/05/oss-fuzz-five-months-later-and.html
[A New Chapter for OSS-Fuzz]: https://security.googleblog.com/2018/11/a-new-chapter-for-oss-fuzz.html
[Fuzzing internships for Open Source Software]: https://security.googleblog.com/2020/10/fuzzing-internships-for-open-source.html
[Improving open source security during the Google summer internship program]: https://security.googleblog.com/2020/12/improving-open-source-security-during.html
[Fuzzing Java in OSS-Fuzz]: https://security.googleblog.com/2021/03/fuzzing-java-in-oss-fuzz.html
[Improving OSS-Fuzz and Jazzer to catch Log4Shell]: https://security.googleblog.com/2021/12/improving-oss-fuzz-and-jazzer-to-catch.html
[Fuzzing beyond memory corruption: Finding broader classes of vulnerabilities automatically]: https://security.googleblog.com/2022/09/fuzzing-beyond-memory-corruption.html
[Taking the next step: OSS-Fuzz in 2023]: https://security.googleblog.com/2023/02/taking-next-step-oss-fuzz-in-2023.html


================================================
FILE: docs/.gitignore
================================================
_site
.bundle
.sass-cache
.jekyll-metadata
vendor


================================================
FILE: docs/404.html
================================================
---
layout: default
---

<style type="text/css" media="screen">
  .container {
    margin: 10px auto;
    max-width: 600px;
    text-align: center;
  }
  h1 {
    margin: 30px 0;
    font-size: 4em;
    line-height: 1;
    letter-spacing: -1px;
  }
</style>

<div class="container">
  <h1>404</h1>

  <p><strong>Page not found :(</strong></p>
</div>


================================================
FILE: docs/Gemfile
================================================
source "https://rubygems.org"
gem 'github-pages', group: :jekyll_plugins

gem "webrick", "~> 1.8"


================================================
FILE: docs/README.md
================================================
# Readme

Use the following instructions to make documentation changes locally.

## Prerequisites
```bash
$ sudo apt install ruby bundler
$ bundle config set path 'vendor/bundle'
$ bundle install
```

## Serving locally
```bash
$ bundle exec jekyll serve
```

## Theme documentation
We are using the [just the docs](https://just-the-docs.github.io/just-the-docs/)
theme.


================================================
FILE: docs/_config.yml
================================================
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.

# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: OSS-Fuzz
description: Documentation for OSS-Fuzz
baseurl: "/oss-fuzz" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com

# Build settings
markdown: kramdown
remote_theme: pmarsceill/just-the-docs
search_enabled: true

ga_tracking: G-LRX1V3S5P

aux_links:
  "OSS-Fuzz on GitHub":
    - https://github.com/google/oss-fuzz

# Exclude from processing.
exclude:
  - Gemfile
  - Gemfile.lock
  - node_modules
  - vendor/bundle/
  - vendor/cache/
  - vendor/gems/
  - vendor/ruby/


================================================
FILE: docs/_sass/color_schemes/wider.scss
================================================
@import "./color_schemes/light";
$content-width: 70rem;


================================================
FILE: docs/advanced-topics/advanced_topics.md
================================================
---
layout: default
title: Advanced topics
has_children: true
nav_order: 3
permalink: /advanced-topics/
---

# Advanced topics


================================================
FILE: docs/advanced-topics/bug_fixing_guidance.md
================================================
---
layout: default
title: Bug fixing guidance
nav_order: 6
permalink: /advanced-topics/bug-fixing-guidance
---

# Bug fixing guidance
{: .no_toc}

This page provides brief guidance on how to prioritise and fix bugs reported by
OSS-Fuzz.

- TOC
{:toc}

## Threat modelling
In general the severity of an issue reported by OSS-Fuzz must be determined
relative to the threat model of the project under analysis. Therefore, although
the fuzzers OSS-Fuzz makes an effort into determining the severity of the bug
the true severity of the bug depends on the threat model of the project.

## Bug prioritisation

### Security issues
These are the top priority of solving. A label is attached to these on
the OSS-Fuzz testcase page and you can also search up all of these on monorail
using the search pattern `-Bug=security`.

Issues of this kind include issues reported by Address Sanitizer, e.g.
heap-based buffer overflows, stack-based buffer overflows and use-after-frees.

### Functional issues and memory leaks
These are issues that in general can tamper with the functionality of the
application. The bugs that have highest priority in this case are those that
can be easily triggered by an untrusted user of the project.

### Timeouts and out-of-memory
These are in general the least prioritised issues to solve.

### Bug prioritisation of non C/C++ projects
Currently there is no prioritisation of bugs in non C/C++ projects. As such, in
this scenario it is crucial you do the analysis yourself relative to the threat
model of your project.

## Non-reproducible bugs
OSS-Fuzz will report some bugs that are labeled `Reliably reproduces: NO` and
these can be tricky to deal with. A non-reproducible bug is an issue that
OSS-Fuzz did indeed discover, however, OSS-Fuzz is unable to reproduce the bug
with `python3 infra/helper.py reproduce`. In general, our suggestion is to do
analysis of the bug and determine whether there in fact is an issue.

The non-reproducible bugs can be of varying nature. Some of these bugs will be
due to some internal state of the target application being manipulated over the
cause of several executions of the fuzzer function. This could be several
hundreds or even thousands of executions and the bug may not be reproducible by
a single fuzzer test-case, however, there is indeed a bug in the application.
There are other reasons why bugs may be non-reproducible and in general any
non-determinism introduced into the application can have an effect on this.

In the case of non-reproducible bugs our advice is to put effort into analysing
the potential bug and also assess whether this is due to some internal state
that persists between each fuzz run. If that is indeed the case then we also
suggest investigating whether the fuzzer can be written such that the internal
state in the code will be reset between each fuzz run.

## Should all reported issues be solved?
It is reported by some project maintainers that fixing timeout issues reported
by OSS-Fuzz can increase the complexity of the project’s source code. The
result of this is that maintainers put effort into solving a timeout issue and
the fix results in additional complexity of the project. The question is
whether in a scenario like this if the overall result actually improves the
state of the application.

In order to answer this question we must assess the issue relative to the
threat model. Following the timeout anecdote then some timing issues can have
severe security implications. For example, if the timeout issue can cause
manipulation of control-flow then the timing issue may be of high security
severity. As such, it is difficult to say in the general case whether or not
some bugs should not be solved, as it should be analysed and determined on a
project-by-project basis.

In the event that a bug is reported by OSS-Fuzz that is not relevant to
security or reliability of the application then there may still be a point to
fixing the bug. For example, if the issue is often run into by the fuzzer then
the fuzzer may have difficulty exploring further code in the target, and thus
fixing the bug will allow the fuzzer to explore further code. In this case some
suggested examples of resolving the issue could be:
* Perform a hot-patch that is only applied during fuzzer executions and does
not overcomplicate the project’s code.
* Patch the code of the fuzzer to avoid the timeout. For example, some fuzzers
restrict the size of the input to avoid certain deep recursions or
time-intensive loops.
* Patch the code in the target despite complicating things.


================================================
FILE: docs/advanced-topics/code_coverage.md
================================================
---
layout: default
title: Code coverage
parent: Advanced topics
nav_order: 2
permalink: /advanced-topics/code-coverage/
---

# Code Coverage
{: .no_toc}

For projects written in C/C++, Rust, Go, Swift or Java and other JVM-based languages,
you can generate code coverage reports using Clang source-based code coverage.
This page walks you through the basic steps.
For more details on C/C++ coverage, see [Clang's documentation].

Code coverage reports generation for other languages is not supported yet.

- TOC
{:toc}
---

## Pull the latest Docker images

Docker images get regularly updated with a newer version of build tools, build
configurations, scripts, and other changes. We recommend you pull the most
recent images by running the following command:

```bash
$ python3 infra/helper.py pull_images
```

## Build fuzz targets

Code coverage report generation requires a special build configuration to be
used. To create a code coverage build for your project, run these commands:

```bash
$ python3 infra/helper.py build_image $PROJECT_NAME
$ python3 infra/helper.py build_fuzzers --sanitizer=coverage $PROJECT_NAME
```

## Establish access to GCS

To get a good understanding of fuzz testing quality, you should generate code
coverage reports by running fuzz targets against the corpus
aggregated by OSS-Fuzz. Set up `gsutil` and ensure that you have access to the
corpora by doing the following:

* Install the [gsutil tool].
* Check whether you have access to the corpus for your project:

```bash
$ gsutil ls gs://${PROJECT_NAME}-corpus.clusterfuzz-external.appspot.com/
```

If you see an authorization error from the command above, run this:

```bash
$ gcloud auth login
```

and try again. Once `gsutil` works, you can run the report generation.

## Generate code coverage reports

### Full project report

If you want to generate a code coverage report using the corpus aggregated on
OSS-Fuzz, run this command:

```bash
$ python3 infra/helper.py coverage $PROJECT_NAME
```

If you want to generate a code coverage report using the corpus you have
locally, copy the corpus into the
`build/corpus/$PROJECT_NAME/<fuzz_target_name>/` directories for each fuzz
target, then run this command:

```bash
$ python3 infra/helper.py coverage --no-corpus-download $PROJECT_NAME
```

### Single fuzz target

You can generate a code coverage report for a particular fuzz target by using
the `--fuzz-target` argument:

```bash
$ python3 infra/helper.py coverage --fuzz-target=<fuzz_target_name> $PROJECT_NAME
```

In this mode, you can specify an arbitrary corpus location for the fuzz target
(instead of the corpus downloaded from OSS-Fuzz) by using `--corpus-dir`:

```bash
$ python3 infra/helper.py coverage --fuzz-target=<fuzz_target_name> \
    --corpus-dir=<my_local_corpus_dir> $PROJECT_NAME
```

### Additional arguments for `llvm-cov` (C/C++/Rust only)

You may want to use some of the options provided by the [llvm-cov tool], like
`-ignore-filename-regex=`. You can pass these to the helper script after `--`:

```bash
$ python3 infra/helper.py coverage $PROJECT_NAME -- \
    -ignore-filename-regex=.*code/to/be/ignored/.* <other_extra_args>
```

If you want to specify particular source files or directories to show in the
report, list their paths at the end of the extra arguments sequence:

```bash
$ python3 infra/helper.py coverage zlib -- \
    <other_extra_args> /src/zlib/inftrees.c /src/zlib_uncompress_fuzzer.cc /src/zlib/zutil.c
```

If you want OSS-Fuzz to use extra arguments when generating code coverage
reports for your project, add the arguments into your `project.yaml` file as
follows:

```yaml
coverage_extra_args: -ignore-filename-regex=.*crc.* -ignore-filename-regex=.*adler.* <other_extra_args>
```

[Clang's documentation]: https://clang.llvm.org/docs/SourceBasedCodeCoverage.html
[gsutil tool]: https://cloud.google.com/storage/docs/gsutil_install
[llvm-cov tool]: https://llvm.org/docs/CommandGuide/llvm-cov.html


================================================
FILE: docs/advanced-topics/corpora.md
================================================
---
layout: default
title: Corpora
parent: Advanced topics
nav_order: 3
permalink: /advanced-topics/corpora/
---

# Accessing Corpora
{: .no_toc}

If you want to access the corpora that we are using for your fuzz targets
(synthesized by the fuzzing engines), follow these steps.

- TOC
{:toc}
---

## Obtain access

To get access to a project's corpora, you must be listed as the
primary contact or as an auto cc in the project's `project.yaml` file, as described
in the [New Project Guide]({{ site.baseurl }}/getting-started/new-project-guide/#projectyaml).
If you don't do this, most of the links below won't work.

## Install Google Cloud SDK

The corpora for fuzz targets are stored on [Google Cloud
Storage](https://cloud.google.com/storage/). To access them, you need to
[install the gsutil
tool](https://cloud.google.com/storage/docs/gsutil_install), which is part of
the Google Cloud SDK. Follow the instructions on the installation page to
login with the Google account listed in your project's `project.yaml` file.

## Viewing the corpus for a fuzz target

The fuzzer statistics page for your project on
[ClusterFuzz]({{ site.baseurl }}/further-reading/clusterfuzz)
contains a link to the Google Cloud console for your corpus under the
**corpus_size** column. Click the link to browse and download individual test inputs in the
corpus.

![viewing_corpus](https://raw.githubusercontent.com/google/oss-fuzz/master/docs/images/viewing_corpus.png)

## Downloading the corpus 

If you want to download the entire corpus, click the link in the **corpus_size** column, then
copy the **Buckets** path at the top of the page:

![corpus_path](https://raw.githubusercontent.com/google/oss-fuzz/master/docs/images/corpus_path.png)

Copy the corpus to a directory on your
machine by running the following command:

```bash
$ gsutil -m cp -r gs://<bucket_path> <local_directory>
```
Using the expat example above, this would be:

```bash
$ gsutil -m cp -r \
    gs://expat-corpus.clusterfuzz-external.appspot.com/libFuzzer/expat_parse_fuzzer \
    <local_directory>
```

## Corpus backups

We keep daily zipped backups of your corpora. These can be accessed from the
**corpus_backup** column of the fuzzer statistics page. Downloading these can
be significantly faster than running `gsutil -m cp -r` on the corpus bucket.


================================================
FILE: docs/advanced-topics/debugging.md
================================================
---
layout: default
title: Debugging
parent: Advanced topics
nav_order: 4
permalink: /advanced-topics/debugging/
---

# Debugging issues
{: .no_toc}

- TOC
{:toc}
---

## Debugging build scripts

While developing your build script, it may be useful to run bash within the
container:

```bash
$ python3 infra/helper.py shell $PROJECT_NAME  # runs /bin/bash within container
$ compile                                     # runs compilation manually
```

## Debugging fuzzers with GDB

If you wish to debug a fuzz target with gdb, you can use the base-runner-debug
image:

```bash
# Copy input testcase into host output directory so it can be accessed
# within the Docker image.
$ cp /path/to/testcase build/out/$PROJECT_NAME

# Run the Docker image containing GDB.
$ python3 infra/helper.py shell base-runner-debug
$ gdb --args /out/$PROJECT_NAME/$FUZZ_TARGET_NAME /out/$PROJECT_NAME/testcase
```

**Note:** The `base-runner-debug` image does not have access to your sources, so
you will not be able to do source code level debugging. We recommend integrating
your fuzz target upstream as part of
[ideal integration]({{ site.baseurl }}/advanced-topics/ideal-integration/)
for debugging purposes.


================================================
FILE: docs/advanced-topics/fuzz_introspector.md
================================================
---
layout: default
title: Fuzz Introspector
parent: Advanced topics
nav_order: 2
permalink: /advanced-topics/fuzz-introspector/
---

# Fuzz Introspector
{: .no_toc}

For projects written in C/C++, Python and Java you can generate Fuzz
Introspector reports to help guide the development of your fuzzing suite.
These reports help to extract details about the fuzzing setup of your
project with the goal of making it easier to improve the fuzzing set up.
The Fuzz Introspector reports are generated automatically and uploaded
to the cloud like code coverage reports, and you can also generate them
locally using the OSS-Fuzz helper script.


- TOC
{:toc}
---

## Fuzz Introspector overview

As soon as your project is run with ClusterFuzz (<1 day), you can view the Fuzz
Introspector report for your project.
[Fuzz Introspector](https://github.com/ossf/fuzz-introspector) helps you
understand your fuzzers' performance and identify any potential blockers.
It provides individual and aggregated fuzzer reachability and coverage reports.
You can monitor each fuzzer's static reachability potential and compare it
against dynamic coverage and identify any potential bottlenecks.
Fuzz Introspector can offer suggestions on increasing coverage by adding new
fuzz targets or modify existing ones.
Fuzz Introspector reports can be viewed from the [OSS-Fuzz
homepage](https://oss-fuzz.com/) or through this
[index](http://oss-fuzz-introspector.storage.googleapis.com/index.html).

- [Fuzz Introspector documentation](https://fuzz-introspector.readthedocs.io/en/latest/)
- [Fuzz Introspector source code](https://github.com/ossf/fuzz-introspector)
- [OSS-Fuzz Fuzz Introspector reports](http://oss-fuzz-introspector.storage.googleapis.com/index.html)


## Tutorials and guides

The reports generated can be a lot to digest when first viewing them. The 
[Fuzz Introspector documentation](https://fuzz-introspector.readthedocs.io/en/latest/)
provides various user guides and tutorials rooted in OSS-Fuzz projects, which is
a useful reference on how to make use of the reports.

For ideas on how to use Fuzz Introspector, see [user guides](https://fuzz-introspector.readthedocs.io/en/latest/user-guides/index.html) which includes sections e.g.
- [Quickly extract overview of a given project](https://fuzz-introspector.readthedocs.io/en/latest/user-guides/quick-overview.html)
- [Get ideas for new fuzz targets](https://fuzz-introspector.readthedocs.io/en/latest/user-guides/get-ideas-for-new-targets.html)
- [Comparing introspector reports](https://fuzz-introspector.readthedocs.io/en/latest/user-guides/comparing-introspector-reports.html)

## Run Fuzz Introspector locally

To generate a Fuzz Introspector report locally use `infra/helper.py` and the
`introspector` command. Fuzz Introspector relies on code coverage to
analyze a given project, and this means we need to extract code coverage in the
Fuzz Introspector process. We can do this in two ways. First, by running the fuzzers
for a given amount of time, and, second, by generating code coverage using the public
corpus available from OSS-Fuzz.


### Generate reports by running fuzzers for X seconds

The following command will generate a Fuzz Introspector report for the `libdwarf` project
and will extract code coverage based on a corpus created from running the fuzzers for 30
seconds.

```bash
$ python3 infra/helper.py introspector libdwarf --seconds=30
```

If the above command was succesful, you should see output along the lines of:

```bash
INFO:root:To browse the report, run: python3 -m http.server 8008 --directory /home/my_user/oss-fuzz/build/out/libdwarf/introspector-report/inspector and navigate to localhost:8008/fuzz_report.html in your browser
```
The above output gives you directions on how to start a simple webserver using
`python3 -m http.server`, which you can use to view the Fuzz Introspector report.

### Generate reports by using public corpora

The following command will generate a Fuzz Introspector report for the `libdwarf` project
and will extract code coverage based on the publicly available corpora. 

```bash
$ python3 infra/helper.py introspector libdwarf --public-corpora
```

Assuming the above command is succesful you can view the report using `python3 -m http.server`
following the example described above.


## Differences in build tooling

There are some differences in build environment for Fuzz Introspector builds
in comparison to e.g. ASAN or code coverage builds. The reason is that
Fuzz Introspector relies on certain compile-time tools to do its analysis.
This compile time tooling differs between languages, namely:
- For C/C++, Fuzz Introspector relies on [LLVM LTO](https://llvm.org/docs/LinkTimeOptimization.html) and [LLVM Gold](https://llvm.org/docs/GoldPlugin.html)
- For Python, Fuzz Introspector relies on a modified [PyCG](https://github.com/vitsalis/PyCG)
- For Java, Fuzz Introspector relies on [Soot](https://soot-oss.github.io/soot/)

The consequence of this is your project must be compatible with these projects.
PyCG and Soot have not shown to be a blocker for many projects, however, experience
has shown that sometimes a project's build needs modification in order to compile
with LLVM LTO. The easiest way to test if your project works with LLVM is checking
whether your project can compile with the flags `-flto -fuse-ld=gold` and using
the gold linker. OSS-Fuzz automatically sets these flags and linker options when
using `infra/helper.py` to build your project with `--sanitizer=introspector`, e.g.

```bash
python3 infra/helper.py build_fuzzers --sanitizer=introspector PROJ_NAME
```


================================================
FILE: docs/advanced-topics/ideal_integration.md
================================================
---
layout: default
title: Ideal integration
parent: Advanced topics
nav_order: 1
permalink: /advanced-topics/ideal-integration/
---

# Ideal integration with OSS-Fuzz
{: .no_toc}

OSS projects have different build and test systems. We can't expect them all to
implement and maintain fuzz targets or integrate them with OSS-Fuzz in the same
way. However, we do have recommendations.

This page documents several features (starting from the easiest) that will make
automated fuzzing simple and efficient, and will help you catch regressions
early in the development cycle. This simple
[example](https://github.com/google/oss-fuzz/tree/master/projects/example/my-api-repo)
covers most of the items. 

- TOC
{:toc}
---

## Summary

Every [fuzz target](https://llvm.org/docs/LibFuzzer.html#fuzz-target):
* Is [maintained by code owners](#fuzz-target) in their RCS (Git, SVN, etc).
* Is [built with the rest of the tests](#build-support) - no bit rot! 
* Has a [seed corpus](#seed-corpus) with good [code coverage](#coverage).
* Has a [dictionary](#dictionary), if applicable.
* Is [continuously tested on the seed corpus](#regression-testing) with
  [ASan/UBSan/MSan](https://github.com/google/sanitizers).
* Is [fast and has no OOMs](#performance).

## Fuzz Target

The code of the [fuzz target(s)](https://llvm.org/docs/LibFuzzer.html#fuzz-target) should be
part of the project's source code repository.  All fuzz targets should be easily
discoverable (reside in the same directory, follow the same naming pattern,
etc.). 

This makes it easy to maintain the fuzzers and minimizes breakages that can
arise as source code changes over time.

Make sure to fuzz the target locally for a small period of time to ensure that 
it does not crash, hang, or run out of memory instantly. Also make sure that the fuzzer can
make at least some progress. If you're having trouble, read about [what makes a good fuzz
target](https://github.com/google/fuzzing/blob/master/docs/good-fuzz-target.md).

The interface between the [fuzz target](https://llvm.org/docs/LibFuzzer.html#fuzz-target)
and the fuzzing engines is C, so you can use either C or C++ to implement the
fuzz target. Make sure to not return values other than **zero** [^1].

Examples: 
[boringssl](https://github.com/google/boringssl/tree/master/fuzz),
[SQLite](https://www.sqlite.org/src/artifact/ad79e867fb504338),
[s2n](https://github.com/awslabs/s2n/tree/master/tests/fuzz),
[openssl](https://github.com/openssl/openssl/tree/master/fuzz),
[FreeType](http://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/src/tools/ftfuzzer),
[re2](https://github.com/google/re2/tree/master/re2/fuzzing),
[harfbuzz](https://github.com/behdad/harfbuzz/tree/master/test/fuzzing),
[pcre2](https://vcs.pcre.org/pcre2/code/trunk/src/pcre2_fuzzsupport.c?view=markup),
[ffmpeg](https://github.com/FFmpeg/FFmpeg/blob/master/tools/target_dec_fuzzer.c).

[^1]: While LibFuzzer uses a non-zero value as a signal to discard inputs other fuzzers in
use by OSS-Fuzz do not necessarily support this behavior. (Discarding inputs can be used
to stop a fuzzer from exploring further, which should only be used with good reason.)

## Build support

Many different build systems exist in the open-source world. The less OSS-Fuzz
knows about them, the better it can scale.

An ideal build integration for OSS-Fuzz looks like this:
* For every fuzz target `foo` in the project, there is a build rule that
builds `foo_fuzzer`, a binary that: 
	* Contains the fuzzing entry point.
	* Contains (`LLVMFuzzerTestOneInput`) and all the code it depends on.
	* Uses the `main()` function from `$LIB_FUZZING_ENGINE` (env var [provided]({{ site.baseurl }}/getting-started/new-project-guide/) by OSS-Fuzz environment).
* Since the build system supports changing the compiler and passing extra compiler
flags, the build command for `foo_fuzzer` looks similar to this:

```bash
# Assume the following env vars are set:
# CC, CXX, CFLAGS, CXXFLAGS, LIB_FUZZING_ENGINE
$ make_or_whatever_other_command foo_fuzzer
```

This minimizes OSS-Fuzz-specific configuration, making your fuzzing more robust.

There is no point in hardcoding the exact compiler flags in the build system
because they a) may change and b) depend on the fuzzing engine and sanitizer
being used.

## Seed Corpus

The *seed corpus* is a set of test inputs, stored as individual files, provided
to the fuzz target as a starting point (to "seed" the mutations). The quality of
the seed corpus has a huge impact on fuzzing efficiency; the higher the quality,
the easier it is for the fuzzer to discover new code paths. The ideal corpus is
a minimal set of inputs that provides maximal code coverage. 

For better OSS-Fuzz integration,  the seed corpus should be available in
revision control (it can be the same as or different from the source code). It
should be regularly extended with the inputs that (used to) trigger bugs and/or
touch new parts of the code. 

Examples: 
[boringssl](https://github.com/google/boringssl/tree/master/fuzz),
[openssl](https://github.com/openssl/openssl/tree/master/fuzz),
[nss](https://github.com/mozilla/nss-fuzzing-corpus) (corpus in a separate repo).

## Dictionary

For some input types, a simple dictionary of tokens used by the input language
can have a dramatic impact on fuzzing efficiency.  For example, when fuzzing an
XML parser, a dictionary of XML tokens is helpful. AFL++ has a
[collection](https://github.com/AFLplusplus/AFLplusplus/tree/master/dictionaries)
of dictionaries for popular data formats. Ideally, a dictionary should be
maintained alongside the fuzz target, and it must use [correct
syntax](https://llvm.org/docs/LibFuzzer.html#dictionaries).

## Coverage

For a fuzz target to be useful, it must have good coverage in the code that it
is testing. You can view the coverage for your fuzz targets by looking at the
[fuzzer stats]({{ site.baseurl }}/further-reading/clusterfuzz#fuzzer-stats)
dashboard on ClusterFuzz, as well as [coverage reports]({{ site.baseurl
}}/further-reading/clusterfuzz#coverage-reports).

To generate an aggregated code coverage report for your project, please see the
[code coverage]({{ site.baseurl }}/advanced-topics/code-coverage) page.

Coverage can often be improved by adding dictionaries, more inputs for seed
corpora, and fixing timeouts/out-of-memory bugs in your targets.

## Regression Testing

Fuzz targets should be regularly tested (not necessarily fuzzed!) as a part of
the project's regression testing process. One way to do so is to link the fuzz
target with a simple standalone driver
([example](https://github.com/llvm-mirror/compiler-rt/tree/master/lib/fuzzer/standalone))
that runs the provided inputs, then use this driver with the seed corpus created
in previous step. We recommend you use
[sanitizers](https://github.com/google/sanitizers) during regression testing.

Examples: [SQLite](https://www.sqlite.org/src/artifact/d9f1a6f43e7bab45),
[openssl](https://github.com/openssl/openssl/blob/master/fuzz/test-corpus.c).

## Performance

Fuzz targets should perform well, because high memory usage and/or slow
execution speed can slow the down the growth of coverage and finding of new
bugs. ClusterFuzz provides a [performance analyzer]({{ site.baseurl
}}/further-reading/clusterfuzz/#performance-analyzer) for each fuzz target that
shows problems that are impacting performance.

## Not a project member?

If you are a member of the project you want to fuzz, most of the steps above are
simple. However in some cases, someone outside the project team may want to fuzz
the code, and the project maintainers are not interested in helping.

In such cases, we can host the fuzz targets, dictionaries, etc. in OSS-Fuzz's 
repository and mention them in the Dockerfile. It's not ideal, because the fuzz
targets will not be continuously tested, so may quickly bitrot.

Examples: [libxml2](https://github.com/google/oss-fuzz/tree/master/projects/libxml2),
[c-ares](https://github.com/google/oss-fuzz/tree/master/projects/c-ares), [expat](https://github.com/google/oss-fuzz/tree/master/projects/expat).

If you are not a project maintainer, we may not be able to CC you to security
bugs found by OSS-Fuzz.


================================================
FILE: docs/advanced-topics/reproducing.md
================================================
---
layout: default
title: Reproducing
parent: Advanced topics
nav_order: 5
permalink: /advanced-topics/reproducing/
---

# Reproducing OSS-Fuzz issues
{: .no_toc}

You've been CCed on an OSS-Fuzz issue
([examples](https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=Type%3ABug%2CBug-Security)).
Now what? Before attempting to fix the bug, you should be able to reliably
reproduce it. 

- TOC
{:toc}
---

## Fuzz target bugs

Every issue has a [reproducer file]({{ site.baseurl
}}/reference/glossary/#reproducer) (also know as a "testcase" file) attached.
Download it. This file contains the bytes that were fed to the [fuzz
target](https://llvm.org/docs/LibFuzzer.html#fuzz-target).

**Note:** If the issue is not public, you will need to login using a
[Google account](https://support.google.com/accounts/answer/176347?hl=en)
([why?]({{ site.baseurl
}}/faq/#why-do-you-require-a-google-account-for-authentication)) that the bug
report CCs.

If you have already
[integrated]({{ site.baseurl }}/advanced-topics/ideal-integration/)
the fuzz target with your build and test system, all you have to do is run this command:
```bash
$ ./fuzz_target_binary <testcase_path>
```

For timeout bugs, add the `-timeout=65` argument. For OOM bugs, add the
`-rss_limit_mb=2560` argument. Read more on [how timeouts and OOMs are
handled]({{ site.baseurl }}/faq/#how-do-you-handle-timeouts-and-ooms).

Depending on the nature of the bug, the fuzz target binary needs to be built
with the appropriate [sanitizer](https://github.com/google/sanitizers)
(for example, if it's a buffer overflow, build with
[AddressSanitizer](http://clang.llvm.org/docs/AddressSanitizer.html)).

If you're not sure how to build the fuzzer using the project's build system,
you can also use Docker commands to replicate the exact build steps used by
OSS-Fuzz, then feed the reproducer input to the fuzz target ([how?]({{
site.baseurl }}/getting-started/new-project-guide/#prerequisites), [why?]({{
site.baseurl }}/faq/#why-do-you-use-docker)).

## Building using Docker

### Cloning OSS-Fuzz

To use the following `infra/helper.py` commands, you need a checkout of OSS-Fuzz:

```bash
$ git clone --depth=1 https://github.com/google/oss-fuzz.git
$ cd oss-fuzz
```

### Pull the latest Docker images

Docker images get regularly updated with a newer version of build tools, build
configurations, scripts, and other changes. In some cases, a particular issue
can be reproduced only with a fresh image being used. Pull the latest images
by running the following command:

```bash
$ python3 infra/helper.py pull_images
```

### Build the image and the fuzzers

Run the following commands:

```bash
$ python3 infra/helper.py build_image $PROJECT_NAME
$ python3 infra/helper.py build_fuzzers --sanitizer <address/memory/undefined> \
    --architecture <x86_64/i386> $PROJECT_NAME
```

The `sanitizer` used in the report is the value in the
**Sanitizer** column. It's one of the following:
  * **address** for AddressSanitizer.
  * **memory** for MemorySanitizer.
  * **undefined** for UndefinedBehaviorSanitizer.

**Notes**:
   * The `architecture` argument is only necessary if you want to specify
`i386` configuration.
   * Some bugs (specially ones related to pointer and integer overflows) are reproducible only in 32 bit mode or only in 64 bit mode.
If you can't reproduce a particular bug building for x86_64, try building for i386.

## Reproducing bugs

After you build an image and a fuzzer, you can reproduce a bug by running the following command:

```bash
$ python3 infra/helper.py reproduce $PROJECT_NAME <fuzz_target_name> <testcase_path>
```

For example, to build the [libxml2](https://github.com/google/oss-fuzz/tree/master/projects/libxml2)
project with UndefinedBehaviorSanitizer (`undefined`) instrumentation and
reproduce a crash testcase for a fuzzer named `libxml2_xml_read_memory_fuzzer`,
you would run: 

```bash
$ python3 infra/helper.py build_image libxml2
$ python3 infra/helper.py build_fuzzers --sanitizer undefined libxml2
$ python3 infra/helper.py reproduce libxml2 libxml2_xml_read_memory_fuzzer ~/Downloads/testcase
```

## Reproduce using local source checkout

You can also mount local sources into the running container by using these commands:

```bash
$ python3 infra/helper.py build_fuzzers \
    --sanitizer <address/memory/undefined> $PROJECT_NAME <source_path>
$ python3 infra/helper.py reproduce $PROJECT_NAME <fuzz_target_name> <testcase_path>
```

Once you reproduce the bug, you can do the following:

- **Fix issue:** Write a patch to fix the issue in your local checkout, then
   use the previous command to verify the fix (i.e. no crash occurred). 
   [Use gdb]({{ site.baseurl }}/advanced-topics/debugging/#debugging-fuzzers-with-gdb)
   if needed.
- **Submit fix:** Submit the fix in the project's repository. ClusterFuzz will
  automatically pick up the changes, recheck the testcase, and close the
  issue (in &lt; 1 day).
- **Improve fuzzing support:** Consider
   [improving your integration with OSS-Fuzz]({{ site.baseurl }}/advanced-topics/ideal-integration/).

## Reproducing build failures

Our infrastructure runs some sanity tests to make sure that your build was
correctly configured, even if it succeeded. To reproduce these locally, run these commands:

```bash
$ python3 infra/helper.py build_image $PROJECT_NAME
$ python3 infra/helper.py build_fuzzers --sanitizer <address/memory/undefined> \
    --engine <libfuzzer/afl/honggfuzz/centipede> --architecture <x86_64/i386> $PROJECT_NAME
$ python3 infra/helper.py check_build  --sanitizer <address/memory/undefined> \
    --engine <libfuzzer/afl/honggfuzz/centipede> --architecture <x86_64/i386> $PROJECT_NAME \
    <fuzz_target_name>
```

**Note:** Unless you have a reason to think the build is an `i386` build, the build
is probably an `x86_64` build and the `architecture` argument can be omitted.

If you need to reproduce a `coverage` build failure, follow the
[Code Coverage page]({{ site.baseurl }}/advanced-topics/code-coverage) to build
your project and generate a code coverage report.


================================================
FILE: docs/assets/css/just-the-docs-wider.scss
================================================
---
---
{% include css/just-the-docs.scss.liquid color_scheme="wider" %}


================================================
FILE: docs/faq.md
================================================
---
layout: default
title: FAQ
nav_order: 7
permalink: /faq/
---

# Frequently Asked Questions

- TOC
{:toc}
---

## Where can I learn more about fuzzing?

We recommend reading [libFuzzer tutorial] and the other docs in [google/fuzzing]
repository. These and some other resources are listed on the
[useful links]({{ site.baseurl }}/reference/useful-links/#tutorials) page.

[google/fuzzing]: https://github.com/google/fuzzing/tree/master/docs
[libFuzzer tutorial]: https://github.com/google/fuzzing/blob/master/tutorial/libFuzzerTutorial.md

## What kind of projects are you accepting?

We accept established projects that have a critical impact on infrastructure and
user security. We will consider each request on a case-by-case basis, but some
things we keep in mind are:

  - Exposure to remote attacks (e.g. libraries that are used to process
    untrusted input).
  - Number of users/other projects depending on this project.

We hope to relax this requirement in the future though, so keep an eye out even
if we are not able to accept your project at this time!

## How can I find potential fuzz targets in my open source project?

You should look for places in your code that:

  - consume un-trusted data from users or from the network.
  - consume complex input data even if it's 'trusted'.
  - use an algorithm that has two or more implementations
    (to verify their equivalence).
  - look for existing fuzz target [examples](https://github.com/google/oss-fuzz/tree/master/projects)
    and find similarities.

## Where can I store fuzz target sources and the build script if it's not yet accepted upstream?

Fuzz target sources as well as the build script may temporarily live inside the
`projects/<your_project>` directory in the OSS-Fuzz repository. Note that we do
not accept integrations that rely on forked repositories. Refer to the
[ideal integration guide] for the preferred long term solution.

## My project is not open source. Can I use OSS-Fuzz?

You cannot use OSS-Fuzz, but you can use [ClusterFuzz] which OSS-Fuzz is based
on. ClusterFuzz is an open-source fuzzing infrastructure that you can deploy in
your own environment and run continuously at scale.

OSS-Fuzz is a production instance of ClusterFuzz, plus the code living in
[OSS-Fuzz repository]: build scripts, `project.yaml` files with contacts, etc.

[OSS-Fuzz repository]: https://github.com/google/oss-fuzz

## Why do you use a [different issue tracker](https://bugs.chromium.org/p/oss-fuzz/issues/list) for reporting bugs in OSS projects?

Security access control is important for the kind of issues that OSS-Fuzz detects,
hence why by default issues are only opened on the OSS-Fuzz tracker.
You can opt-in to have them on Github as well by adding the `file_github_issue`
attribute to your `project.yaml` file. Note that this is only for visibility's
purpose, and that the actual details can be found by following the link to the
OSS-Fuzz tracker.

## Why do you require a Google account for authentication?

Our [ClusterFuzz]({{ site.baseurl }}/further-reading/clusterfuzz) fuzzing
infrastructure and [issue tracker](https://bugs.chromium.org/p/oss-fuzz/issues/list)
require a Google account for authentication. Note that an alternate email
address associated with a Google account does not work due to appengine api
limitations.

## Why do you use Docker?

Building fuzzers requires building your project with a fresh Clang compiler and
special compiler flags.  An easy-to-use Docker image is provided to simplify
toolchain distribution. This also simplifies our support for a variety of Linux
distributions and provides a reproducible environment for fuzzer
building and execution.

## How do you handle timeouts and OOMs?

If a single input to a [fuzz target]({{ site.baseurl }}/reference/glossary/#fuzz-target)
requires more than **~25 seconds** or more than **2.5GB RAM** to process, we
report this as a timeout or an OOM (out-of-memory) bug
(examples: [timeouts](https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q=%22Crash+Type%3A+Timeout%22),
[OOMs](https://bugs.chromium.org/p/oss-fuzz/issues/list?can=1&q="Crash+Type%3A+Out-of-memory")).
This may or may not be considered as a real bug by the project owners,
but nevertheless we treat all timeouts and OOMs as bugs
since they significantly reduce the efficiency of fuzzing.

Remember that fuzzing is executed with AddressSanitizer or other
sanitizers which introduces a certain overhead in RAM and CPU.

We currently do not have a good way to deduplicate timeout or OOM bugs.
So, we report only one timeout and only one OOM bug per fuzz target.
Once that bug is fixed, we will file another one, and so on.

## Can I change the default timeout and OOM for a fuzz target?

Yes, you can. For this, create a fuzz target options file named `<fuzz-target>.options`,
where `<fuzz-target>` is the executable file name of the fuzz target, in the same
directory as your `project.yaml`. The options file can contain fuzzer-specific
configuration values, such as:

```
[libfuzzer]
rss_limit_mb = 6000
timeout = 30
```

## My library gracefully handles allocation failures, why are OOMs reported?

OOM detection is done *not* by instrumenting memory allocation routines such as `malloc`
to have them return NULL, but using a separate watchdog thread that measures the resident
set size (RSS) on a periodic basis. Therefore, your fuzz target might successfully
allocate more than the configured max RSS, and yet get killed shortly afterwards.

The only reliable way to avoid this is for your fuzz target to use a custom allocator
that will prevent allocating more memory than a given limit. You can find a more
detailed discussion of this topic, as well as links to the solution implemented
by a specific project, in [this issue](https://github.com/google/oss-fuzz/issues/1830).

## Can I launch an additional process (e.g. a daemon) from my fuzz target?

No. In order to get all the benefits of in-process, coverage-guided fuzz testing,
it is required to run everything inside a single process. Any child processes
created outside the main process introduces heavy launch overhead and is not
monitored for code coverage.

Another rule of thumb is: "the smaller fuzz target is, the better it is". It is
expected that your project will have many fuzz targets to test different
components, instead of a single fuzz target trying to cover everything.
Think of fuzz target as a unit test, though it is much more powerful since it
helps to test millions of data permutations rather than just one.

## What if my fuzz target finds a bug in another project (dependency) ?

Every bug report has a crash stack-trace that shows where the crash happened.
Using that, you can debug the root cause and see which category the bug falls in:

- If this is a bug is due to an incorrect usage of the dependent project's API
in your project, then you need to fix your usage to call the API correctly.
- If this is a real bug in the dependent project, then you should CC the
maintainers of that project on the bug. Once CCed, they will get automatic
access to all the information necessary to reproduce the issue. If this project
is maintained in OSS-Fuzz, you can search for contacts in the respective
project.yaml file.

## What if my fuzzer does not find anything?

If your fuzz target is running for many days and does not find bugs or new
coverage, it may mean several things:
- We've covered all reachable code. In order to cover more code we need more
  fuzz targets.
- The [seed corpus]({{ site.baseurl }}/getting-started/new-project-guide#seed-corpus) is not good enough and the
  fuzzing engine(s) are not able to go deeper based on the existing seeds.
  Need to add more seeds.
- There is some crypto/crc stuff in the code that will prevent any fuzzing
  engine from going deeper, in which case the crypto should be disabled in
  [fuzzing mode](https://llvm.org/docs/LibFuzzer.html#fuzzer-friendly-build-mode).
  Examples: [openssl](https://github.com/openssl/openssl/tree/master/fuzz#reproducing-issues),
  [boringssl](https://boringssl.googlesource.com/boringssl/+/HEAD/FUZZING.md#Fuzzer-mode)
- It is also possible that the fuzzer is running too slow
  (you may check the speed of your targets at https://oss-fuzz.com/)

In either case, look at the
[coverage reports]({{ site.baseurl }}/further-reading/clusterfuzz#coverage-reports)
for your target(s) and figure out why some parts of the code are not covered.

## What if my fuzzer does not find new coverage or bugs after a while?

It is common for fuzzers to plateau and stop finding new coverage or bugs.
[Fuzz Introspector](https://github.com/ossf/fuzz-introspector) helps you
evaluate your fuzzers' performance.
It can help you identify bottlenecks causing your fuzzers to plateau.
It provides aggregated and individual fuzzer reachability and coverage reports.
Developers can either introduce a new fuzz target or modify an existing one to
reach previously unreachable code.
Here are
[case studies](https://github.com/ossf/fuzz-introspector/blob/main/doc/CaseStudies.md)
where Fuzz Introspector helped developers improve fuzzing of a project.
Fuzz Introspector reports are available on the [OSS-Fuzz homepage](https://oss-fuzz.com/)
or through this [index](http://oss-fuzz-introspector.storage.googleapis.com/index.html).

Developers can also use Fuzz Introspector on their local machines.
Detailed instructions are available
[here](https://github.com/ossf/fuzz-introspector/tree/main/oss_fuzz_integration#build-fuzz-introspector-with-oss-fuzz).

## Why are code coverage reports public?

We work with open source projects and try to keep as much information public as
possible. We believe that public code coverage reports do not put users at risk,
as they do not indicate the presence of bugs or lack thereof.

## Why is the coverage command complaining about format compatibility issues?

This may happen if the Docker images fetched locally become out of sync. Make
sure you run the following command to pull the most recent images:

```bash
$ python3 infra/helper.py pull_images
```

Please refer to
[code coverage]({{ site.baseurl }}/advanced-topics/code-coverage/) for detailed
information on code coverage generation.

## What happens when I rename a fuzz target ?

If you rename your fuzz targets, the existing bugs for those targets will get
closed and fuzzing will start from scratch from a fresh corpora
(seed corpus only). Similar corpora will get accumulated over time depending on
the number of cpu cycles that original fuzz target has run. If this is not
desirable, make sure to copy the accumulated corpora from the original fuzz
target (instructions to download
[here]({{ site.baseurl }}/advanced-topics/corpora/#downloading-the-corpus)) and
restore it to the new GCS location later (instruction to find the
new location [here]({{ site.baseurl }}/advanced-topics/corpora/#viewing-the-corpus-for-a-fuzz-target)).

## Does OSS-Fuzz support AFL or honggfuzz or Centipede?

OSS-Fuzz *uses* the following
[fuzzing engines]({{ site.baseurl }}/reference/glossary/#fuzzing-engine):

1. [libFuzzer](https://llvm.org/docs/LibFuzzer.html).
1. [AFL++](https://github.com/AFLplusplus/AFLplusplus), an improved and
   well-maintained version of [AFL](https://lcamtuf.coredump.cx/afl/).
1. [Honggfuzz](https://github.com/google/honggfuzz).
1. [Centipede (Experimental)](https://github.com/google/centipede).

Follow the [new project guide] and OSS-Fuzz will use all its fuzzing engines
on your code.

## What are the specs on your machines?

OSS-Fuzz builders have 32CPU/28.8GB RAM.

Fuzzing machines only have a single core and fuzz targets should not use more
than 2.5GB of RAM.

## Are there any restrictions on using test cases / corpora generated by OSS-Fuzz?

No, you can freely use (i.e. share, add to your repo, etc.) the test cases and
corpora generated by OSS-Fuzz. OSS-Fuzz infrastructure is fully open source
(including [ClusterFuzz], various fuzzing engines, and other dependencies). We
have no intent to restrict the use of the artifacts produced by OSS-Fuzz.

[ClusterFuzz]: https://github.com/google/clusterfuzz
[new project guide]: {{ site.baseurl }}/getting-started/new-project-guide/
[ideal integration guide]: {{ site.baseurl }}/getting-started/new-project-guide/


================================================
FILE: docs/further-reading/clusterfuzz.md
================================================
---
layout: default
title: ClusterFuzz
parent: Further reading
nav_order: 1
permalink: /further-reading/clusterfuzz/
---

# ClusterFuzz

[ClusterFuzz](https://github.com/google/clusterfuzz) is the distributed fuzzing
infrastructure behind OSS-Fuzz. It was initially built for fuzzing Chrome at
scale.

- TOC
{:toc}
---

## Web interface

ClusterFuzz provides a [web interface](https://oss-fuzz.com)
to view statistics about your fuzz targets, as well as current crashes.

*Note*: Access is restricted to project developers who we auto CC on new bug
reports.

## Testcase reports

ClusterFuzz will automatically de-duplicate and file reproducible crashes into
our [bug tracker](https://bugs.chromium.org/p/oss-fuzz/issues/list). We provide
a crash report page that gives you the stack trace, a link to the crashing
testcase, and regression ranges where the bug was most likely introduced.

![report]({{ site.baseurl }}/images/pcre2_testcase.png?raw=true)

## Fuzzer stats

You can view statistics about your fuzz targets (e.g. speed, coverage
information, memory usage) on our fuzzer statistics dashboard.

![stats]({{ site.baseurl }}/images/freetype_stats_graphs.png?raw=true)

![stats]({{ site.baseurl }}/images/freetype_stats_table.png?raw=true)

## Coverage reports

We provide coverage reports, where we highlight the parts of source code that
are being reached by your fuzz target. Make sure to look at the uncovered code
marked in red and add appropriate fuzz targets to cover those use cases.

![coverage_1]({{ site.baseurl }}/images/freetype_coverage_1.png?raw=true)
![coverage_2]({{ site.baseurl }}/images/freetype_coverage_2.png?raw=true)

## Performance analyzer

You can view performance issues that your fuzz target is running into (e.g.
leaks, timeouts, etc) by clicking on `Performance` link on our fuzzer statistics
dashboard. Make sure to fix all cited issues, so as to keep your fuzz target
running efficiently and finding new bugs.

![performance_analyzer]({{ site.baseurl }}/images/expat_performance_analyzer.png?raw=true)

## Crash stats

You can view statistics of crashes over time on our crash statistics dashboard.

![crash_stats]({{ site.baseurl }}/images/crash_stats.png?raw=true)


================================================
FILE: docs/further-reading/further_reading.md
================================================
---
layout: default
title: Further reading
has_children: true
nav_order: 4
permalink: /further-reading/
---

# Further reading


================================================
FILE: docs/further-reading/fuzzer_environment.md
================================================
---
layout: default
title: Fuzzer environment
parent: Further reading
nav_order: 2
permalink: /further-reading/fuzzer-environment/
---

# Fuzzer environment on ClusterFuzz

Your fuzz targets will be run on a
[Google Compute Engine](https://cloud.google.com/compute/) VM (Linux).

- TOC
{:toc}
---

## Runtime Dependencies

You should not make any assumptions on the availability of dependent packages 
in the execution environment. Packages that are installed via
[Dockerfile]({{ site.baseurl }}/getting-started/new-project-guide/#dockerfile)
or built as part of 
[build.sh]({{ site.baseurl }}/getting-started/new-project-guide/#buildsh)
are not available on the bot runtime environment (where the fuzz targets run).

If you need these dependencies in the runtime environment, you can either:

- (recommended) Build the dependencies statically in
[build.sh]({{ site.baseurl }}/getting-started/new-project-guide/#buildsh)
([example](https://github.com/google/oss-fuzz/blob/64f8b6593da141b97c98c7bc6f07df92c42ee010/projects/ffmpeg/build.sh#L26)).
Their source code should be inside the `$SRC` directory so that coverage can find it.

- Or install the packages via Dockerfile
([example](https://github.com/google/oss-fuzz/blob/2d5e2ef84f281e6ab789055aa735606d3122fda9/projects/tor/Dockerfile#L19))
and then link statically against them
([example](https://github.com/google/oss-fuzz/blob/2d5e2ef84f281e6ab789055aa735606d3122fda9/projects/tor/build.sh#L40)).
**Dependencies built in this way will not be instrumented** and may prevent
the fuzzer from finding bugs if they are involved in the execution of a fuzz target.

All build artifacts needed during fuzz target execution should be inside the
`$OUT` directory. Only those artifacts are archived and used on the bots.
Everything else is ignored (e.g. artifacts in `$WORK`, `$SRC`, etc) and hence
is not available in the execution environment.

We strongly recommend static linking because it just works. 
However dynamic linking can work if shared objects are included in the `$OUT` directory and are loaded relative
to `'$ORIGIN'`, the path of the binary (see the discussion of `'$ORIGIN'` [here](http://man7.org/linux/man-pages/man8/ld.so.8.html)).
A fuzzer can be instructed to load libraries relative to `'$ORIGIN'` during compilation (i.e. `-Wl,-rpath,'$ORIGIN/lib'` )
or afterwards using `chrpath -r '$ORIGIN/lib' $OUT/$fuzzerName` ([example](https://github.com/google/oss-fuzz/blob/09aa9ac556f97bd4e31928747eca0c8fed42509f/projects/php/build.sh#L40)). Note that `'$ORIGIN'` should be surrounded
by single quotes because it is not an environment variable like `$OUT` that can be retrieved during execution of `build.sh`.
Its value is retrieved during execution of the binary. You can verify that you did this correctly using `ldd <fuzz_target_name>` and the `check_build` command in `infra/helper.py`.

You should ensure that the fuzz target works correctly by using `run_fuzzer`
command (see instructions
[here]({{ site.baseurl }}/getting-started/new-project-guide/#testing-locally)).
This command uses a clean base-runner docker container and not the base-builder
docker container created during build-time.

## argv[0]

You must not modify `argv[0]`. It is required for certain things to work
correctly.

## Current working directory

You should not make any assumptions about the current working directory of your
fuzz target. If you need to load data files, please use `argv[0]` to get the
directory where your fuzz target executable is located.

## File system

Everything except `/tmp` is read-only, including the directory that your fuzz
target executable lives in.

`/dev` is also unavailable.

## Hardware

Your project should not be compiled with `-march=native` or `-mtune=native`
flags, as the build infrastructure and fuzzing machines may have different CPUs
as well as other hardware differences. You may however use `-mtune=generic`.


================================================
FILE: docs/getting-started/accepting_new_projects.md
================================================
---
layout: default
title: Accepting new projects
parent: Getting started
nav_order: 1
permalink: /getting-started/accepting-new-projects/
---

# Accepting New Projects

To be accepted to OSS-Fuzz, an open-source project must
have a significant user base and/or be critical to the global IT infrastructure.

To submit a new project, do the following:

1. [Create a pull request](https://help.github.com/articles/creating-a-pull-request/)
with a new `projects/<project_name>/project.yaml` file
([example](https://github.com/google/oss-fuzz/tree/master/projects/libarchive/project.yaml)).
    **Note:** `project_name` can only contain alphanumeric characters,
    underscores(_) or dashes(-).
2. In the file, provide the following information:
  * Your project's homepage. ([`homepage`]({{ site.baseurl }}/getting-started/new-project-guide/#homepage))
  * Your project's main repository URL. ([`main_repo`]({{ site.baseurl }}/getting-started/new-project-guide/#main_repo))
  * Your project's primary language. ([`language`]({{ site.baseurl }}/getting-started/new-project-guide/#language))
  * An email address for the engineering contact to be CCed on new issues ([`primary_contact`]({{ site.baseurl }}/getting-started/new-project-guide/#primary)), satisfying the following:
       * The address belongs to an established project committer (according to VCS logs).
        If the address isn't you, or if the address differs from VCS, we'll require an informal
        email verification.
       * The address is associated with a Google account
        ([why?]({{ site.baseurl }}/faq/#why-do-you-require-a-google-account-for-authentication)).
        If you use an alternate email address
        [linked to a Google Account](https://support.google.com/accounts/answer/176347?hl=en),
        you'll only get access to [filed bugs in the issue tracker](https://bugs.chromium.org/p/oss-fuzz/issues/list), not to the [ClusterFuzz]({{ site.baseurl }}/further-reading/clusterfuzz)
        dashboard. This is due to appengine API limitations.
3. Once your project is accepted, configure it by following the
  [New Project Guide]({{ site.baseurl }}/getting-started/new-project-guide/).


================================================
FILE: docs/getting-started/bug_disclosure_guidelines.md
================================================
---
layout: default
title: Bug disclosure guidelines
parent: Getting started
nav_order: 4
permalink: /getting-started/bug-disclosure-guidelines/
---

## Bug Disclosure Guidelines

Following [Google's standard disclosure policy](https://googleprojectzero.blogspot.com/2015/02/feedback-and-data-driven-updates-to.html),
OSS-Fuzz will adhere to following disclosure principles:

  - **Deadline**. After notifying project authors, we will open reported
    issues to the public in 90 days, or after the fix is released (whichever
    comes earlier).
  - **Weekends and holidays**. If a deadline is due to expire on a weekend,
    the deadline will be moved to the next normal work day.
  - **Grace period**. We have a 14-day grace period. If a 90-day deadline
    expires but the upstream engineers let us know before the deadline that a
    patch is scheduled for release on a specific day within 14 days following
    the deadline, the public disclosure will be delayed until the availability
    of the patch.


================================================
FILE: docs/getting-started/continuous_integration.md
================================================
---
layout: default
title: Continuous Integration
parent: Getting started
nav_order: 5
permalink: /getting-started/continuous-integration/
---

# Continuous Integration

OSS-Fuzz offers **CIFuzz**, a GitHub action/CI job that runs your fuzz targets
on pull requests. This works similarly to running unit tests in CI. CIFuzz helps
you find and fix bugs before they make it into your codebase.
Currently, CIFuzz primarily supports projects hosted on GitHub.
Non-OSS-Fuzz users can use CIFuzz with additional features through
[ClusterFuzzLite](https://google.github.io/clusterfuzzlite/).

## How it works

CIFuzz builds your project's fuzzers from the source at a particular
pull request or commit. Then CIFuzz runs the fuzzers for a short amount of time.
If CIFuzz finds a crash, CIFuzz reports the stacktrace, makes the crashing
input available for download and the CI test fails (red X).

If CIFuzz doesn't find a crash during the allotted time, the CI test passes
(green check). If CIFuzz finds a crash, it reports the crash only if both of
following are true:
* The crash is reproducible (on the PR/commit build).
* The crash does not occur on older OSS-Fuzz builds. (If the crash does occur
  on older builds, then it was not introduced by the PR/commit
  being tested.)

If your project supports [OSS-Fuzz's code coverage]({{ site.baseurl }}/advanced-topics/code-coverage),
CIFuzz only runs the fuzzers affected by a pull request/commit.
Otherwise it will divide up the allotted fuzzing time (10 minutes by default)
among all fuzzers in the project.

CIFuzz uses 30 day old/public regressions and corpora from OSS-Fuzz. This makes
fuzzing more effective and gives you regression testing for free.

## Requirements

1. Your project must be integrated with OSS-Fuzz.
1. Your project is hosted on GitHub.
1. Your repository needs to be cloned with `git` in oss-fuzz Dockerfile (do not use `go get` or other methods)

## Integrating into your repository

You can integrate CIFuzz into your project using the following steps:
1. Create a `.github` directory in the root of your project.
1. Create a `workflows` directory inside of your `.github` directory.
1. Copy the example [`cifuzz.yml`](https://github.com/google/oss-fuzz/blob/master/infra/cifuzz/example_cifuzz.yml)
file over from the OSS-Fuzz repository to the `workflows` directory.
1. Change the `oss-fuzz-project-name` value in `cifuzz.yml` from `example` to the name of your OSS-Fuzz project. It is **very important** that you use your OSS-Fuzz project name which is case sensitive. This name
is the name of your project's subdirectory in the [`projects`](https://github.com/google/oss-fuzz/tree/master/projects) directory of OSS-Fuzz.
1. Set the value of `fuzz-seconds`. The longest time that the project maintainers are acceptable with should be used. This value should be at minimum 600 seconds and scale with project size.

Your directory structure should look like the following:
```
project
|___ .github
|    |____ workflows
|          |____ cifuzz.yml
|___ other-files
```

cifuzz.yml for an example project:

```yaml
name: CIFuzz
on: [pull_request]
permissions: {}
jobs:
 Fuzzing:
   runs-on: ubuntu-latest
   permissions:
     security-events: write
   steps:
   - name: Build Fuzzers
     id: build
     uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
     with:
       oss-fuzz-project-name: 'example'
       language: c++
   - name: Run Fuzzers
     uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
     with:
       oss-fuzz-project-name: 'example'
       language: c++
       fuzz-seconds: 600
       output-sarif: true
   - name: Upload Crash
     uses: actions/upload-artifact@v4
     if: failure() && steps.build.outcome == 'success'
     with:
       name: artifacts
       path: ./out/artifacts
   - name: Upload Sarif
     if: always() && steps.build.outcome == 'success'
     uses: github/codeql-action/upload-sarif@v2
     with:
      # Path to SARIF file relative to the root of the repository
      sarif_file: cifuzz-sarif/results.sarif
      checkout_path: cifuzz-sarif
```


### Optional configuration

#### Configurable Variables

`language`: (optional) The language your target program is written in. Defaults
to `c++`. This should be the same as the value you set in `project.yaml`. See
[this explanation]({{ site.baseurl }}//getting-started/new-project-guide/#language)
for more details.

`fuzz-seconds`: Determines how long CIFuzz spends fuzzing your project in seconds.
The default is 600 seconds. The GitHub Actions max run time is 21600 seconds (6
hours). This variable is only meaningful when supplied to the `run_fuzzers`
action, not the `build_fuzzers` action.

`dry-run`: Determines if CIFuzz surfaces errors. The default value is `false`. When set to `true`,
CIFuzz will never report a failure even if it finds a crash in your project.
This requires the user to manually check the logs for detected bugs. If dry run mode is desired,
make sure to set the dry-run parameters in both the `Build Fuzzers` and `Run Fuzzers` action step.

`allowed-broken-targets-percentage`: Can be set if you want to set a stricter
limit for broken fuzz targets than OSS-Fuzz's check_build. Most users should
not set this. This value is only meaningful when supplied to the `run_fuzzers`
action, not the `build_fuzzers` action.

`sanitizer`: Determines a sanitizer to build and run fuzz targets with. The choices are `'address'`,
`'memory'` and `'undefined'`. The default is `'address'`. It is important to note that the `Build Fuzzers`
and the `Run Fuzzers` sanitizer field needs to be the same. To specify a list of sanitizers
a [matrix](https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idstrategymatrix)
can be used. To use a sanitizer add it to the list of sanitizers in the matrix field below:

`report-timeouts`: Determines whether to report fails due to timeouts.

`report-ooms`: Determines whether to report fails due to OOM.

```yaml
{% raw %}
name: CIFuzz
on: [pull_request]
permissions: {}
jobs:
 Fuzzing:
   runs-on: ubuntu-latest
   permissions:
     security-events: write
   strategy:
     fail-fast: false
     matrix:
       sanitizer: [address, undefined, memory]
   steps:
   - name: Build Fuzzers (${{ matrix.sanitizer }})
     id: build
     uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
     with:
       oss-fuzz-project-name: 'example'
       language: c++
       sanitizer: ${{ matrix.sanitizer }}
   - name: Run Fuzzers (${{ matrix.sanitizer }})
     uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
     with:
       oss-fuzz-project-name: 'example'
       language: c++
       fuzz-seconds: 600
       sanitizer: ${{ matrix.sanitizer }}
       output-sarif: true
   - name: Upload Crash
     uses: actions/upload-artifact@v4
     if: steps.build.outcome == 'success'
     with:
       name: ${{ matrix.sanitizer }}-artifacts
       path: ./out/artifacts
   - name: Upload Sarif
    if: always() && steps.build.outcome == 'success'
    uses: github/codeql-action/upload-sarif@v2
    with:
      # Path to SARIF file relative to the root of the repository
      sarif_file: cifuzz-sarif/results.sarif
      checkout_path: cifuzz-sarif
{% endraw %}
```

#### Branches and paths

You can make CIFuzz trigger only on certain branches or paths by following the
instructions [here](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions).
For example, the following code can used to trigger CIFuzz only on changes to
C/C++ code residing on master and release branches:

```yaml
name: CIFuzz
on:
  pull_request:
    branches:
      - master
      - 'releases/**'
    paths:
      - '**.c'
      - '**.cc'
      - '**.cpp'
      - '**.cxx'
      - '**.h'
permissions: {}
jobs:
 Fuzzing:
   runs-on: ubuntu-latest
   steps:
   - name: Build Fuzzers
     id: build
     uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
     with:
       oss-fuzz-project-name: 'example'
       language: c++
   - name: Run Fuzzers
     uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
     with:
       oss-fuzz-project-name: 'example'
       language: c++
       fuzz-seconds: 600
   - name: Upload Crash
     uses: actions/upload-artifact@v4
     if: failure() && steps.build.outcome == 'success'
     with:
       name: artifacts
       path: ./out/artifacts
```

You can checkout CIFuzz configs for OSS-Fuzz projects. Example -
[systemd](https://github.com/systemd/systemd/blob/main/.github/workflows/cifuzz.yml),
[curl](https://github.com/curl/curl/blob/master/.github/workflows/fuzz.yml).

## Ubuntu 24.04 Support

CIFuzz supports building and running fuzzers in an Ubuntu 24.04 environment.
Existing projects will continue to use the legacy environment (Ubuntu 20.04) by default,
preserving current behavior.

To migrate your project to Ubuntu 24.04, add the following line to your `project.yaml`:

```yaml
base_os_version: ubuntu-24-04
```

For OSS-Fuzz projects, this file is located at `projects/<project_name>/project.yaml`.
For external projects (ClusterFuzzLite), this file is typically located at `.clusterfuzzlite/project.yaml`.

## Understanding results

The results of CIFuzz can be found in two different places.

* Run fuzzers log:
    1. This log can be accessed in the `actions` tab of a CIFuzz integrated repo.
    1. Click on the `CIFuzz` button in the workflow selector on the left hand side.
    1. Click on the event triggered by your desired pull request.
    1. Click the `Fuzzing` workflow.
    1. Select the `Run Fuzzer` drop down. It should show the timestamps and results
    from each of the fuzz targets.

![Finding fuzzer output](../images/run_fuzzers.png)



*  Artifacts:
When the fuzzer crashes the input file that causes the crash is uploaded as an
artifact.
To download the artifact, do the following steps:
1. Click on the summary from the run, as illustrated in the screenshot below:

![github-actions-summary]

2. Click on the artifact you wish to download from the summary page, as
   illustrated in the screenshot below:

![github-actions-download-crash]

[github-actions-summary]: (https://raw.githubusercontent.com/google/clusterfuzzlite/refs/heads/bucket/images/github-actions-summary.png)
[github-actions-download-crash]: (https://raw.githubusercontent.com/google/clusterfuzzlite/refs/heads/bucket/images/github-actions-download-crash.png)

## Feedback/Questions/Issues

Create an issue in [OSS-Fuzz](https://github.com/google/oss-fuzz/issues/new) if you have questions or any other feedback on CIFuzz.


================================================
FILE: docs/getting-started/getting_started.md
================================================
---
layout: default
title: Getting started
has_children: true
nav_order: 2
permalink: /getting-started/
---

# Getting started
These pages walk you through the process of integrating your open source project
with OSS-Fuzz.


================================================
FILE: docs/getting-started/integration_rewards.md
================================================
---
layout: default
title: Integration rewards
parent: Getting started
nav_order: 3
permalink: /getting-started/integration-rewards/
---

# Integration rewards

We encourage you to apply for integration rewards (up to **$30,000**) once your project
is successfully integrated with OSS-Fuzz. Please see the full details
[here](https://bughunters.google.com/about/rules/5097259337383936/oss-fuzz-reward-program-rules).

To submit your application for a reward, please fill out [this form](https://goo.gle/oss-fuzz-submission).


================================================
FILE: docs/getting-started/new-project-guide/bazel.md
================================================
---
layout: default
title: Integrating a Bazel project
parent: Setting up a new project
grand_parent: Getting started
nav_order: 5
permalink: /getting-started/new-project-guide/bazel/
---

# Integrating a Bazel project
{: .no_toc}

- TOC
{:toc}
---

## Bazel projects

The process of integrating a project using the [Bazel](https://bazel.build/)
build system with OSS-Fuzz is very similar to the general
[Setting up a new project]({{ site.baseurl }}/getting-started/new-project-guide/)
process. The key specifics of integrating a Bazel project are outlined below.

## Fuzzing support in Bazel

For Bazel-based projects, we recommend using the
[`rules_fuzzing`](https://github.com/bazelbuild/rules_fuzzing) extension library
for defining fuzz tests. `rules_fuzzing` provides support for building and running
fuzz tests under
[multiple sanitizer and fuzzing engine configurations][rules-fuzzing-usage].
It also supports specifying corpora and dictionaries as part of the fuzz test
definition.

The fuzzing rules provide out-of-the-box support for building and packaging fuzz
test artifacts in the OSS-Fuzz format. Each `//path/to:fuzz_test` fuzz test
target automatically has a `//path/to:fuzz_test_oss_fuzz` packaging target that
(a) builds the fuzz test using the instrumentation and engine library specified
in the OSS-Fuzz environment variables, and (b) generates an archive containing
the binary and its associated artifacts (corpus, dictionary, etc.). Moreover,
OSS-Fuzz provides a standard tool to automatically process these targets,
substantially simplifying the `build.sh` script (see below).

[rules-fuzzing-usage]: https://github.com/bazelbuild/rules_fuzzing#using-the-rules-in-your-project

## Project files

This section explains how to integrate the fuzz tests written using the
`rules_fuzzing` library with OSS-Fuzz. You can also see a complete example in the
[`bazel-rules-fuzzing-test`](https://github.com/google/oss-fuzz/tree/master/projects/bazel-rules-fuzzing-test)
project.

The structure of the project directory in the OSS-Fuzz repository does not
differ for Bazel-based projects. The project files have the following specific
aspects.

### project.yaml

Only C++ projects are currently supported.

Since the OSS-Fuzz target builds the fuzz test using the instrumentation and
engine specified in the OSS-Fuzz environment variables, all the engine and
sanitizer configurations supported in the `project.yaml` file are automatically
supported by the fuzzing rules.

### Dockerfile

There is no need to install Bazel in your Docker image. The OSS-Fuzz builder
image provides the `bazel` executable through the
[Bazelisk](https://github.com/bazelbuild/bazelisk) launcher, which will fetch
and use the latest Bazel release. If your project requires a particular Bazel
version, create a
[`.bazelversion`](https://docs.bazel.build/versions/master/updating-bazel.html)
file in your repository root with the desired version string.

### build.sh

Your `build.sh` script essentially needs to perform three steps: (1) selecting
which fuzz tests to build, (2) building their OSS-Fuzz package targets in the
right configuration, and (3) copying the build artifacts to the `${OUT}/`
destination.

OSS-Fuzz provides a
[`bazel_build_fuzz_tests`](https://github.com/google/oss-fuzz/blob/master/infra/base-images/base-builder/bazel_build_fuzz_tests)
tool that implements these steps in a standard way, so in most cases your
build script only needs to invoke this command with no arguments.

If necessary, the behavior of the tool can be customized through a set of
environment variables. The most common are:

* `BAZEL_EXTRA_BUILD_FLAGS` are extra build flags passed on the Bazel command
   line.
* `BAZEL_FUZZ_TEST_TAG` and `BAZEL_FUZZ_TEST_EXCLUDE_TAG` can be overridden to
  specify which target tags to use when determining what fuzz tests to include.
  By default, the tool selects all the fuzz tests except for those tagged as
  `"no-oss-fuzz"`.
* `BAZEL_FUZZ_TEST_QUERY` overrides the Bazel query the tool uses to identify
  the fuzz tests to build, if the tag-based approach is not sufficient.


================================================
FILE: docs/getting-started/new-project-guide/go_lang.md
================================================
---
layout: default
title: Integrating a Go project
parent: Setting up a new project
grand_parent: Getting started
nav_order: 1
permalink: /getting-started/new-project-guide/go-lang/
---

# Integrating a Go project
{: .no_toc}

- TOC
{:toc}
---

The process of integrating a project written in Go with OSS-Fuzz is very similar
to the general
[Setting up a new project]({{ site.baseurl }}/getting-started/new-project-guide/)
process. The key specifics of integrating a Go project are outlined below.

## Go-fuzz support

OSS-Fuzz supports **go-fuzz** in the
[libFuzzer compatible mode](https://github.com/mdempsky/go114-fuzz-build)
only. In that mode, fuzz targets for Go use the libFuzzer engine with native Go
coverage instrumentation. Binaries compiled in this mode provide the same
libFuzzer command line interface as non-Go fuzz targets.

## Native Go Fuzzing support

OSS-fuzz supports [fuzzers written for the native Go 1.18 engine](https://go.dev/doc/fuzz/). These fuzzers are built as libFuzzer binaries in a similar fashion as fuzzers written for the go-fuzz engine. Because of that, dictionaries and seed corpora should be handled in accordance with [the OSS-fuzz documentation](https://google.github.io/oss-fuzz/getting-started/new-project-guide/#seed-corpus).
Unlike libFuzzer/go-fuzz targets which must accept one data buffer, fuzz targets written for the Native Go engine can accept any number of arguments of any type. Here is an example of a valid fuzzer with multiple arguments:

```go
package demofuzzing

import (
    "fmt"
    "testing"
)

func FuzzDemo(f *testing.F) {
    f.Fuzz(func(t *testing.T, data1 string, data2 uint32, data3 float64) {
        fmt.Println(data1)
        fmt.Println(data2)
        fmt.Println(data3)
    })
}
```

Some requirements for native Go 1.18 fuzzers are:
* The only `testing.F` method supported is currently `F.Fuzz()`.
* `F.Add()` will not add seeds when fuzzing. To provide OSS-fuzz with a seed corpus, follow the documentation [here](https://google.github.io/oss-fuzz/getting-started/new-project-guide/#seed-corpus).

## Project files

First, you need to write a Go fuzz target. This fuzz target should reside in your project
repository
([example](https://github.com/golang/go/blob/4ad13555184eb0697c2e92c64c1b0bdb287ccc10/src/html/fuzz.go#L13)).

The structure of the project directory in OSS-Fuzz repository doesn't differ for
projects written in Go. The project files have the following Go specific
aspects.

### project.yaml

The `language` attribute must be specified.

```yaml
language: go
```

The only supported fuzzing engine and sanitizer are `libfuzzer` and `address`,
respectively.
[Example](https://github.com/google/oss-fuzz/blob/356f2b947670b7eb33a1f535c71bc5c87a60b0d1/projects/syzkaller/project.yaml#L7):

```yaml
fuzzing_engines:
  - libfuzzer
sanitizers:
  - address
```

### Dockerfile

The Dockerfile should start by `FROM gcr.io/oss-fuzz-base/base-builder-go`

The OSS-Fuzz builder image has the latest stable release of Golang installed. In
order to install dependencies of your project, add `RUN git clone ...` command to
your Dockerfile.
[Example](https://github.com/google/oss-fuzz/blob/356f2b947670b7eb33a1f535c71bc5c87a60b0d1/projects/syzkaller/Dockerfile#L23):

```dockerfile
# Dependency for one of the fuzz targets.
RUN git clone --depth 1 https://github.com/ianlancetaylor/demangle
```

go-fuzz will then automatically download the dependencies based on the go.mod file

### build.sh

In order to build a Go fuzz target, you need to call `go-fuzz`
command first, and then link the resulting `.a` file against
`$LIB_FUZZING_ENGINE` using the `$CXX $CXXFLAGS ...` command.

For go-fuzz fuzzers, the best way to do this is by using the [`compile_go_fuzzer` script](https://github.com/google/oss-fuzz/blob/master/infra/base-images/base-builder/compile_go_fuzzer), and for native Go 1.18 fuzzers it is recommended to use the [`compile_native_go_fuzzer` script](https://github.com/google/oss-fuzz/blob/master/infra/base-images/base-builder/compile_native_go_fuzzer). Both of these also support coverage builds.

`compile_native_go_fuzzer` requires two dependencies which can be installed with:
```bash
go install github.com/AdamKorcz/go-118-fuzz-build@latest
go get github.com/AdamKorcz/go-118-fuzz-build/testing
```

A usage example from go-dns project is

```sh
compile_go_fuzzer github.com/miekg/dns FuzzNewRR fuzz_newrr fuzz
```

Arguments are :
* path of the package with the fuzz target
* name of the fuzz function
* name of the fuzzer to be built
* optional tag to be used by `go build` and such


================================================
FILE: docs/getting-started/new-project-guide/javascript_lang.md
================================================
---
layout: default
title: Integrating a JavaScript project
parent: Setting up a new project
grand_parent: Getting started
nav_order: 4
permalink: /getting-started/new-project-guide/javascript-lang/
---

# Integrating a JavaScript project
{: .no_toc}

- TOC
{:toc}
---

The process of integrating a project written in JavaScript for Node.js 
with OSS-Fuzz is very similar to the general
[Setting up a new project]({{ site.baseurl }}/getting-started/new-project-guide/)
process. The key specifics of integrating a JavaScript project are outlined below.

## Jazzer.js

JavaScript fuzzing in OSS-Fuzz is powered by
[Jazzer.js](https://github.com/CodeIntelligenceTesting/jazzer.js), which is
installed during the build step. As Jazzer.js operates directly on the JavaScript
source code level, it can be applied to any project written in a language that 
can be transpiled into JavaScript such as TypeScript. More information on how Jazzer.js
fuzz targets look like can be found in its
[README's Usage section](https://github.com/CodeIntelligenceTesting/jazzer.js#usage).

## Project files

### Example project

We recommend viewing
[javascript-example](https://github.com/google/oss-fuzz/tree/master/projects/javascript-example)
as an example of a simple JavaScript fuzzing project. We also recommend having a look at
[typescript-example](https://github.com/google/oss-fuzz/tree/master/projects/typescript-example)
as an example of how to fuzz TypeScript projects. This example also demonstrates how to use 
Jazzer.js fuzzed data provider.

### project.yaml

The `language` attribute must be specified as follows:

```yaml
language: javascript
```

The only supported fuzzing engine is libFuzzer (`libfuzzer`). So far, native sanitizers such as 
AddressSanitizer (`address`) and UndefinedBehaviorSanitizer (`undefined`) are not supported. 
They would only be needed for projects that have native addons, which is a rather infrequent
use case for JavaScript projects. If you have a project where you need ASan or UBSan, please 
create open an issue on [Jazzer.js GitHub repo](https://github.com/CodeIntelligenceTesting/jazzer.js). None (`none`) is the default sanitizer for 
JavaScript projects, so setting it up in `project.yaml` is optional.

```yaml
fuzzing_engines:
  - libfuzzer
sanitizers:
  - none
```

### Dockerfile

The Dockerfile should start by `FROM gcr.io/oss-fuzz-base/base-builder-javascript`

The OSS-Fuzz base Docker images already come with Node.js 19 and `npm` pre-installed.
Apart from that, you should usually not need to do more than to clone the
project, set a `WORKDIR`, and copy any necessary files, or install any
project-specific dependencies here as you normally would.

### Fuzzers

In the simplest case, every fuzzer consists of a single JavaScript file that exports
a function named `fuzz` taking a single argument of type [Buffer](https://nodejs.org/api/buffer.html). 
An example fuzz target could thus be a file `fuzz_string_compare.js` with contents:

```javascript
/**
 * @param { Buffer } data
 */
module.exports.fuzz = function (data) {
    const s = data.toString();
    if (s.length !== 16) {
        return;
    }
    if (
        s.slice(0, 8) === "Awesome " &&
        s.slice(8, 15) === "Fuzzing" &&
        s[15] === "!"
    ) {
        throw Error("Welcome to Awesome Fuzzing!");
    }
};
```

### build.sh

The OSS-Fuzz base docker image for JavaScript comes with the [`compile_javascript_fuzzer` script](https://github.com/google/oss-fuzz/blob/master/infra/base-images/base-builder/compile_javascript_fuzzer) preinstalled. In `build.sh`, you should install dependencies for your project, and if necessary compile the code into JavaScript. Then, you can use the script to build the fuzzers. The script ensures that [@Jazzer.js/core](https://www.npmjs.com/package/@jazzer.js/core) is installed so that its CLI can be used to execute your fuzz tests. It also generates a wrapper script that can be used as a drop-in replacement for libFuzzer. This means that the generated script accepts the same command line flags for libFuzzer. Under the hood these flags are simply forwarded to the libFuzzer native addon used by Jazzer.js.

A usage example from the javascript-example project is

```shell
compile_javascript_fuzzer example fuzz_string_compare.js --sync
```

Arguments are:
* relative path of the project in the $SRC directory
* relative path to the fuzz test inside the project
* remaining arguments are forwarded to the [Jazzer.js CLI](https://github.com/CodeIntelligenceTesting/jazzer.js/blob/main/docs/fuzz-targets.md#running-the-fuzz-target)

The [javascript-example](https://github.com/google/oss-fuzz/blob/master/projects/javascript-example/build.sh)
project contains an example of a `build.sh` for JavaScript projects.

## FuzzedDataProvider

Jazzer.js provides a `FuzzedDataProvider` that can simplify the task of creating a
fuzz target by translating the raw input bytes received from the fuzzer into
useful primitive JavaScript types. Its functionality is similar to
`FuzzedDataProviders` available in other languages, such as
[Java](https://codeintelligencetesting.github.io/jazzer-docs/jazzer-api/com/code_intelligence/jazzer/api/FuzzedDataProvider.html) and
[C++](https://github.com/google/fuzzing/blob/master/docs/split-inputs.md).

A fuzz target using the `FuzzedDataProvider` would look as follows:

```javascript
const { FuzzedDataProvider } = require("@jazzer.js/core");

/**
 * @param { Buffer } fuzzerInputData
 */
module.exports.fuzz = function (fuzzerInputData) {
    const data = new FuzzedDataProvider(fuzzerInputData);
    const i = data.consumeIntegral(4);
    const s = data.consumeRemainingAsString();
    exploreMe(i, s);
};
```


================================================
FILE: docs/getting-started/new-project-guide/jvm_lang.md
================================================
---
layout: default
title: Integrating a Java/JVM project
parent: Setting up a new project
grand_parent: Getting started
nav_order: 4
permalink: /getting-started/new-project-guide/jvm-lang/
---

# Integrating a Java/JVM project
{: .no_toc}

- TOC
{:toc}
---

The process of integrating a project written in Java or any other language
running on the Java Virtual Machine (JVM) with OSS-Fuzz is very similar to the
general
[Setting up a new project]({{ site.baseurl }}/getting-started/new-project-guide/)
process. The key specifics of integrating a JVM project are outlined below.

## Jazzer

Java fuzzing in OSS-Fuzz depends on
[Jazzer](https://github.com/CodeIntelligenceTesting/jazzer), which is
pre-installed on the OSS-Fuzz base docker images. As Jazzer operates directly
on the bytecode level, it can be applied to any project written in a JVM-based
language. More information on how Jazzer fuzz targets look like can be found in
its
[README's Usage section](https://github.com/CodeIntelligenceTesting/jazzer#usage).

## Project files

### Example project

We recommend viewing
[json-sanitizer](https://github.com/google/oss-fuzz/tree/master/projects/json-sanitizer)
as an example of a simple Java-only fuzzing project. Additional examples,
including one for a Java project with native dependencies, are part of the
[java-example](https://github.com/google/oss-fuzz/tree/master/projects/java-example)
project.

### project.yaml

The `language` attribute must be specified as follows:

```yaml
language: jvm
```

The only supported fuzzing engine is libFuzzer (`libfuzzer`). So far the only
supported sanitizers are AddressSanitizer (`address`) and
UndefinedBehaviorSanitizer (`undefined`). For pure Java projects, specify
just `address`:

```yaml
fuzzing_engines:
  - libfuzzer
sanitizers:
  - address
```

### Dockerfile

The Dockerfile should start by `FROM gcr.io/oss-fuzz-base/base-builder-jvm`

The OSS-Fuzz base Docker images already come with OpenJDK 15 pre-installed. If
you need Maven to build your project, you can install it by adding the following
line to your Dockerfile:

```docker
RUN apt-get update && apt-get install -y maven
```

Apart from this, you should usually not need to do more than to clone the
project, set a `WORKDIR`, and copy any necessary files, or install any
project-specific dependencies here as you normally would.

### Fuzzers

In the simplest case, every fuzzer consists of a single Java file with a
filename matching `*Fuzzer.java` and no `package` directive. An example fuzz
target could thus be a file `ExampleFuzzer.java` with contents:

```java
public class ExampleFuzzer {
    public static void fuzzerTestOneInput(byte[] input) {
        ...
        // Call a function of the project under test with arguments derived from
        // input and throw an exception if something unwanted happens.
        ...
    }
}
```

### build.sh

For JVM projects, `build.sh` does need some more significant modifications
over C/C++ projects. Below is an annotated example build script for a
Java-only project with single-file fuzz targets as described above:

```sh
# Step 1: Build the project

# Build the project .jar as usual, e.g. using Maven.
mvn package
# In this example, the project is built with Maven, which typically includes the
# project version into the name of the packaged .jar file. The version can be
# obtained as follows:
CURRENT_VERSION=$(mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate \
-Dexpression=project.version -q -DforceStdout)
# Copy the project .jar into $OUT under a fixed name.
cp "target/sample-project-$CURRENT_VERSION.jar" $OUT/sample-project.jar

# Specify the projects .jar file(s), separated by spaces if there are multiple.
PROJECT_JARS="sample-project.jar"

# Step 2: Build the fuzzers (should not require any changes)

# The classpath at build-time includes the project jars in $OUT as well as the
# Jazzer API.
BUILD_CLASSPATH=$(echo $PROJECT_JARS | xargs printf -- "$OUT/%s:"):$JAZZER_API_PATH

# All .jar and .class files lie in the same directory as the fuzzer at runtime.
RUNTIME_CLASSPATH=$(echo $PROJECT_JARS | xargs printf -- "\$this_dir/%s:"):\$this_dir

for fuzzer in $(find $SRC -name '*Fuzzer.java'); do
  fuzzer_basename=$(basename -s .java $fuzzer)
  javac -cp $BUILD_CLASSPATH $fuzzer
  cp $SRC/$fuzzer_basename.class $OUT/

  # Create an execution wrapper that executes Jazzer with the correct arguments.
  echo "#!/bin/bash
# LLVMFuzzerTestOneInput for fuzzer detection.
this_dir=\$(dirname \"\$0\")
if [[ \"\$@\" =~ (^| )-runs=[0-9]+($| ) ]]; then
  mem_settings='-Xmx1900m:-Xss900k'
else
  mem_settings='-Xmx2048m:-Xss1024k'
fi
LD_LIBRARY_PATH=\"$JVM_LD_LIBRARY_PATH\":\$this_dir \
\$this_dir/jazzer_driver --agent_path=\$this_dir/jazzer_agent_deploy.jar \
--cp=$RUNTIME_CLASSPATH \
--target_class=$fuzzer_basename \
--jvm_args=\"\$mem_settings:-Djava.awt.headless=true\" \
\$@" > $OUT/$fuzzer_basename
  chmod +x $OUT/$fuzzer_basename
done
```

The [java-example](https://github.com/google/oss-fuzz/blob/master/projects/java-example/build.sh)
project contains an example of a `build.sh` for Java projects with native
libraries.

## FuzzedDataProvider

Jazzer provides a `FuzzedDataProvider` that can simplify the task of creating a
fuzz target by translating the raw input bytes received from the fuzzer into
useful primitive Java types. Its functionality is similar to
`FuzzedDataProviders` available in other languages, such as
[Python](https://github.com/google/atheris#fuzzeddataprovider) and
[C++](https://github.com/google/fuzzing/blob/master/docs/split-inputs.md).

On OSS-Fuzz, the required library is available in the base docker images under
the path `$JAZZER_API_PATH`, which is added to the classpath by the example
build script shown above. Locally, the library can be obtained from
[Maven Central](https://search.maven.org/search?q=g:com.code-intelligence%20a:jazzer-api).

A fuzz target using the `FuzzedDataProvider` would look as follows:

```java
import com.code_intelligence.jazzer.api.FuzzedDataProvider;

public class ExampleFuzzer {
    public static void fuzzerTestOneInput(FuzzedDataProvider data) {
        int number = data.consumeInt();
        String string = data.consumeRemainingAsString();
        // ...
    }
}
```

For a list of convenience methods offered by `FuzzedDataProvider`, consult its
[javadocs](https://codeintelligencetesting.github.io/jazzer-docs/jazzer-api/com/code_intelligence/jazzer/api/FuzzedDataProvider.html).


================================================
FILE: docs/getting-started/new-project-guide/lua_lang.md
================================================
---
layout: default
title: Integrating a Lua project
parent: Setting up a new project
grand_parent: Getting started
nav_order: 4
permalink: /getting-started/new-project-guide/lua-lang/
---

# Integrating a Lua project
{: .no_toc}

- TOC
{:toc}
---

The process of integrating a project written in Lua with OSS-Fuzz
is similar to the general [Setting up a new project]({{ site.baseurl
}}/getting-started/new-project-guide/) process. The key specifics of
integrating a Lua project are outlined below.

## luzer

Lua fuzzing in OSS-Fuzz is powered by
[luzer](https://github.com/ligurio/luzer). As luzer operates
directly on the Lua source code level, it can be applied to any
project written in a language that can be transpiled into Lua,
such as [MoonScript](https://moonscript.org/),
[TypeScriptToLua](https://typescripttolua.github.io/),
[Fennel](https://fennel-lang.org/), and [Urn](https://urn-lang.com/).
Also, it supports fuzzing C/C++ extensions written for Lua. When
fuzzing native code, luzer can be used in combination with
Address Sanitizer or Undefined Behavior Sanitizer to catch extra bugs.

## Project files

### Example project

We recommend viewing
[lua-example](https://github.com/google/oss-fuzz/tree/master/projects/lua-example)
as an example of a simple Lua fuzzing project. This example also
demonstrates how to use luzer's Fuzzed Data Provider.

### project.yaml

The `language` attribute must be specified as follows:

```yaml
language: c
```

The only supported fuzzing engine is libFuzzer (`libfuzzer`).

```yaml
fuzzing_engines:
  - libfuzzer
sanitizers:
  - none
```

There is nothing special for sanitizer support in OSS-Fuzz
infrastructure. luzer builds its own DSO with libFuzzer and
sanitizer and `compile_lua_fuzzer` (also managed by project) sets
it to `LD_PRELOAD` if required.

### Dockerfile

The Dockerfile should start by `FROM gcr.io/oss-fuzz-base/base-builder`.

The OSS-Fuzz base Docker images come without any pre-installed
components required for Lua fuzzing. Apart from that, you should
usually need to build or install a Lua runtime, luzer module,
clone the project, set a `WORKDIR`, and copy any necessary files,
or install any project-specific dependencies here as you normally would.

### Fuzzers

In the simplest case, every fuzzer consists of a single Lua file that defines
a function `TestOneInput` and executes a function named `luzer.Fuzz()`.
An example fuzz target could thus be a file `fuzz_basic.lua` with contents:

```lua
local parser = require("src.luacheck.parser")
local decoder = require("luacheck.decoder")
local luzer = require("luzer")

local function TestOneInput(buf)
    parser.parse(decoder.decode(buf))
end

local args = {
    print_final_stats = 1,
}
luzer.Fuzz(TestOneInput, nil, args)
```

### compile_lua_fuzzer

Unlike projects for other languages, the base image does not
include a script that generates a wrapper script that can be used
as a drop-in replacement for libFuzzer.

Therefore, you need to add such a script yourself. This script
sets a relative path to Lua runtime that will be used for running
tests and the necessary environment variables (for example, `LUA_PATH`,
`LUA_CPATH` and `LD_PRELOAD`) and specifies the path directly to
the `.lua` file containing the test implementation. The script
`compile_lua_fuzzer` must accept the same command line flags as
libFuzzer-based tests.

Note, the resulting wrapper scripts must contain the word "luarocks"
to pass checks by `bad_build_check` in continuous integration.

Then, you can use the script `compile_lua_fuzzer` to build the fuzzers.
A usage example from the `lua-example` project is

```shell
compile_lua_fuzzer lua fuzz_basic.lua
```

Arguments are:

* a relative path to a Lua runtime name
* a relative path to the fuzzing test inside the OSS Fuzz project directory

The `lua-example` projects includes an
[example](https://github.com/google/oss-fuzz/blob/master/projects/lua-example/compile_lua_fuzzer)
of such script.

### build.sh

The script is executed within the image built from your [Dockerfile](#Dockerfile).

In general, this script should do the following:

- Set up or build a Lua runtime.
- Set up or build required dependencies for your tests.
- Generate wrapper scripts for your tests using [compile_lua_fuzzer](#compile_lua_fuzzer).

Resulting binaries, tests and their wrapper scripts, and a
directory with Luarocks dependencies should be placed in `$OUT`.

Beware, when installing the luzer module, you need to set the
environment variable `OSS_FUZZ` to non-empty value, otherwise the
build may fail.

The [lua-example](https://github.com/google/oss-fuzz/blob/master/projects/lua-example/build.sh)
project contains an example of a `build.sh` for a Lua projects.

## FuzzedDataProvider

luzer provides a Fuzzed Data Provider that is helpful for splitting
a fuzz input into multiple parts of various Lua types. Its
functionality is similar to
[Fuzzed Data Provider](https://github.com/google/fuzzing/blob/master/docs/split-inputs.md#fuzzed-data-provider)
available in LLVM. Learn about methods, provided by FDP in luzer,
in [documentation](https://github.com/ligurio/luzer/blob/master/docs/api.md#structure-aware-fuzzing).

A fuzz target using the `FuzzedDataProvider` would look as follows:

```lua
local luzer = require("luzer")

local function TestOneInput(buf)
    local fdp = luzer.FuzzedDataProvider(buf)
    local str = fdp:consume_string(4)

    local b = {}
    str:gsub(".", function(c) table.insert(b, c) end)
    local count = 0
    if b[1] == "o" then count = count + 1 end
    if b[2] == "o" then count = count + 1 end
    if b[3] == "p" then count = count + 1 end
    if b[4] == "s" then count = count + 1 end

    if count == 4 then assert(nil) end
end

local args = {
    only_ascii = 1,
    print_pcs = 1,
}

luzer.Fuzz(TestOneInput, nil, args)
```


================================================
FILE: docs/getting-started/new-project-guide/python_lang.md
================================================
---
layout: default
title: Integrating a Python project
parent: Setting up a new project
grand_parent: Getting started
nav_order: 3
permalink: /getting-started/new-project-guide/python-lang/
---

# Integrating a Python project
{: .no_toc}

- TOC
{:toc}
---


The process of integrating a project written in Python with OSS-Fuzz is very
similar to the general
[Setting up a new project]({{ site.baseurl }}/getting-started/new-project-guide/)
process. The key specifics of integrating a Python project are outlined below.

## Atheris

Python fuzzing in OSS-Fuzz depends on
[Atheris](https://github.com/google/atheris). Fuzzers will depend on the
`atheris` package, and dependencies are pre-installed on the OSS-Fuzz base
docker images.

## Project files

### Example project

We recommend viewing [ujson](https://github.com/google/oss-fuzz/tree/master/projects/ujson) as an
example of a simple Python fuzzing project, with both plain-Atheris and
Atheris + Hypothesis harnesses.

### project.yaml

The `language` attribute must be specified.

```yaml
language: python3
```

The only supported fuzzing engine is libFuzzer (`libfuzzer`). The supported
sanitizers are AddressSanitizer (`address`) and
UndefinedBehaviorSanitizer (`undefined`). These must be explicitly specified.

```yaml
fuzzing_engines:
  - libfuzzer
sanitizers:
  - address
  - undefined
```

### Dockerfile

The Dockerfile should start by `FROM gcr.io/oss-fuzz-base/base-builder-python`

Because most dependencies are already pre-installed on the images, no
significant changes are needed in the Dockerfile for Python fuzzing projects.
You should simply clone the project, set a `WORKDIR`, and copy any necessary
files, or install any project-specific dependencies here as you normally would.

### build.sh

For Python projects, `build.sh` does need some more significant modifications
over normal projects. The following is an annotated example build script,
explaining why each step is necessary and when they can be omitted.

```sh
# Build and install project (using current CFLAGS, CXXFLAGS). This is required
# for projects with C extensions so that they're built with the proper flags.
pip3 install .

# Build fuzzers into $OUT. These could be detected in other ways.
for fuzzer in $(find $SRC -name '*_fuzzer.py'); do
  fuzzer_basename=$(basename -s .py $fuzzer)
  fuzzer_package=${fuzzer_basename}.pkg

  # To avoid issues with Python version conflicts, or changes in environment
  # over time on the OSS-Fuzz bots, we use pyinstaller to create a standalone
  # package. Though not necessarily required for reproducing issues, this is
  # required to keep fuzzers working properly in OSS-Fuzz.
  pyinstaller --distpath $OUT --onefile --name $fuzzer_package $fuzzer

  # Create execution wrapper. Atheris requires that certain libraries are
  # preloaded, so this is also done here to ensure compatibility and simplify
  # test case reproduction. Since this helper script is what OSS-Fuzz will
  # actually execute, it is also always required.
  # NOTE: If you are fuzzing python-only code and do not have native C/C++
  # extensions, then remove the LD_PRELOAD line below as preloading sanitizer
  # library is not required and can lead to unexpected startup crashes.
  echo "#!/bin/sh
# LLVMFuzzerTestOneInput for fuzzer detection.
this_dir=\$(dirname \"\$0\")
LD_PRELOAD=\$this_dir/sanitizer_with_fuzzer.so \
ASAN_OPTIONS=\$ASAN_OPTIONS:symbolize=1:external_symbolizer_path=\$this_dir/llvm-symbolizer:detect_leaks=0 \
\$this_dir/$fuzzer_package \$@" > $OUT/$fuzzer_basename
  chmod +x $OUT/$fuzzer_basename
done
```

## Hypothesis

Using [Hypothesis](https://hypothesis.readthedocs.io/), the Python library for
[property-based testing](https://hypothesis.works/articles/what-is-property-based-testing/),
makes it really easy to generate complex inputs - whether in traditional test suites
or [by using test functions as fuzz harnesses](https://hypothesis.readthedocs.io/en/latest/details.html#use-with-external-fuzzers).

> Property based testing is the construction of tests such that, when these tests are fuzzed,
  failures in the test reveal problems with the system under test that could not have been
  revealed by direct fuzzing of that system.

We recommend using the [`hypothesis write`](https://hypothesis.readthedocs.io/en/latest/ghostwriter.html)
command to generate a starter fuzz harness.  This "ghostwritten" code may be usable as-is,
or provide a useful template for writing more specific tests.

See [here for the core "strategies"](https://hypothesis.readthedocs.io/en/latest/data.html),
for arbitrary data, [here for Numpy + Pandas support](https://hypothesis.readthedocs.io/en/latest/numpy.html),
or [here for a variety of third-party extensions](https://hypothesis.readthedocs.io/en/latest/strategies.html)
supporting everything from protobufs, to jsonschemas, to networkx graphs or geojson
or valid Python source code.
Hypothesis' integrated test-case reduction also makes it trivial to report a canonical minimal
example for each distinct failure discovered while fuzzing - just run the test function!

To use Hypothesis in OSS-Fuzz, install it in your Dockerfile with

```shell
RUN pip3 install hypothesis
```

See [the `ujson` structured fuzzer](https://github.com/google/oss-fuzz/blob/master/projects/ujson/hypothesis_structured_fuzzer.py)
for an example "polyglot" which can either be run with `pytest` as a standard test function,
or run with OSS-Fuzz as a fuzz harness.


================================================
FILE: docs/getting-started/new-project-guide/rust_lang.md
================================================
---
layout: default
title: Integrating a Rust project
parent: Setting up a new project
grand_parent: Getting started
nav_order: 2
permalink: /getting-started/new-project-guide/rust-lang/
---

# Integrating a Rust project
{: .no_toc}

- TOC
{:toc}
---

The process of integrating a project written in Rust with OSS-Fuzz is very
similar to the general [Setting up a new project]({{ site.baseurl
}}/getting-started/new-project-guide/) process. The key specifics of integrating
a Rust project are outlined below.

## cargo-fuzz support

Rust integration with OSS-Fuzz is expected to use [`cargo
fuzz`](https://github.com/rust-fuzz/cargo-fuzz) to build fuzzers. The `cargo
fuzz` tool will build code with required compiler flags as well as link to the
correct libFuzzer on OSS-Fuzz itself. Note that using `cargo fuzz` also makes it
quite easy to run the fuzzers locally yourself if you get a failing test case!

## Project files

First you'll want to follow the [setup instructions for `cargo fuzz`
itself](https://rust-fuzz.github.io/book/). Afterwards your project should have:

* A top-level `fuzz` directory.
* A `fuzz/Cargo.toml` manifest which pulls in necessary dependencies to fuzz.
* Some `fuzz/fuzz_targets/*.rs` files which are the fuzz targets that will be
  compiled and run on OSS-Fuzz.

Note that you can customize this layout as well, but you'll need to edit some
the scripts below to integrate into OSS-Fuzz.

### project.yaml

The `language` attribute must be specified.

```yaml
language: rust
```

The only supported fuzzing engine and sanitizer are `libfuzzer` and `address`,
respectively.
[Example](https://github.com/google/oss-fuzz/blob/12ef3654b3e9adfd20b5a6afdde54819ba71493d/projects/serde_json/project.yaml#L3-L6)

```yaml
sanitizers:
  - address
fuzzing_engines:
  - libfuzzer
```

### Dockerfile

The Dockerfile should start by `FROM gcr.io/oss-fuzz-base/base-builder-rust`

The OSS-Fuzz builder image has the latest nightly release of Rust as well as
`cargo fuzz` pre-installed and in `PATH`. In the `Dockerfile` for your project
all you'll need to do is fetch the latest copy of your code and install any
system dependencies necessary to build your project.
[Example](https://github.com/google/oss-fuzz/blob/12ef3654b3e9adfd20b5a6afdde54819ba71493d/projects/serde_json/Dockerfile#L18-L20)

```dockerfile
RUN git clone --depth 1 https://github.com/serde-rs/json json
```

### build.sh

Here it's expected that you'll build the fuzz targets for your project and then
copy the final binaries into the output directory.
[Example](https://github.com/google/oss-fuzz/blob/12ef3654b3e9adfd20b5a6afdde54819ba71493d/projects/serde_json/build.sh#L20):

```sh
cd $SRC/json
cargo fuzz build -O
cp fuzz/target/x86_64-unknown-linux-gnu/release/from_slice $OUT/
```

Note that you likely want to pass the `-O` flag to `cargo fuzz build` which
builds fuzzers in release mode. You may also want to pass the
`--debug-assertions` flag to enable more checks while fuzzing. In this example
the `from_slice` binary is the fuzz target.

With some bash-fu you can also automatically copy over all fuzz targets into
the output directory so when you add a fuzz target to your project it's
automatically integrated into OSS-Fuzz:

```sh
FUZZ_TARGET_OUTPUT_DIR=target/x86_64-unknown-linux-gnu/release
for f in fuzz/fuzz_targets/*.rs
do
    FUZZ_TARGET_NAME=$(basename ${f%.*})
    cp $FUZZ_TARGET_OUTPUT_DIR/$FUZZ_TARGET_NAME $OUT/
done
```

## Writing fuzzers using a test-style strategy

In Rust you will often have tests written in a way so they are only 
compiled into the final binary when build in test-mode. This is, achieved by
wrapping your test code in `cfg(test)`, e.g.
```rust
#[cfg(test)]
mod tests {
    use super::*;
    
    ...
```

Cargo-fuzz automatically enables the `fuzzing` feature, which means you can
follow a similar strategy to writing fuzzers as you do when writing tests.
Specifically, you can create modules wrapped in the `fuzzing` feature:
```rust
#[cfg(fuzzing)]
pub mod fuzz_logic {
    use super::*;

    ...
```
and then call the logic within `fuzz_logic` from your fuzzer. 

Furthermore, within your `.toml` files, you can then specify fuzzing-specific
dependencies by wrapping them as follows:
```
[target.'cfg(fuzzing)'.dependencies]
```
similar to how you wrap test-dependencies as follows:
```
[dev-dependencies]
```

Finally, you can also combine the testing logic you have and the fuzz logic. This
can be achieved simply by using 
```rust
#[cfg(any(test, fuzzing))]
```

A project that follows this structure is Linkerd2-proxy and the project files can be
seen [here](https://github.com/google/oss-fuzz/tree/master/projects/linkerd2-proxy).


================================================
FILE: docs/getting-started/new-project-guide/swift_lang.md
================================================
---
layout: default
title: Integrating a Swift project
parent: Setting up a new project
grand_parent: Getting started
nav_order: 1
permalink: /getting-started/new-project-guide/swift-lang/
---

# Integrating a Swift project
{: .no_toc}

- TOC
{:toc}
---

The process of integrating a project written in Swift with OSS-Fuzz is very similar
to the general
[Setting up a new project]({{ site.baseurl }}/getting-started/new-project-guide/)
process. The key specifics of integrating a Swift project are outlined below.

## Project files

First, you need to write a Swift fuzz target that accepts a stream of bytes and
calls the program API with that. This fuzz target should reside in your project
repository.

The structure of the project directory in OSS-Fuzz repository doesn't differ for
projects written in Swift. The project files have the following Swift specific
aspects.

### project.yaml

The `language` attribute must be specified.

```yaml
language: swift
```

The only supported fuzzing engine is `libfuzzer`

The supported sanitizers are and `address`, `thread`

[Example](https://github.com/google/oss-fuzz/blob/2a15c3c88b21f4f1be2a7ff115f72bd7a08e34ac/projects/swift-nio/project.yaml#L9):

```yaml
fuzzing_engines:
  - libfuzzer
sanitizers:
  - address
  - thread
```

### Dockerfile

The Dockerfile should start by `FROM gcr.io/oss-fuzz-base/base-builder-swift`
instead of using the simple base-builder

### build.sh

A `precompile_swift` generates an environment variable `SWIFTFLAGS`
This can then be used in the building command such as `swift build -c release $SWIFTFLAGS`


A usage example from swift-protobuf project is

```sh
. precompile_swift
# build project
cd FuzzTesting
swift build -c debug $SWIFTFLAGS

(
cd .build/debug/
find . -maxdepth 1 -type f -name "*Fuzzer" -executable | while read i; do cp $i $OUT/"$i"-debug; done
)

```


================================================
FILE: docs/getting-started/new_project_guide.md
================================================
---
layout: default
title: Setting up a new project
parent: Getting started
has_children: true
nav_order: 2
permalink: /getting-started/new-project-guide/
---

# Setting up a new project
{: .no_toc}

- TOC
{:toc}
---

## Prerequisites

Before you can start setting up your new project for fuzzing, you must do the following:

- [Integrate]({{ site.baseurl }}/advanced-topics/ideal-integration/) one or more [fuzz targets]({{ site.baseurl }}/reference/glossary/#fuzz-target)
  with the project you want to fuzz.

  For examples, see
[boringssl](https://github.com/google/boringssl/tree/master/fuzz) or
[SQLite](https://www.sqlite.org/src/artifact/ad79e867fb504338) (C/C++),
[go-fuzz](https://github.com/dvyukov/go-fuzz-corpus/tree/86a5af9d6842f80b205a082538ea28f61bbb8ccb) or
[syzkaller](https://github.com/google/syzkaller/tree/7c7ded697e6322b0975f061b7e268fe44f585dab/prog/test)
(Go).

- [Install Docker](https://docs.docker.com/engine/installation)
  (Googlers can visit [go/installdocker](https://goto.google.com/installdocker)).
  [Why Docker?]({{ site.baseurl }}/faq/#why-do-you-use-docker)

  If you want to run `docker` without `sudo`, you can
  [create a docker group](https://docs.docker.com/engine/installation/linux/ubuntulinux/#/create-a-docker-group).

  **Note:** Docker images can consume significant disk space. Run
  [docker-cleanup](https://gist.github.com/mikea/d23a839cba68778d94e0302e8a2c200f)
  periodically to garbage-collect unused images.

- (optional) [Install gsutil](https://cloud.google.com/storage/docs/gsutil_install) for local code coverage testing.
  For Google internal (gLinux) machines, please refer [here](https://cloud.google.com/storage/docs/gsutil_install#deb) instead.

## Creating the file structure

Each OSS-Fuzz project has a subdirectory
inside the [`projects/`](https://github.com/google/oss-fuzz/tree/master/projects) directory in the [OSS-Fuzz repository](https://github.com/google/oss-fuzz). For example, the [boringssl](https://github.com/google/boringssl)
project is located in [`projects/boringssl`](https://github.com/google/oss-fuzz/tree/master/projects/boringssl).

Each project directory also contains the following three configuration files:

* [project.yaml](#projectyaml) - provides metadata about the project.
* [Dockerfile](#dockerfile) - defines the container environment with information
on dependencies needed to build the project and its [fuzz targets]({{ site.baseurl }}/reference/glossary/#fuzz-target).
* [build.sh](#buildsh) - defines the build script that executes inside the Docker container and
generates the project build.

You can automatically create a new directory for your project in OSS-Fuzz and
generate templated versions of the configuration files
by running the following commands:

```bash
$ cd /path/to/oss-fuzz
$ export PROJECT_NAME=<project_name>
$ export LANGUAGE=<project_language>
$ python3 infra/helper.py generate $PROJECT_NAME --language=$LANGUAGE
```

Once the template configuration files are created, you can modify them to fit your project.

**Note:** We prefer that you keep and maintain [fuzz targets]({{ site.baseurl }}/reference/glossary/#fuzz-target) in your own source code repository. If this isn't possible, you can store them inside the OSS-Fuzz project directory you created.

## project.yaml {#projectyaml}

This configuration file stores project metadata. The following attributes are supported:

- [homepage](#homepage)
- [language](#language)
- [primary_contact](#primary)
- [auto_ccs](#auto_ccs)
- [main_repo](#main_repo)
- [vendor_ccs](#vendor) (optional)
- [sanitizers](#sanitizers) (optional)
- [architectures](#architectures) (optional)
- [help_url](#help_url) (optional)
- [builds_per_day](#build_frequency) (optional)
- [file_github_issue](#file_github_issue) (optional)
- [disable_remediation](#disable_remediation) (optional)

### homepage
You project's homepage.

### language

Programming language the project is written in. Values you can specify include:

* `c`
* `c++`
* [`go`]({{ site.baseurl }}//getting-started/new-project-guide/go-lang/)
* [`rust`]({{ site.baseurl }}//getting-started/new-project-guide/rust-lang/)
* [`python`]({{ site.baseurl }}//getting-started/new-project-guide/python-lang/)
* [`jvm` (Java, Kotlin, Scala and other JVM-based languages)]({{ site.baseurl }}//getting-started/new-project-guide/jvm-lang/)
* [`swift`]({{ site.baseurl }}//getting-started/new-project-guide/swift-lang/)
* [`javascript`]({{ site.baseurl }}//getting-started/new-project-guide/javascript-lang/)
* [`lua`]({{ site.baseurl }}//getting-started/new-project-guide/lua-lang/)

### primary_contact, auto_ccs {#primary}
The primary contact and list of other contacts to be CCed. Each person listed gets access to ClusterFuzz, including crash reports and fuzzer statistics, and are auto-cced on new bugs filed in the OSS-Fuzz
tracker. If you're a primary or a CC, you'll need to use a [Google account](https://support.google.com/accounts/answer/176347?hl=en) to get full access. ([why?]({{ site.baseurl }}/faq/#why-do-you-require-a-google-account-for-authentication)).

### main_repo {#main_repo}
Path to source code repository hosting the code, e.g. `https://path/to/main/repo.git`. 

### vendor_ccs (optional) {#vendor}
The list of vendor email addresses that are downstream consumers of the project and want access to
the bug reports as they are filed.

Any changes to this list must follow these rules:
- Approved by the project maintainer (e.g. comment on pull request, reply on project mailing list).
- An organization email address is used.

### sanitizers (optional) {#sanitizers}
The list of sanitizers to use. Possible values are: `address`, `memory` and `undefined`.
If you don't specify a list, `sanitizers` uses a default list of supported
sanitizers (currently ["address"](https://clang.llvm.org/docs/AddressSanitizer.html) and
["undefined"](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html)).

[MemorySanitizer](https://clang.llvm.org/docs/MemorySanitizer.html) ("memory") is also supported
and recommended, but is not enabled by default due to the likelihood of false positives from
un-instrumented system dependencies.
If you want to use "memory," please build all libraries your project needs using
MemorySanitizer.
This can be done by building them with the compiler flags provided during
MemorySanitizer builds.
Then, you can opt in by adding "memory" to your list of sanitizers.

If your project does not build with a particular sanitizer configuration and you need some time to fix
it, you can use `sanitizers` to override the defaults temporarily. For example, to disable the
UndefinedBehaviourSanitizer build, just specify all supported sanitizers except "undefined".

If you want to test a particular sanitizer to see what crashes it generates without filing
them in the issue tracker, you can set an `experimental` flag. For example, if you want to test "memory", set `experimental: True` like this:

```
sanitizers:
 - address
 - memory:
    experimental: True
 - undefined
 ```

Crashes can be accessed on the [ClusterFuzz
homepage]({{ site.baseurl }}/further-reading/clusterfuzz#web-interface).

`sanitizers` example: [boringssl](https://github.com/google/oss-fuzz/blob/master/projects/boringssl/project.yaml).

### architectures (optional) {#architectures}
The list of architectures to fuzz on.
ClusterFuzz supports fuzzing on x86_64 (aka x64) by default.
Some projects can benefit from i386 fuzzing. OSS-Fuzz will build and run
AddressSanitizer with libFuzzer on i386 by doing the following:

```yaml
architectures:
 - x86_64
 - i386
 ```

By fuzzing on i386 you might find bugs that:
* Only occur in architecture-specific source code (e.g. code that contains i386 assembly).
* Exist in architecture-independent source code and which only affects i386 users.
* Exist in architecture-independent source code and which affects users on other 32-bit platforms such as AArch32 (aka 32-bit ARM).

Note that some bugs which affect x86_64 may be discovered on i386 and filed as such.
On the testcase page of each oss-fuzz issue is a list of other jobs where the crash reproduces, this can let you know if the crash exists on x86_64 as well.

Fuzzing on i386 is not enabled by default because many projects won't build for i386 without some modification to their OSS-Fuzz build process.
For example, you will need to link against `$LIB_FUZZING_ENGINE` and possibly install i386 dependencies within the x86_64 docker image ([for example](https://github.com/google/oss-fuzz/blob/5b8dcb5d942b3b8bc173b823fb9ddbdca7ec6c99/projects/gdal/build.sh#L18)) to get things working.

There are [known bugs](https://github.com/google/oss-fuzz/issues/2746) in ASAN
on i386 that cause ClusterFuzz to report unreproducible crashes for 0 length
testcases. There are no plans to fix these bugs so be ready for slightly more
false positives if you use i386. These false positives should be somewhat easy
to identify since they will manifest as crashes in ASAN rather than your code.

### fuzzing_engines (optional) {#fuzzing_engines}
The list of fuzzing engines to use.
By default, `libfuzzer`, `afl`, `honggfuzz`, and `centipede` are used. It is recommended to
use all of them if possible. `libfuzzer` is required by OSS-Fuzz.

### help_url (optional) {#help_url}
A link to a custom help URL that appears in bug reports instead of the default
[OSS-Fuzz guide to reproducing crashes]({{ site.baseurl }}/advanced-topics/reproducing/). This can be useful if you assign
bugs to members of your project unfamiliar with OSS-Fuzz, or if they should follow a different workflow for
reproducing and fixing bugs than the standard one outlined in the reproducing guide.

`help_url` example: [skia](https://github.com/google/oss-fuzz/blob/master/projects/skia/project.yaml).

### builds_per_day (optional) {#build_frequency}
The number of times the project should be built per day.
OSS-Fuzz allows upto 4 builds per day, and builds once per day by default.
Example:
```yaml
builds_per_day: 2
```

Will build the project twice per day.

### file_github_issue (optional) {#file_github_issue}
Whether to mirror issues on github instead of having them only in the OSS-Fuzz
tracker.

### disable_remediation (optional) {#disable_remediation}
Opt out of receiving remediation for all new and existing bugs. If remediation
is disabled, all disclosure notifications will not include any proposed code
changes. If enabled (default), proposed code changes and comments to remediate
bugs may be automatically included in disclosure that is private during the
embargo of each issue on a case-by-case basis basis.

## Dockerfile {#dockerfile}

This configuration file defines the Docker image for your project. Your [build.sh](#buildsh) script will be executed in inside the container you define.
For most projects, the image is simple:
```docker
FROM gcr.io/oss-fuzz-base/base-builder       # base image with clang toolchain
RUN apt-get update && apt-get install -y ... # install required packages to build your project
RUN git clone <git_url> <checkout_dir>       # checkout all sources needed to build your project
WORKDIR <checkout_dir>                       # current directory for the build script
COPY build.sh fuzzer.cc $SRC/                # copy build script and other fuzzer files in src dir
```
In the above example, the git clone will check out the source to `$SRC/<checkout_dir>`.

Depending on your project's language, you will use a different base image,
for instance `FROM gcr.io/oss-fuzz-base/base-builder-go` for golang.

For an example, see
[expat/Dockerfile](https://github.com/google/oss-fuzz/tree/master/projects/expat/Dockerfile)
or
[syzkaller/Dockerfile](https://github.com/google/oss-fuzz/blob/master/projects/syzkaller/Dockerfile).

In the case of a project with multiple languages/toolchains needed,
you can run installation scripts `install_lang.sh` where lang is the language needed.
You also need to setup environment variables needed by this toolchain, for example `GOPATH` is needed by golang.
For an example, see
[ecc-diff-fuzzer/Dockerfile](https://github.com/google/oss-fuzz/blob/master/projects/ecc-diff-fuzzer/Dockerfile).
where we use `base-builder-rust`and install golang

Runtime dependencies of your project, such as third-party static libraries, will
not be instrumented if you build them in the Dockerfile. In most cases, you will
want to build them in `build.sh` instead.

## build.sh {#buildsh}

This file defines how to build binaries for [fuzz targets]({{ site.baseurl }}/reference/glossary/#fuzz-target) in your project.
The script is executed within the image built from your [Dockerfile](#Dockerfile).

In general, this script should do the following:

- Build the project using your build system with the correct compiler.
- Provide compiler flags as [environment variables](#Requirements).
- Build your [fuzz targets]({{ site.baseurl }}/reference/glossary/#fuzz-target) and link your project's build with libFuzzer.

Resulting binaries should be placed in `$OUT`.

Here's an example from Expat ([source](https://github.com/google/oss-fuzz/blob/master/projects/expat/build.sh)):

```bash
#!/bin/bash -eu

./buildconf.sh
# configure scripts usually use correct environment variables.
./configure

make clean
make -j$(nproc) all

$CXX $CXXFLAGS -std=c++11 -Ilib/ \
    $SRC/parse_fuzzer.cc -o $OUT/parse_fuzzer \
    $LIB_FUZZING_ENGINE .libs/libexpat.a

cp $SRC/*.dict $SRC/*.options $OUT/
```

If your project is written in Go, check out the [Integrating a Go project]({{ site.baseurl }}//getting-started/new-project-guide/go-lang/) page.

**Note:**

1. Don't assume the fuzzing engine is libFuzzer by default, because we generate builds for libFuzzer, AFL++, Honggfuzz, and Centipede fuzzing engine configurations. Instead, link the fuzzing engine using $LIB_FUZZING_ENGINE.
2. Make sure that the binary names for your [fuzz targets]({{ site.baseurl }}/reference/glossary/#fuzz-target) contain only
alphanumeric characters, underscore(_) or dash(-). Otherwise, they won't run on our infrastructure.
3. Don't remove source code files. They are needed for code coverage.

### Temporarily disabling code instrumentation during builds

In some cases, it's not necessary to instrument every 3rd party library or tool that supports the build target. Use the following snippet to build tools or libraries without instrumentation:


```
CFLAGS_SAVE="$CFLAGS"
CXXFLAGS_SAVE="$CXXFLAGS"
unset CFLAGS
unset CXXFLAGS
export AFL_NOOPT=1

#
# build commands here that should not result in instrumented code.
#

export CFLAGS="${CFLAGS_SAVE}"
export CXXFLAGS="${CXXFLAGS_SAVE}"
unset AFL_NOOPT
```

### build.sh script environment

When your build.sh script is executed, the following locations are available within the image:

| Location| Env Variable | Description |
|---------| ------------ | ----------  |
| `/out/` | `$OUT`         | Directory to store build artifacts (fuzz targets, dictionaries, options files, seed corpus archives). |
| `/src/` | `$SRC`         | Directory to checkout source files. |
| `/work/`| `$WORK`        | Directory to store intermediate files. |

Although the files layout is fixed within a container, environment variables are
provided so you can write retargetable scripts.

In case your fuzz target uses the [FuzzedDataProvider] class, make sure it is
included via `#include <fuzzer/FuzzedDataProvider.h>` directive.

[FuzzedDataProvider]: https://github.com/google/fuzzing/blob/master/docs/split-inputs.md#fuzzed-data-provider

### build.sh requirements {#Requirements}

Only binaries without an extension are accepted as targets. Extensions are reserved for other artifacts, like .dict.

You *must* use the special compiler flags needed to build your project and fuzz targets.
These flags are provided in the following environment variables:

| Env Variable           | Description
| -------------          | --------
| `$CC`, `$CXX`, `$CCC`  | The C and C++ compiler binaries.
| `$CFLAGS`, `$CXXFLAGS` | C and C++ compiler flags.
| `$LIB_FUZZING_ENGINE`  | C++ compiler argument to link fuzz target against the prebuilt engine library (e.g. libFuzzer).

You *must* use `$CXX` as a linker, even if your project is written in pure C.

Most well-crafted build scripts will automatically use these variables. If not,
pass them manually to the build tool.

See the [Provided Environment Variables](https://github.com/google/oss-fuzz/blob/master/infra/base-images/base-builder/README.md#provided-environment-variables) section in
`base-builder` image documentation for more details.

### Static and dynamic linking of libraries
The `build.sh` should produce fuzzers that are statically linked. This is because the
fuzzer build environment is different to the fuzzer runtime environment and if your
project depends on third party libraries then it is likely they will not be present
in the execution environment. Thus, any shared libraries you may install or compile in
`build.sh` or `Dockerfile` will not be present in the fuzzer runtime environment. There
are exceptions to this rule, and for further information on this please see the [fuzzer environment]({{ site.baseurl }}/further-reading/fuzzer-environment/) page.

## Disk space restrictions

Our builders have a disk size of 250GB (this includes space taken up by the OS). Builds must keep peak disk usage below this.

In addition, please keep the size of the build (everything copied to `$OUT`) small (<10GB uncompressed). The build is repeatedly transferred and unzipped during fuzzing and runs on VMs with limited disk space.

## Fuzzer execution environment

For more on the environment that
your [fuzz targets]({{ site.baseurl }}/reference/glossary/#fuzz-target) run in, and the assumptions you can make, see the [fuzzer environment]({{ site.baseurl }}/further-reading/fuzzer-environment/) page.

## Testing locally

You can build your docker image and fuzz targets locally, so you can test them before you push them to the OSS-Fuzz repository.

1. Run the same helper script you used to create your directory structure, this time using it to build your docker image and [fuzz targets]({{ site.baseurl }}/reference/glossary/#fuzz-target):

    ```bash
    $ cd /path/to/oss-fuzz
    $ python3 infra/helper.py build_image $PROJECT_NAME
    $ python3 infra/helper.py build_fuzzers --sanitizer <address/memory/undefined> $PROJECT_NAME
    ```

    The built binaries appear in the `/path/to/oss-fuzz/build/out/$PROJECT_NAME`
    directory on your machine (and `$OUT` in the container).

    **Note:** You *must* run your fuzz target binaries inside the base-runner docker
    container to make sure that they work properly.

2. Find failures to fix by running the `check_build` command:

    ```bash
    $ python3 infra/helper.py check_build $PROJECT_NAME
    ```

3. If you want to test changes against a particular fuzz target, run the following command:

    ```bash
    $ python3 infra/helper.py run_fuzzer --corpus-dir=<path-to-temp-corpus-dir> $PROJECT_NAME <fuzz_target>
    ```

4. We recommend taking a look at your code coverage as a test to ensure that
your fuzz targets get to the code you expect. This would use the corpus
generated from the previous `run_fuzzer` step in your local corpus directory.

    ```bash
    $ python3 infra/helper.py build_fuzzers --sanitizer coverage $PROJECT_NAME
    $ python3 infra/helper.py coverage $PROJECT_NAME --fuzz-target=<fuzz_target> --corpus-dir=<path-to-temp-corpus-dir>
    ```

You may need to run `python3 infra/helper.py pull_images` to use the latest
coverage tools. Please refer to
[code coverage]({{ site.baseurl }}/advanced-topics/code-coverage/) for detailed
information on code coverage generation.


**Note:** Currently, we only support AddressSanitizer (address) and UndefinedBehaviorSanitizer (undefined)
configurations by default.
MemorySanitizer is recommended, but needs to be enabled manually since you must build all runtime dependencies with MemorySanitizer.
<b>Make sure to test each
of the supported build configurations with the above commands (build_fuzzers -> run_fuzzer -> coverage).</b>

If everything works locally, it should also work on our automated builders and ClusterFuzz. If you check in
your files and experience failures, review your [dependencies]({{ site.baseurl }}/further-reading/fuzzer-environment/#dependencies).

## Debugging Problems

If you run into problems, our [Debugging page]({{ site.baseurl }}/advanced-topics/debugging/) lists ways to debug your build scripts and
[fuzz targets]({{ site.baseurl }}/reference/glossary/#fuzz-target).

## Efficient fuzzing

To improve your fuzz target ability to find bugs faster, you should consider the
following ways:

### Seed Corpus

Most fuzzing engines use evolutionary fuzzing algorithms. Supplying a seed
corpus consisting of good sample inputs is one of the best ways to improve [fuzz
target]({{ site.baseurl }}/reference/glossary/#fuzz-target)'s coverage.

To provide a corpus for `my_fuzzer`, put `my_fuzzer_seed_corpus.zip` file next
to the [fuzz target]({{ site.baseurl }}/reference/glossary/#fuzz-target)'s binary in `$OUT` during the build. Individual files in this
archive will be used as starting inputs for mutations. You can store the corpus
next to source files, generate during build or fetch it using curl or any other
tool of your choice.
(example: [boringssl](https://github.com/google/oss-fuzz/blob/master/projects/boringssl/build.sh#L41)).

Seed corpus files will be used for cross-mutations and portions of them might appear
in bug reports or be used for further security research. It is important that corpus
has an appropriate and consistent license.

OSS-Fuzz only: See also [Accessing Corpora]({{ site.baseurl }}/advanced-topics/corpora/) for information about getting access to the corpus we are currently using for your fuzz targets.

### Dictionaries

Dictionaries hugely improve fuzzing efficiency for inputs with lots of similar
sequences of bytes. [libFuzzer documentation](https://llvm.org/docs/LibFuzzer.html#dictionaries)

Put your dict file in `$OUT`. If the dict filename is the same as your target
binary name (i.e. `%fuzz_target%.dict`), it will be automatically used. If the
name is different (e.g. because it is shared by several targets), specify this
in .options file:

```
[libfuzzer]
dict = dictionary_name.dict
```

It is common for several [fuzz targets]({{ site.baseurl }}/reference/glossary/#fuzz-target)
to reuse the same dictionary if they are fuzzing very similar inputs.
(example: [expat](https://github.com/google/oss-fuzz/blob/ad88a2e5295d91251d15f8a612758cd9e5ad92db/projects/expat/parse_fuzzer.options)).

### Input Size

By default, the fuzzing engine will generate input of any arbitrary length.
This might be useful to try corner cases that could lead to a
security vulnerability. However, if large inputs are not necessary to
increase the coverage of your target API, it is impo
Download .txt
Showing preview only (226K chars total). Download the full file or copy to clipboard to get everything.
gitextract_pywrjdt2/

├── .allstar/
│   └── binary_artifacts.yaml
├── .clusterfuzzlite/
│   ├── Dockerfile
│   ├── build.sh
│   ├── coverage_atheris_fuzzer.py
│   └── project.yaml
├── .dockerignore
├── .gitattributes
├── .github/
│   ├── header-checker-lint.yml
│   └── workflows/
│       ├── cflite_pr.yml
│       ├── check_base_os.yml
│       ├── codeql-analysis.yml
│       ├── index_build_tests.yml
│       ├── indexer_build.yml
│       ├── infra_tests.yml
│       ├── pr_helper.yml
│       ├── presubmit.yml
│       ├── project_tests.yml
│       └── ubuntu_version_sync.yml
├── .gitignore
├── .pylintrc
├── .style.yapf
├── AGENTS.md
├── CITATION.cff
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── docs/
│   ├── .gitignore
│   ├── 404.html
│   ├── Gemfile
│   ├── README.md
│   ├── _config.yml
│   ├── _sass/
│   │   └── color_schemes/
│   │       └── wider.scss
│   ├── advanced-topics/
│   │   ├── advanced_topics.md
│   │   ├── bug_fixing_guidance.md
│   │   ├── code_coverage.md
│   │   ├── corpora.md
│   │   ├── debugging.md
│   │   ├── fuzz_introspector.md
│   │   ├── ideal_integration.md
│   │   └── reproducing.md
│   ├── assets/
│   │   └── css/
│   │       └── just-the-docs-wider.scss
│   ├── faq.md
│   ├── further-reading/
│   │   ├── clusterfuzz.md
│   │   ├── further_reading.md
│   │   └── fuzzer_environment.md
│   ├── getting-started/
│   │   ├── accepting_new_projects.md
│   │   ├── bug_disclosure_guidelines.md
│   │   ├── continuous_integration.md
│   │   ├── getting_started.md
│   │   ├── integration_rewards.md
│   │   ├── new-project-guide/
│   │   │   ├── bazel.md
│   │   │   ├── go_lang.md
│   │   │   ├── javascript_lang.md
│   │   │   ├── jvm_lang.md
│   │   │   ├── lua_lang.md
│   │   │   ├── python_lang.md
│   │   │   ├── rust_lang.md
│   │   │   └── swift_lang.md
│   │   └── new_project_guide.md
│   ├── glossary.md
│   ├── ideal_integration.md
│   ├── index.md
│   ├── new_project_guide.md
│   ├── oss-fuzz/
│   │   └── architecture.md
│   ├── reference/
│   │   ├── glossary.md
│   │   ├── reference.md
│   │   └── useful_links.md
│   ├── reproducing.md
│   └── research/
│       └── target_generation.md
├── infra/
│   ├── .dockerignore
│   ├── MAINTAINERS.csv
│   ├── README.md
│   ├── base-images/
│   │   ├── README.md
│   │   ├── all.sh
│   │   ├── base-builder/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── README.md
│   │   │   ├── afl_llvm22_patch.diff
│   │   │   ├── bazel.bazelrc
│   │   │   ├── bazel_build_fuzz_tests
│   │   │   ├── bisect_clang.py
│   │   │   ├── bisect_clang_test.py
│   │   │   ├── cargo
│   │   │   ├── compile
│   │   │   ├── compile_afl
│   │   │   ├── compile_centipede
│   │   │   ├── compile_fuzztests.sh
│   │   │   ├── compile_go_fuzzer
│   │   │   ├── compile_honggfuzz
│   │   │   ├── compile_javascript_fuzzer
│   │   │   ├── compile_libfuzzer
│   │   │   ├── compile_native_go_fuzzer
│   │   │   ├── compile_native_go_fuzzer_v2
│   │   │   ├── compile_python_fuzzer
│   │   │   ├── debug_afl
│   │   │   ├── detect_repo.py
│   │   │   ├── detect_repo_test.py
│   │   │   ├── go_utils.sh
│   │   │   ├── indexer/
│   │   │   │   ├── README.md
│   │   │   │   ├── clang_wrapper.py
│   │   │   │   ├── clang_wrapper_test.py
│   │   │   │   ├── coverage.cc
│   │   │   │   ├── dwarf_info.py
│   │   │   │   ├── dwarf_info_diff.py
│   │   │   │   ├── fuzzing_engine.cc
│   │   │   │   ├── ignored_deps.json
│   │   │   │   ├── index_build.py
│   │   │   │   ├── index_build_test.py
│   │   │   │   ├── manifest_constants.py
│   │   │   │   ├── manifest_types.py
│   │   │   │   └── utils.py
│   │   │   ├── install_deps.sh
│   │   │   ├── install_deps_ubuntu-20-04.sh
│   │   │   ├── install_deps_ubuntu-24-04.sh
│   │   │   ├── install_go.sh
│   │   │   ├── install_java.sh
│   │   │   ├── install_javascript.sh
│   │   │   ├── install_python.sh
│   │   │   ├── install_ruby.sh
│   │   │   ├── install_rust.sh
│   │   │   ├── install_swift.sh
│   │   │   ├── install_swift_ubuntu-20-04.sh
│   │   │   ├── install_swift_ubuntu-24-04.sh
│   │   │   ├── jcc/
│   │   │   │   ├── build_jcc.bash
│   │   │   │   ├── go.mod
│   │   │   │   ├── jcc.go
│   │   │   │   ├── jcc2.go
│   │   │   │   ├── jcc_test.go
│   │   │   │   └── testdata/
│   │   │   │       ├── .gitignore
│   │   │   │       ├── cfile.c
│   │   │   │       ├── cpp.cc
│   │   │   │       └── path/
│   │   │   │           └── to/
│   │   │   │               └── header.h
│   │   │   ├── llvmsymbol.diff
│   │   │   ├── make_build_replayable.py
│   │   │   ├── ossfuzz_coverage_runner.go
│   │   │   ├── precompile_afl
│   │   │   ├── precompile_centipede
│   │   │   ├── precompile_honggfuzz
│   │   │   ├── precompile_honggfuzz_ubuntu_20_04
│   │   │   ├── precompile_honggfuzz_ubuntu_24_04
│   │   │   ├── python_coverage_helper.py
│   │   │   ├── replay_build.sh
│   │   │   ├── sanitizers/
│   │   │   │   └── pysecsan/
│   │   │   │       ├── .gitignore
│   │   │   │       ├── LICENSE
│   │   │   │       ├── README.md
│   │   │   │       ├── pyproject.toml
│   │   │   │       ├── pysecsan/
│   │   │   │       │   ├── __init__.py
│   │   │   │       │   ├── command_injection.py
│   │   │   │       │   ├── redos.py
│   │   │   │       │   ├── sanlib.py
│   │   │   │       │   └── yaml_deserialization.py
│   │   │   │       ├── setup.py
│   │   │   │       └── tests/
│   │   │   │           ├── README.md
│   │   │   │           ├── eval_command_injection.py
│   │   │   │           ├── os_command_injection.py
│   │   │   │           ├── poe/
│   │   │   │           │   ├── ansible-runner-cve-2021-4041/
│   │   │   │           │   │   ├── build.sh
│   │   │   │           │   │   └── fuzz_ansible_runner.py
│   │   │   │           │   ├── libvcs-cve-2022-21187/
│   │   │   │           │   │   ├── build.sh
│   │   │   │           │   │   └── fuzz_libvcs.py
│   │   │   │           │   ├── python-ldap-GHSL-2021-117/
│   │   │   │           │   │   ├── build.sh
│   │   │   │           │   │   └── fuzz_ldap.py
│   │   │   │           │   └── pytorch-lightning-1.5.10/
│   │   │   │           │       ├── build.sh
│   │   │   │           │       ├── fuzz_pytorch_lightning.dict
│   │   │   │           │       └── fuzz_pytorch_lightning.py
│   │   │   │           ├── subprocess_popen_injection.py
│   │   │   │           ├── yaml_deserialization_general.py
│   │   │   │           └── yaml_deserialization_simple.py
│   │   │   ├── srcmap
│   │   │   ├── test_data/
│   │   │   │   └── culprit-commit.txt
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   ├── ubuntu-24-04.Dockerfile
│   │   │   ├── unshallow_repos.py
│   │   │   └── write_labels.py
│   │   ├── base-builder-fuzzbench/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── fuzzbench_build
│   │   │   ├── fuzzbench_install_dependencies
│   │   │   ├── fuzzbench_install_dependencies_ubuntu_20_04
│   │   │   ├── fuzzbench_install_dependencies_ubuntu_24_04
│   │   │   ├── fuzzbench_measure
│   │   │   ├── fuzzbench_run_fuzzer
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-go/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── gosigfuzz.c
│   │   │   ├── ossfuzz_coverage_runner.go
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-javascript/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-jvm/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-python/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-ruby/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ruzzy-build
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-rust/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-builder-swift/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── llvmsymbol.diff
│   │   │   ├── precompile_swift
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-clang/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── README.md
│   │   │   ├── checkout_build_install_llvm.sh
│   │   │   ├── checkout_build_install_llvm_ubuntu_20_04.sh
│   │   │   ├── checkout_build_install_llvm_ubuntu_24_04.sh
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-image/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-runner/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── README.md
│   │   │   ├── bad_build_check
│   │   │   ├── coverage
│   │   │   ├── coverage_helper
│   │   │   ├── download_corpus
│   │   │   ├── generate_differential_cov_report.py
│   │   │   ├── gocoverage/
│   │   │   │   ├── go.mod
│   │   │   │   ├── go.sum
│   │   │   │   ├── gocovmerge/
│   │   │   │   │   ├── LICENSE
│   │   │   │   │   └── gocovmerge.go
│   │   │   │   ├── gocovsum/
│   │   │   │   │   └── gocovsum.go
│   │   │   │   └── pprof-merge/
│   │   │   │       ├── LICENSE
│   │   │   │       └── main.go
│   │   │   ├── install_deps.sh
│   │   │   ├── install_deps_ubuntu_20_04.sh
│   │   │   ├── install_deps_ubuntu_24_04.sh
│   │   │   ├── install_go.sh
│   │   │   ├── install_java.sh
│   │   │   ├── install_javascript.sh
│   │   │   ├── jacoco_report_converter.py
│   │   │   ├── nyc_report_converter.py
│   │   │   ├── parse_options.py
│   │   │   ├── profraw_update.py
│   │   │   ├── python_coverage_runner_help.py
│   │   │   ├── rcfilt
│   │   │   ├── reproduce
│   │   │   ├── run_fuzzer
│   │   │   ├── ruzzy
│   │   │   ├── targets_list
│   │   │   ├── test_all.py
│   │   │   ├── test_all_test.py
│   │   │   ├── test_one.py
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── base-runner-debug/
│   │   │   ├── CHANGELOG.md
│   │   │   ├── Dockerfile
│   │   │   ├── ubuntu-20-04.Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   └── list_images.py
│   ├── bisector.py
│   ├── bisector_test.py
│   ├── build/
│   │   ├── blog/
│   │   │   ├── .gitignore
│   │   │   ├── Dockerfile
│   │   │   ├── build_blog.sh
│   │   │   ├── content/
│   │   │   │   ├── about.md
│   │   │   │   └── posts/
│   │   │   │       ├── introducing-java-auto-harnessing.md
│   │   │   │       ├── introducing-llm-based-harness-synthesis-for-unfuzzed-projects.md
│   │   │   │       ├── oss-fuzz-hello-world.md
│   │   │   │       └── oss-fuzz-integrations-via-agent-based-build-generation.md
│   │   │   └── hugo.toml
│   │   ├── build_status/
│   │   │   ├── Dockerfile
│   │   │   ├── cloudbuild.yaml
│   │   │   ├── fuzz_introspector_page_gen.py
│   │   │   ├── update_build_status.py
│   │   │   └── update_build_status_test.py
│   │   ├── functions/
│   │   │   ├── __init__.py
│   │   │   ├── base_images.py
│   │   │   ├── build_and_push_test_images.py
│   │   │   ├── build_and_run_coverage.py
│   │   │   ├── build_and_run_coverage_test.py
│   │   │   ├── build_lib.py
│   │   │   ├── build_project.py
│   │   │   ├── build_project_test.py
│   │   │   ├── datastore_entities.py
│   │   │   ├── deploy.sh
│   │   │   ├── fuzzbench.py
│   │   │   ├── fuzzbench_local_run.py
│   │   │   ├── fuzzbench_test.py
│   │   │   ├── gcb.py
│   │   │   ├── gcb_test.py
│   │   │   ├── index.yaml
│   │   │   ├── indexer_build_test.py
│   │   │   ├── main.py
│   │   │   ├── ood.Dockerfile
│   │   │   ├── ood_upload_corpus.py
│   │   │   ├── ood_upload_corpus_test.py
│   │   │   ├── ood_upload_testcase.py
│   │   │   ├── ood_upload_testcase_test.py
│   │   │   ├── oss_fuzz_on_demand.py
│   │   │   ├── project_experiment.py
│   │   │   ├── project_sync.py
│   │   │   ├── project_sync_test.py
│   │   │   ├── report_generator.py
│   │   │   ├── request_build.py
│   │   │   ├── request_build_test.py
│   │   │   ├── request_coverage_build.py
│   │   │   ├── request_coverage_build_test.py
│   │   │   ├── request_introspector_build.py
│   │   │   ├── request_introspector_build_test.py
│   │   │   ├── requirements.txt
│   │   │   ├── target_experiment.py
│   │   │   ├── test_data/
│   │   │   │   ├── expected_build_steps.json
│   │   │   │   ├── expected_build_steps_ubuntu_24_04.json
│   │   │   │   ├── expected_centipede_build_steps.json
│   │   │   │   ├── expected_coverage_build_steps.json
│   │   │   │   └── expected_trial_build_steps.json
│   │   │   ├── test_utils.py
│   │   │   ├── trial_build/
│   │   │   │   ├── Dockerfile
│   │   │   │   └── cloudbuild.yaml
│   │   │   ├── trial_build.py
│   │   │   └── trial_build_test.py
│   │   ├── fuzz-introspector-webapp/
│   │   │   ├── Dockerfile
│   │   │   └── cloudbuild.yaml
│   │   ├── request_all_builds.sh
│   │   ├── request_build.sh
│   │   └── status/
│   │       ├── bower.json
│   │       ├── deploy.sh
│   │       ├── index.html
│   │       ├── manifest.json
│   │       ├── polymer.json
│   │       └── src/
│   │           └── build-status/
│   │               └── build-status.html
│   ├── build_fuzzers.Dockerfile
│   ├── build_fuzzers.ubuntu-24-04.Dockerfile
│   ├── build_specified_commit.py
│   ├── build_specified_commit_test.py
│   ├── chronos/
│   │   ├── README.md
│   │   ├── __init__.py
│   │   ├── container_cache_build.sh
│   │   ├── container_coverage_collection.sh
│   │   ├── container_patch_replay_test.sh
│   │   ├── container_patch_tests_test.sh
│   │   ├── coverage_test_collection.py
│   │   ├── integrity_validator_check_replay.py
│   │   ├── integrity_validator_run_tests.py
│   │   ├── manager.py
│   │   └── requirements.txt
│   ├── ci/
│   │   ├── build.py
│   │   ├── build_test.py
│   │   ├── check_base_os.py
│   │   └── requirements.txt
│   ├── cifuzz/
│   │   ├── CHANGELOG
│   │   ├── actions/
│   │   │   ├── build_fuzzers/
│   │   │   │   └── action.yml
│   │   │   └── run_fuzzers/
│   │   │       └── action.yml
│   │   ├── affected_fuzz_targets.py
│   │   ├── affected_fuzz_targets_test.py
│   │   ├── base_runner_utils.py
│   │   ├── build-images.sh
│   │   ├── build_fuzzers.py
│   │   ├── build_fuzzers_entrypoint.py
│   │   ├── build_fuzzers_test.py
│   │   ├── cifuzz-base/
│   │   │   ├── Dockerfile
│   │   │   └── ubuntu-24-04.Dockerfile
│   │   ├── cifuzz_combined_entrypoint.py
│   │   ├── cifuzz_end_to_end_test.py
│   │   ├── cloudbuild.yaml
│   │   ├── clusterfuzz_deployment.py
│   │   ├── clusterfuzz_deployment_test.py
│   │   ├── config_utils.py
│   │   ├── config_utils_test.py
│   │   ├── continuous_integration.py
│   │   ├── continuous_integration_test.py
│   │   ├── docker.py
│   │   ├── docker_test.py
│   │   ├── environment.py
│   │   ├── example_cifuzz.yml
│   │   ├── external-actions/
│   │   │   ├── build_fuzzers/
│   │   │   │   └── action.yml
│   │   │   └── run_fuzzers/
│   │   │       └── action.yml
│   │   ├── filestore/
│   │   │   ├── __init__.py
│   │   │   ├── filesystem/
│   │   │   │   └── __init__.py
│   │   │   ├── git/
│   │   │   │   ├── __init__.py
│   │   │   │   └── git_test.py
│   │   │   ├── github_actions/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── github_actions_test.py
│   │   │   │   ├── github_api.py
│   │   │   │   ├── github_api_test.py
│   │   │   │   └── upload.js
│   │   │   ├── gitlab/
│   │   │   │   └── __init__.py
│   │   │   ├── gsutil/
│   │   │   │   └── __init__.py
│   │   │   └── no_filestore/
│   │   │       └── __init__.py
│   │   ├── filestore_utils.py
│   │   ├── filestore_utils_test.py
│   │   ├── fuzz_target.py
│   │   ├── fuzz_target_test.py
│   │   ├── generate_coverage_report.py
│   │   ├── generate_coverage_report_test.py
│   │   ├── get_coverage.py
│   │   ├── get_coverage_test.py
│   │   ├── http_utils.py
│   │   ├── http_utils_test.py
│   │   ├── logs.py
│   │   ├── package.json
│   │   ├── platform_config/
│   │   │   ├── __init__.py
│   │   │   ├── gcb.py
│   │   │   ├── github.py
│   │   │   ├── github_test.py
│   │   │   ├── gitlab.py
│   │   │   ├── platform_config_test.py
│   │   │   ├── prow.py
│   │   │   └── standalone.py
│   │   ├── requirements.txt
│   │   ├── run_cifuzz.py
│   │   ├── run_fuzzers.py
│   │   ├── run_fuzzers_entrypoint.py
│   │   ├── run_fuzzers_test.py
│   │   ├── sarif_utils.py
│   │   ├── sarif_utils_test.py
│   │   ├── test_data/
│   │   │   ├── TimeoutFuzzer.cpp
│   │   │   ├── build-out/
│   │   │   │   ├── example_crash_fuzzer
│   │   │   │   └── example_nocrash_fuzzer
│   │   │   ├── example_coverage_report_summary.json
│   │   │   ├── example_crash_fuzzer_bug_summary.txt
│   │   │   ├── example_crash_fuzzer_output.txt
│   │   │   ├── example_curl_cov.json
│   │   │   ├── example_curl_file_list.json
│   │   │   ├── example_curl_fuzzer_cov.json
│   │   │   ├── external-project/
│   │   │   │   ├── .clusterfuzzlite/
│   │   │   │   │   ├── Dockerfile
│   │   │   │   │   └── build.sh
│   │   │   │   ├── Makefile
│   │   │   │   ├── do_stuff_fuzzer.cpp
│   │   │   │   ├── do_stuff_fuzzer.dict
│   │   │   │   ├── my_api.cpp
│   │   │   │   ├── my_api.h
│   │   │   │   └── standalone_fuzz_target_runner.cpp
│   │   │   ├── memory/
│   │   │   │   └── build-out/
│   │   │   │       └── curl_fuzzer_memory
│   │   │   ├── msan_crash_fuzzer_bug_summary.txt
│   │   │   ├── msan_crash_fuzzer_output.txt
│   │   │   ├── sarif_utils_msan_stack.txt
│   │   │   ├── sarif_utils_only_llvmfuzzer_stack.txt
│   │   │   ├── sarif_utils_systemd_stack.txt
│   │   │   ├── timeout_fuzzer
│   │   │   └── undefined/
│   │   │       └── build-out/
│   │   │           └── curl_fuzzer_undefined
│   │   ├── test_helpers.py
│   │   └── workspace_utils.py
│   ├── common_utils.py
│   ├── constants.py
│   ├── experimental/
│   │   ├── SystemSan/
│   │   │   ├── Makefile
│   │   │   ├── PoEs/
│   │   │   │   ├── node-shell-quote-v1.7.3/
│   │   │   │   │   ├── Dockerfile
│   │   │   │   │   ├── Makefile
│   │   │   │   │   ├── build.sh
│   │   │   │   │   └── target.js
│   │   │   │   └── pytorch-lightning-1.5.10/
│   │   │   │       ├── Dockerfile
│   │   │   │       ├── Makefile
│   │   │   │       ├── build.sh
│   │   │   │       ├── fuzz_pytorch_lightning.py
│   │   │   │       └── vuln.dict
│   │   │   ├── README.md
│   │   │   ├── SystemSan.cpp
│   │   │   ├── inspect_dns.cpp
│   │   │   ├── inspect_dns.h
│   │   │   ├── inspect_utils.cpp
│   │   │   ├── inspect_utils.h
│   │   │   ├── target.cpp
│   │   │   ├── target_dns.cpp
│   │   │   ├── target_file.cpp
│   │   │   └── vuln.dict
│   │   ├── chronos/
│   │   │   ├── Dockerfile
│   │   │   ├── README.md
│   │   │   ├── build_all.sh
│   │   │   ├── build_cache_local.sh
│   │   │   ├── build_on_cloudbuild.sh
│   │   │   ├── check_tests.sh
│   │   │   ├── chronos.sh
│   │   │   ├── cloudbuild.yaml
│   │   │   ├── cloudbuild_all.yaml
│   │   │   ├── e2e-replay-build.sh
│   │   │   ├── match_artifacts.sh
│   │   │   ├── prepare-ccache
│   │   │   ├── prepare-replay-rebuild
│   │   │   └── requirements.txt
│   │   ├── contrib/
│   │   │   └── arvo/
│   │   │       ├── LICENSE
│   │   │       ├── __init__.py
│   │   │       ├── arvo_data.py
│   │   │       ├── arvo_reproducer.py
│   │   │       ├── arvo_reproducer_test.py
│   │   │       ├── arvo_utils.py
│   │   │       ├── component_fixes.json
│   │   │       ├── hacks/
│   │   │       │   ├── __init__.py
│   │   │       │   ├── cryptofuzz.py
│   │   │       │   ├── dlplibs.py
│   │   │       │   ├── duckdb.py
│   │   │       │   ├── ffmpeg.py
│   │   │       │   ├── ghostscript.py
│   │   │       │   ├── gnutls.py
│   │   │       │   ├── graphicsmagick.py
│   │   │       │   ├── imagemagick.py
│   │   │       │   ├── jbig2dec.py
│   │   │       │   ├── lcms.py
│   │   │       │   ├── libheif.py
│   │   │       │   ├── libredwg.py
│   │   │       │   ├── libreoffice.py
│   │   │       │   ├── libyang.py
│   │   │       │   ├── lwan.py
│   │   │       │   ├── openh264.py
│   │   │       │   ├── quickjs.py
│   │   │       │   ├── radare2.py
│   │   │       │   ├── skia.py
│   │   │       │   ├── uwebsockets.py
│   │   │       │   ├── wireshark.py
│   │   │       │   ├── wolfssl.py
│   │   │       │   └── yara.py
│   │   │       └── string_replacement.json
│   │   ├── mcp/
│   │   │   ├── .gitignore
│   │   │   ├── README.md
│   │   │   ├── client.py
│   │   │   ├── config.py
│   │   │   ├── oss_fuzz_server.py
│   │   │   └── requirements.txt
│   │   └── sanitizers/
│   │       └── ExecSan/
│   │           └── README.md
│   ├── helper.py
│   ├── helper_test.py
│   ├── indexer/
│   │   ├── CMakeLists.txt
│   │   ├── Dockerfile
│   │   ├── frontend/
│   │   │   ├── ast_visitor.cc
│   │   │   ├── ast_visitor.h
│   │   │   ├── common.cc
│   │   │   ├── common.h
│   │   │   ├── frontend.cc
│   │   │   ├── frontend.h
│   │   │   ├── frontend_test.cc
│   │   │   ├── index_action.cc
│   │   │   ├── index_action.h
│   │   │   ├── pp_callbacks.cc
│   │   │   └── pp_callbacks.h
│   │   ├── index/
│   │   │   ├── file_copier.cc
│   │   │   ├── file_copier.h
│   │   │   ├── file_copier_unittest.cc
│   │   │   ├── in_memory_index.cc
│   │   │   ├── in_memory_index.h
│   │   │   ├── in_memory_index_unittest.cc
│   │   │   ├── sqlite.cc
│   │   │   ├── sqlite.h
│   │   │   ├── types.cc
│   │   │   ├── types.h
│   │   │   └── types_unittest.cc
│   │   ├── init.h
│   │   ├── main.cc
│   │   ├── merge_queue.cc
│   │   ├── merge_queue.h
│   │   ├── queue_state.cc
│   │   ├── queue_state.h
│   │   ├── ubuntu-20-04.Dockerfile
│   │   └── ubuntu-24-04.Dockerfile
│   ├── manifest.py
│   ├── pr_helper.py
│   ├── presubmit.py
│   ├── pytest.ini
│   ├── repo_manager.py
│   ├── repo_manager_test.py
│   ├── retry.py
│   ├── run_fuzzers.Dockerfile
│   ├── run_fuzzers.ubuntu-24-04.Dockerfile
│   ├── templates.py
│   ├── test
│   ├── test_repos.py
│   ├── tools/
│   │   ├── hold_back_images.py
│   │   └── wycheproof/
│   │       ├── .gitignore
│   │       ├── generate_job.py
│   │       ├── launcher.py
│   │       ├── package.bash
│   │       └── run.py
│   ├── uploader/
│   │   └── Dockerfile
│   ├── utils.py
│   └── utils_test.py
├── projects/
│   ├── abseil-cpp/
│   │   ├── BUILD
│   │   ├── Dockerfile
│   │   ├── WORKSPACE
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── string_escape_fuzzer.cc
│   │   └── string_utilities_fuzzer.cc
│   ├── abseil-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_argparse.py
│   │   └── project.yaml
│   ├── ada-url/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── adal/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_util.py
│   │   ├── fuzz_xmlutil.py
│   │   └── project.yaml
│   ├── aiohttp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_http_parser.py
│   │   ├── fuzz_http_payload_parser.py
│   │   ├── fuzz_multipart.py
│   │   ├── fuzz_payload_url.py
│   │   ├── fuzz_web_request.py
│   │   └── project.yaml
│   ├── airflow/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── dag_fuzz.py
│   │   └── project.yaml
│   ├── alembic/
│   │   ├── Dockerfile
│   │   ├── alembic_dump_info_fuzzer.cc
│   │   ├── build.sh
│   │   ├── fuzzer_temp_file.h
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── ampproject/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_patch.diff
│   │   └── project.yaml
│   ├── angle/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_sha1.cc
│   │   ├── fuzzer_profile
│   │   └── project.yaml
│   ├── angular/
│   │   ├── Dockerfile
│   │   ├── babel.config.json
│   │   ├── build.sh
│   │   ├── compiler/
│   │   │   └── fuzz_tests/
│   │   │       ├── fuzz_parse_template.js
│   │   │       └── fuzz_parser.js
│   │   └── project.yaml
│   ├── angus-mail/
│   │   ├── ASCIIUtilityFuzzer.java
│   │   ├── BASE64EncoderStreamFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── anise/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── aniso8601/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_aniso8601.py
│   │   └── project.yaml
│   ├── ansible/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_encrypt.py
│   │   ├── fuzz_encrypt.sh
│   │   ├── fuzz_parse.py
│   │   ├── fuzz_task.py
│   │   └── project.yaml
│   ├── antlr3-java/
│   │   ├── Dockerfile
│   │   ├── GrammarFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── antlr4-java/
│   │   ├── Dockerfile
│   │   ├── GrammarFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-axis2/
│   │   ├── Dockerfile
│   │   ├── axis-axis2-java-core-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               ├── org/
│   │   │               │   └── apache/
│   │   │               │       └── axis2/
│   │   │               │           └── HttpInterfaceFuzzer.java
│   │   │               └── samples/
│   │   │                   └── quickstart/
│   │   │                       └── service/
│   │   │                           └── pojo/
│   │   │                               └── StockQuoteService.java
│   │   ├── build.sh
│   │   ├── maven-settings.xml
│   │   └── project.yaml
│   ├── apache-commons-bcel/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   ├── remove-rat.diff
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── BcelFuzzer.java
│   ├── apache-commons-beanutils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── BeanutilsFuzzer.java
│   ├── apache-commons-cli/
│   │   ├── Dockerfile
│   │   ├── ParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-codec/
│   │   ├── BinaryEncodingFuzzer.java
│   │   ├── ChecksumFuzzer.java
│   │   ├── CryptFuzzer.java
│   │   ├── DigestUtilsFuzzer.java
│   │   ├── Dockerfile
│   │   ├── HmacUtilsFuzzer.java
│   │   ├── LanguageStringEncoderFuzzer.java
│   │   ├── MurmurHashFuzzer.java
│   │   ├── NetCodecFuzzer.java
│   │   ├── PhoneticEngineFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-collections/
│   │   ├── CollectionsBidiMapFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-compress/
│   │   ├── ArchiverArFuzzer.java
│   │   ├── ArchiverArjFuzzer.java
│   │   ├── ArchiverCpioFuzzer.java
│   │   ├── ArchiverDumpFuzzer.java
│   │   ├── ArchiverTarStreamFuzzer.java
│   │   ├── ArchiverZipStreamFuzzer.java
│   │   ├── BaseTests.java
│   │   ├── CompressSevenZFuzzer.java
│   │   ├── CompressTarFuzzer.java
│   │   ├── CompressZipFuzzer.java
│   │   ├── CompressorBZip2Fuzzer.java
│   │   ├── CompressorDeflate64Fuzzer.java
│   │   ├── CompressorGzipFuzzer.java
│   │   ├── CompressorLZ4Fuzzer.java
│   │   ├── CompressorPack200Fuzzer.java
│   │   ├── CompressorSnappyFuzzer.java
│   │   ├── CompressorZFuzzer.java
│   │   ├── Dockerfile
│   │   ├── README.md
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-configuration/
│   │   ├── Dockerfile
│   │   ├── INIConfigurationReadFuzzer.java
│   │   ├── INIConfigurationWriteFuzzer.java
│   │   ├── JSONConfigurationReadFuzzer.java
│   │   ├── JSONConfigurationWriteFuzzer.java
│   │   ├── XMLConfigurationLoadFuzzer.java
│   │   ├── XMLConfigurationWriteFuzzer.java
│   │   ├── YAMLConfigurationReadFuzzer.java
│   │   ├── YAMLConfigurationWriteFuzzer.java
│   │   ├── build.sh
│   │   ├── ini.dict
│   │   └── project.yaml
│   ├── apache-commons-csv/
│   │   ├── CSVParserFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-fileupload/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── Constants.java
│   │   │   │                       ├── FileUploadFuzzer.java
│   │   │   │                       ├── MockHttpServletRequest.java
│   │   │   │                       └── Util.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── apache-commons-geometry/
│   │   ├── Dockerfile
│   │   ├── GeometryObjFuzzer.java
│   │   ├── GeometryStlBinaryFuzzer.java
│   │   ├── GeometryStlTextFuzzer.java
│   │   ├── GeometryTextFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-imaging/
│   │   ├── Dockerfile
│   │   ├── ImagingBmpFuzzer.java
│   │   ├── ImagingGifFuzzer.java
│   │   ├── ImagingJpegFuzzer.java
│   │   ├── ImagingPngFuzzer.java
│   │   ├── ImagingTiffFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-io/
│   │   ├── Dockerfile
│   │   ├── FileComparatorFuzzer.java
│   │   ├── FileFilterFuzzer.java
│   │   ├── FileUtilsFuzzer.java
│   │   ├── GeneralUtilsFuzzer.java
│   │   ├── InputStreamFuzzer.java
│   │   ├── InputXmlFuzzer.java
│   │   ├── OutputStreamFuzzer.java
│   │   ├── PathUtilsFuzzer.java
│   │   ├── ReaderFuzzer.java
│   │   ├── WriterFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-jxpath/
│   │   ├── Dockerfile
│   │   ├── JXPathFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-lang/
│   │   ├── AnnotationUtilsFuzzer.java
│   │   ├── ArrayUtilsFuzzer.java
│   │   ├── BuilderFuzzer.java
│   │   ├── CharUtilsFuzzer.java
│   │   ├── ClassFuzzerBase.java
│   │   ├── ConversionFuzzer.java
│   │   ├── DateUtilsFuzzer.java
│   │   ├── Dockerfile
│   │   ├── EscapeHtmlFuzzer.java
│   │   ├── FractionFuzzer.java
│   │   ├── LocaleUtilsFuzzer.java
│   │   ├── MathUtilsFuzzer.java
│   │   ├── ReflectUtilsFuzzer.java
│   │   ├── SerializationUtilsFuzzer.java
│   │   ├── StringEscapeUtilsFuzzer.java
│   │   ├── StringUtilsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-logging/
│   │   ├── Dockerfile
│   │   ├── LoggingBasicFuzzer.java
│   │   ├── Package/
│   │   │   └── MyAppender.java
│   │   ├── build.sh
│   │   ├── log4j2-test.xml
│   │   └── project.yaml
│   ├── apache-commons-math/
│   │   ├── Dockerfile
│   │   ├── MathClusteringFuzzer.java
│   │   ├── MathDistanceMeasureFuzzer.java
│   │   ├── MathSimplexSolverFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-net/
│   │   ├── Base64Fuzzer.java
│   │   ├── Dockerfile
│   │   ├── MLSxEntryParserFuzzer.java
│   │   ├── NTFTPEntryParserFuzzer.java
│   │   ├── OS400FTPEntryParserFuzzer.java
│   │   ├── TelnetOptionFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-commons-text/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── StringSubstitutorFuzzer.java
│   │   │   │                       └── StringSubstitutorInterpolatorFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── apache-commons-validator/
│   │   ├── CreditCardValidatorFuzzer.java
│   │   ├── Dockerfile
│   │   ├── IBANValidatorFuzzer.java
│   │   ├── UrlValidator2Fuzzer.java
│   │   ├── UrlValidatorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-cxf/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── AttachmentDeserializerFuzzer.java
│   │   │   │                       ├── AttachmentSerializerDeserializerFuzzer.java
│   │   │   │                       ├── JsonMapObjectReaderWriterFuzzer.java
│   │   │   │                       └── XMLStreamReadersFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── apache-doris/
│   │   └── project.yaml
│   ├── apache-felix-dev/
│   │   ├── Dockerfile
│   │   ├── JSONParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── apache-httpd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_addr_parse.c
│   │   ├── fuzz_parse.c
│   │   ├── fuzz_preq.c
│   │   ├── fuzz_request.c
│   │   ├── fuzz_tokenize.c
│   │   ├── fuzz_uri.c
│   │   ├── fuzz_utils.c
│   │   └── project.yaml
│   ├── apache-logging-log4cxx/
│   │   ├── Dockerfile
│   │   ├── README.adoc
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── apache-poi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── resources/
│   │               └── log4j2.xml
│   ├── apache-tika/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── build_seeds.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── main/
│   │   │   │           ├── java/
│   │   │   │           │   └── com/
│   │   │   │           │       └── example/
│   │   │   │           │           ├── AudioVideoParsersFuzzer.java
│   │   │   │           │           ├── AutoDetectParserFuzzer.java
│   │   │   │           │           ├── CompressorParserFuzzer.java
│   │   │   │           │           ├── HtmlParserFuzzer.java
│   │   │   │           │           ├── ImageParsersFuzzer.java
│   │   │   │           │           ├── JackcessParserFuzzer.java
│   │   │   │           │           ├── OOXMLParserFuzzer.java
│   │   │   │           │           ├── OfficeParserFuzzer.java
│   │   │   │           │           ├── OneNoteParserFuzzer.java
│   │   │   │           │           ├── PDFParserFuzzer.java
│   │   │   │           │           ├── PackageParserFuzzer.java
│   │   │   │           │           ├── ParserFuzzer.java
│   │   │   │           │           ├── RFC822ParserFuzzer.java
│   │   │   │           │           ├── RTFParserFuzzer.java
│   │   │   │           │           ├── TextAndCSVParserFuzzer.java
│   │   │   │           │           └── XMLReaderUtilsFuzzer.java
│   │   │   │           └── resources/
│   │   │   │               ├── log4j2.xml
│   │   │   │               └── tika-config.xml
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── aptos-core/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── archaius-core/
│   │   ├── Dockerfile
│   │   ├── DynamicPropertyFuzzer.java
│   │   ├── build.sh
│   │   ├── pom-core.xml
│   │   └── project.yaml
│   ├── arduinojson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── argcomplete/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_shlex.py
│   │   └── project.yaml
│   ├── argo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── args/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── args4j/
│   │   ├── CmdLineParserFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── arrow/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── arrow-java/
│   │   ├── Dockerfile
│   │   ├── FuzzIpcFile.java
│   │   ├── FuzzIpcStream.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── arrow-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_datetime.py
│   │   ├── fuzz_tzinfo.py
│   │   └── project.yaml
│   ├── askama/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── asn1crypto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── aspectj/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── ASTFuzzer.java
│   ├── aspell/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── assimp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── astc-encoder/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── asteval/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_eval.py
│   │   └── project.yaml
│   ├── astro-compiler/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── astroid/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── asttokens/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_asttokens.py
│   │   └── project.yaml
│   ├── async-http-client/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── AsyncHttpClientFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── atomic/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── attrs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_attrs.py
│   │   └── project.yaml
│   ├── augeas/
│   │   ├── Dockerfile
│   │   ├── augeas_api_fuzzer.cc
│   │   ├── augeas_escape_name_fuzzer.cc
│   │   ├── augeas_fa_fuzzer.cc
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── autoflake/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fix_code.py
│   │   └── project.yaml
│   ├── autopep8/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fix_file.py
│   │   └── project.yaml
│   ├── avahi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── avro/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── AvroSerializationFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── azure-sdk-for-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_mgmt_serialization.py
│   │   └── project.yaml
│   ├── babel/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_lexer.py
│   │   ├── fuzz_profile.py
│   │   └── project.yaml
│   ├── bad_example/
│   │   ├── Dockerfile
│   │   ├── bad_example_fuzzer.cc
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bazel-rules-fuzzing-test/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bazel-rules-fuzzing-test-java/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bc-gh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bc-java/
│   │   ├── CMSEnvelopedDataParserFuzzer.java
│   │   ├── Dockerfile
│   │   ├── EncodingFuzzer.java
│   │   ├── PEMParserFuzzer.java
│   │   ├── X509CertPairParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bearssl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── behaviortreecpp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── bignum-fuzzer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bincode/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bind9/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── patch.diff
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── binutils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_addr2line.c
│   │   ├── fuzz_as.c
│   │   ├── fuzz_bfd.c
│   │   ├── fuzz_bfd_ext.c
│   │   ├── fuzz_disas_ext.c
│   │   ├── fuzz_disassemble.c
│   │   ├── fuzz_dlltool.c
│   │   ├── fuzz_dwarf.c
│   │   ├── fuzz_nm.c
│   │   ├── fuzz_objcopy.c
│   │   ├── fuzz_objdump.c
│   │   ├── fuzz_ranlib_simulation.c
│   │   ├── fuzz_readelf.c
│   │   ├── fuzz_strings.c
│   │   ├── fuzz_windres.c
│   │   └── project.yaml
│   ├── bios-bmc-smm-error-logger/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz-patch.diff
│   │   └── project.yaml
│   ├── bitcoin-core/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── descriptor_parse.options
│   │   ├── i2p.options
│   │   ├── miniscript_string.options
│   │   ├── process_messages.options
│   │   └── project.yaml
│   ├── black/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_format_filecontents.py
│   │   ├── fuzz_lib2to3_parse.py
│   │   ├── fuzz_raw_format_filecontents.py
│   │   └── project.yaml
│   ├── blackfriday/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── render_fuzzer.go
│   ├── bleach/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── linkify_fuzzer.py
│   │   ├── project.yaml
│   │   └── sanitize_fuzzer.py
│   ├── bloaty/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bls-signatures/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bluez/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_gobex.c
│   │   ├── fuzz_hci.c
│   │   ├── fuzz_sdp.c
│   │   ├── fuzz_textfile.c
│   │   ├── fuzz_xml.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── bmcweb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── content_type_fuzzer.cpp
│   │   ├── filter_expr_fuzzer.cpp
│   │   ├── json_html_serializer_fuzzer.cpp
│   │   ├── json_parser_fuzzer.cpp
│   │   ├── multipart_parser_fuzzer.cpp
│   │   └── project.yaml
│   ├── boost/
│   │   ├── Dockerfile
│   │   ├── boost_datetime_fuzzer.cc
│   │   ├── boost_filesystem_fuzzer.cc
│   │   ├── boost_graph_graphml_fuzzer.cc
│   │   ├── boost_graph_graphviz_fuzzer.cc
│   │   ├── boost_programoptions_fuzzer.cc
│   │   ├── boost_ptree_inforead_fuzzer.cc
│   │   ├── boost_ptree_iniread_fuzzer.cc
│   │   ├── boost_ptree_jsonread_fuzzer.cc
│   │   ├── boost_ptree_xmlread_fuzzer.cc
│   │   ├── boost_regex_fuzzer.cc
│   │   ├── boost_regex_pattern_fuzzer.cc
│   │   ├── boost_regex_replace_fuzzer.cc
│   │   ├── boost_stralg_fuzzer.cc
│   │   ├── boost_uuid_fuzzer.cc
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── boost-beast/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── boost-json/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── boringssl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_certs.cc
│   │   ├── fuzz_pkcs12.cc
│   │   ├── fuzz_pkcs8.cc
│   │   └── project.yaml
│   ├── botan/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── botocore/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_serialization.py
│   │   └── project.yaml
│   ├── bottleneck/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_bn.py
│   │   └── project.yaml
│   ├── brotli/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── brotli-java/
│   │   ├── Dockerfile
│   │   ├── FuzzDecode.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── brpc/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── brunsli/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── bs4/
│   │   ├── Dockerfile
│   │   ├── bs4_fuzzer.py
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bson-rust/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── burntsushi-toml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── bz2file/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_bz2file.py
│   │   └── project.yaml
│   ├── bzip2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── bzip2_compress_target.c
│   │   ├── bzip2_decompress_target.c
│   │   ├── bzip2_fd.c
│   │   ├── bzip2_filename.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── c-ares/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── c-blosc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── c-blosc2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cachetools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cached.py
│   │   └── project.yaml
│   ├── caddy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── caffeine/
│   │   ├── CaffeineSpecFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cairo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── targets/
│   │       ├── fuzzer_temp_file.h
│   │       ├── pdf_surface_fuzzer.c
│   │       ├── raster_fuzzer.c
│   │       ├── surface_write_png_fuzzer.c
│   │       └── text_glyphs_fuzzer.c
│   ├── calcite/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── CalciteFuzzer.java
│   │   │   │                       └── SqlParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── calcite-avatica/
│   │   ├── Base64Fuzzer.java
│   │   ├── ConnectStringParserFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── canvg/
│   │   ├── Dockerfile
│   │   ├── babel.config.json
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   ├── package.patch
│   │   └── project.yaml
│   ├── capnproto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── capstone/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cascadia/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── casync/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── catapult/
│   │   └── project.yaml
│   ├── cbor-java/
│   │   ├── Dockerfile
│   │   ├── FuzzDec.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cbor2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cctz/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cctz.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cel-cpp/
│   │   ├── .bazelrc
│   │   ├── BUILD
│   │   ├── Dockerfile
│   │   ├── MODULE.bazel
│   │   ├── WORKSPACE
│   │   ├── build.sh
│   │   ├── fuzz_parse.cc
│   │   └── project.yaml
│   ├── cel-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── cel-go-lpm.proto
│   │   ├── fuzz_compile.go
│   │   ├── fuzz_env.go
│   │   ├── fuzz_eval.go
│   │   ├── go-lpm.cc
│   │   └── project.yaml
│   ├── cert-manager/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pki_fuzzer.go
│   │   └── project.yaml
│   ├── cfengine/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── string_fuzzer.c
│   ├── cffi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_recompiler.py
│   │   └── project.yaml
│   ├── cgif/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cglib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── EnhancerFuzzer.java
│   ├── chardet/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_detector.py
│   │   └── project.yaml
│   ├── charset_normalizer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_normalize.py
│   │   └── project.yaml
│   ├── checker-framework/
│   │   ├── Dockerfile
│   │   ├── UtilCheckerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── checkstyle/
│   │   ├── CheckstyleFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── chrono/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cifuzz-example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cilium/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── circl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cirq/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_circuit.py
│   │   └── project.yaml
│   ├── civetweb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cjson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── clamav/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── clamav-scanfile-fuzzer.options
│   │   ├── project.yaml
│   │   └── replay_build.sh
│   ├── clib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── click/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── clickhouse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── clock/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── closure-compiler/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── ParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── closure-library/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── cloud-custodian/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_actions_parser.py
│   │   ├── fuzz_actions_process.py
│   │   ├── fuzz_actions_validate.py
│   │   ├── fuzz_filters_parser.py
│   │   ├── fuzz_filters_process.py
│   │   ├── fuzz_filters_validate.py
│   │   ├── fuzz_gcp_actions_validate_process.py
│   │   ├── fuzz_gcp_filters_validate_process.py
│   │   ├── fuzz_gcp_resources_process.py
│   │   ├── fuzz_query_parser.py
│   │   ├── fuzz_resources_parser.py
│   │   ├── fuzz_resources_process.py
│   │   ├── fuzz_resources_validate.py
│   │   └── project.yaml
│   ├── cloud-hypervisor/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cmake/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cmark/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── cmark_fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cockroachdb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── compress/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── config-validator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── configparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_dict.py
│   │   ├── fuzz_read.py
│   │   └── project.yaml
│   ├── connectedhomeip/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── connexion/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_query_resolving.py
│   │   └── project.yaml
│   ├── containerd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── coreutils/
│   │   └── project.yaml
│   ├── cosign/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cosmos-sdk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── coturn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── coveragepy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── cpp-httplib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cppcheck/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cppitertools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cppitertools.cpp
│   │   └── project.yaml
│   ├── cpuinfo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cpuinfo.c
│   │   └── project.yaml
│   ├── cpython3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cras/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cri-o/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── croaring/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cron-utils/
│   │   ├── CronParserFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── croniter/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_iter.py
│   │   ├── fuzz_match.py
│   │   ├── fuzz_range.py
│   │   └── project.yaml
│   ├── crossplane/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── crosvm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── crow/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cryptofuzz/
│   │   ├── Dockerfile
│   │   ├── README.md
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── xxd.c
│   ├── cryptography/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_aead.py
│   │   ├── fuzz_dh.py
│   │   ├── fuzz_dsa.py
│   │   ├── fuzz_rsa.py
│   │   ├── fuzz_sym.py
│   │   └── project.yaml
│   ├── cryptsetup/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cssselect/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   ├── fuzz_xpath.py
│   │   └── project.yaml
│   ├── cubefs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cups/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── test_patch.diff
│   ├── cups-filters/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cura-engine/
│   │   └── project.yaml
│   ├── curl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── curvesapi/
│   │   ├── Dockerfile
│   │   ├── ParseFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── cxxopts/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── cyclonedds/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── d3/
│   │   ├── Dockerfile
│   │   ├── babel.config.json
│   │   ├── build.sh
│   │   ├── fuzz_tests/
│   │   │   └── fuzz_csv_parse.js
│   │   └── project.yaml
│   ├── dapr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dart/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── patch.diff
│   │   └── project.yaml
│   ├── dask/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fuse.py
│   │   ├── fuzz_serialize.py
│   │   └── project.yaml
│   ├── data-encoding/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── date/
│   │   └── project.yaml
│   ├── dateparser/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── dav1d/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── linux32.meson
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── dbus-broker/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz-message.c
│   │   └── project.yaml
│   ├── dcmtk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── dcmtk_dicom_fuzzer.cc
│   │   ├── dcmtk_dicom_fuzzer.dict
│   │   ├── dcmtk_meta_fuzzer.cc
│   │   ├── make_seed_corpus.py
│   │   └── project.yaml
│   ├── decorator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decorator.py
│   │   ├── fuzz_funcmarker.py
│   │   └── project.yaml
│   ├── defusedxml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_etree_parse.py
│   │   ├── fuzz_parse_string.py
│   │   └── project.yaml
│   ├── demangle/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── deno/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dgraph/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser_test.go
│   │   └── project.yaml
│   ├── digest/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_digest.py
│   │   └── project.yaml
│   ├── dill/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_dumps.py
│   │   └── project.yaml
│   ├── distlib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_marker.py
│   │   ├── fuzz_metadata.py
│   │   └── project.yaml
│   ├── distribution/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── django/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dlplibs/
│   │   ├── Dockerfile
│   │   ├── abwfuzzer.options
│   │   ├── build.sh
│   │   ├── fb2fuzzer.options
│   │   ├── icu4c-ubsan.patch
│   │   ├── ofz2894.patch
│   │   ├── ofz3670.patch
│   │   ├── ofz4303.patch
│   │   ├── ofz4860.patch
│   │   ├── project.yaml
│   │   ├── vdxfuzzer.options
│   │   └── vsdxfuzzer.options
│   ├── dng_sdk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── dng_camera_profile_fuzzer.cpp
│   │   ├── dng_fixed_validate_fuzzer.cpp
│   │   ├── dng_stage_fuzzer.cpp
│   │   ├── dng_validate_fuzzer.cpp
│   │   └── project.yaml
│   ├── dnsmasq/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_auth.c
│   │   ├── fuzz_dhcp.c
│   │   ├── fuzz_dhcp6.c
│   │   ├── fuzz_header.h
│   │   ├── fuzz_patch.patch
│   │   ├── fuzz_rfc1035.c
│   │   ├── fuzz_util.cc
│   │   └── project.yaml
│   ├── dnspython/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_message.py
│   │   ├── fuzz_token.py
│   │   └── project.yaml
│   ├── docker-client/
│   │   ├── Dockerfile
│   │   ├── RegistryAuthFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── docutils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_rst.py
│   │   ├── fuzz_rst_parse.py
│   │   ├── fuzz_table.py
│   │   └── project.yaml
│   ├── dom4j/
│   │   ├── DOMReaderFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── double-conversion/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── string_to_double_fuzzer.cc
│   ├── dovecot/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dpp/
│   │   └── project.yaml
│   ├── draco/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dragonfly/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dropbear/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dropwizard/
│   │   ├── DefaultServerFactoryFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── duckdb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── dulwich/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── e2fsprogs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── ext2fs_check_directory_fuzzer.cc
│   │   │   ├── ext2fs_image_read_write_fuzzer.cc
│   │   │   └── ext2fs_read_bitmap_fuzzer.cc
│   │   └── project.yaml
│   ├── easywsclient/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── easyws_fuzzer.cpp
│   │   └── project.yaml
│   ├── ecc-diff-fuzzer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ecdsa-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_private_key.py
│   │   └── project.yaml
│   ├── eclipse-equinox/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── equinox-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── org/
│   │   │                   └── eclipse/
│   │   │                       └── osgi/
│   │   │                           └── ConditionInfoFuzzer.java
│   │   ├── maven-settings.xml
│   │   ├── maven-toolchains.xml
│   │   └── project.yaml
│   ├── edk2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── eigen/
│   │   ├── Dockerfile
│   │   ├── basicstuff_fuzzer.cc
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── solver_fuzzer.cc
│   ├── elfutils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz-dwfl-core.c
│   │   ├── fuzz-libdwfl.c
│   │   ├── fuzz-libelf.c
│   │   └── project.yaml
│   ├── envoy/
│   │   ├── Dockerfile
│   │   ├── WORKSPACE
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── esp-v2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── espeak-ng/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── et-xmlfile/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_write.py
│   │   └── project.yaml
│   ├── etcd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── evo-inflector/
│   │   ├── Dockerfile
│   │   ├── EnglishFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── my-api-repo/
│   │   │   ├── Makefile
│   │   │   ├── README.md
│   │   │   ├── do_stuff_fuzzer.cpp
│   │   │   ├── do_stuff_fuzzer.dict
│   │   │   ├── do_stuff_test_data/
│   │   │   │   ├── 410c23d234e7f97a2dd6265eb2909324deb8c13a
│   │   │   │   ├── 7a74862169c3375f4149daff75187cbca7372a38
│   │   │   │   ├── a835d6f1c6b2ae4a35e8c0a4a0576715c8b27283
│   │   │   │   ├── e8fb273916196a5e29967af0b5826daffb9b3765
│   │   │   │   └── fc09d362f05ab97efdfcd873dacad6a9c29e57ff
│   │   │   ├── do_stuff_unittest.cpp
│   │   │   ├── my_api.cpp
│   │   │   ├── my_api.h
│   │   │   └── standalone_fuzz_target_runner.cpp
│   │   └── project.yaml
│   ├── exiv2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── exp4j/
│   │   ├── Dockerfile
│   │   ├── ExpressionBuilderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── expat/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   ├── xml.dict
│   │   ├── xml_UTF_16.dict
│   │   ├── xml_UTF_16BE.dict
│   │   └── xml_UTF_16LE.dict
│   ├── expr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── exprtk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── exprtk_fuzzer.cpp
│   │   ├── exprtk_test_expressions.dict
│   │   └── project.yaml
│   ├── faad2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fabric/
│   │   ├── Dockerfile
│   │   ├── FuzzExtractFileEntries.options
│   │   ├── FuzzParseChaincodePackage.options
│   │   ├── FuzzPersistence.options
│   │   ├── build.sh
│   │   ├── ccprovider_fuzzer.go
│   │   ├── fabenc_fuzzer.go
│   │   ├── msp_fuzzer.go
│   │   ├── persistence_fuzzer.go
│   │   ├── policydsl_fuzzer.go
│   │   └── project.yaml
│   ├── face/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_command.py
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── fast-dds/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fast-xml-parser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── fast_float/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── fastcsv/
│   │   ├── CsvReaderFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fasthttp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fastify/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fastjson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fastjson2/
│   │   ├── Dockerfile
│   │   ├── JsonFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── feign/
│   │   ├── BodyTemplateFuzzer.java
│   │   ├── Dockerfile
│   │   ├── UriUtilsFuzzer.java
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── settings.xml
│   │   └── toolchains.xml
│   ├── ffmpeg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── group_seed_corpus.py
│   │   ├── name_mappings.py
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── ffms2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── ffms2_fuzzer.cc
│   │   └── project.yaml
│   ├── fftw3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fftw3_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── file/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer_temp_file.h
│   │   ├── magic_fuzzer.cc
│   │   ├── magic_fuzzer_fd.cc
│   │   ├── magic_fuzzer_loaddb.cc
│   │   └── project.yaml
│   ├── filelock/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_filelock.py
│   │   └── project.yaml
│   ├── filesystem_spec/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_http.py
│   │   └── project.yaml
│   ├── fio/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── fips203/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── firefox/
│   │   ├── Dockerfile
│   │   ├── ImageBMP.options
│   │   ├── ImageGIF.options
│   │   ├── SdpParser.options
│   │   ├── build.sh
│   │   ├── mozconfig.address
│   │   ├── mozconfig.coverage
│   │   ├── mozconfig.undefined
│   │   ├── project.yaml
│   │   └── target.c
│   ├── firestore/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── flac/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer_exo.cpp
│   │   └── project.yaml
│   ├── flask/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── cors_fuzz_flask.py
│   │   ├── fuzz_json.py
│   │   ├── fuzz_werkzeug_formparser.py
│   │   ├── fuzz_werkzeug_http.py
│   │   ├── fuzz_werkzeug_url.py
│   │   └── project.yaml
│   ├── flask-jwt-extended/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_jwt.py
│   │   └── project.yaml
│   ├── flask-restx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_reqparse.py
│   │   └── project.yaml
│   ├── flask-wtf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_flask_wtf.py
│   │   └── project.yaml
│   ├── flatbuffers/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── flate2-rs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── flex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── flex-patch.diff
│   │   ├── fuzz-main.c
│   │   ├── fuzz-main.options
│   │   ├── fuzz-scanopt.c
│   │   └── project.yaml
│   ├── fluent-bit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fluxcd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── flyway/
│   │   ├── Dockerfile
│   │   ├── LocationFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fmt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── fontations/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── freeimage/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── load_from_memory_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── freeradius/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── freerdp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── freetype2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── fribidi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── frr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── fsnotify/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── ftfy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fix.py
│   │   ├── fuzz_format.py
│   │   └── project.yaml
│   ├── fuzzing-puzzles/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fuzztest-example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzztest-enable-fuzzers.diff
│   │   └── project.yaml
│   ├── fuzztest-raksha/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── raksha-fuzztest.diff
│   ├── fuzzywuzzy/
│   │   ├── DiffUtilsFuzzer.java
│   │   ├── Dockerfile
│   │   ├── FuzzySearchFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── fwupd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── g-api-auth-httplib2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_http.py
│   │   └── project.yaml
│   ├── g-api-auth-library-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_jwt.py
│   │   ├── fuzz_jwt_roundtrip.py
│   │   └── project.yaml
│   ├── g-api-pubsub/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_msg.py
│   │   └── project.yaml
│   ├── g-api-py-api-common-protos/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_api.py
│   │   └── project.yaml
│   ├── g-api-py-oauthlib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_config.py
│   │   └── project.yaml
│   ├── g-api-python-bigquery-storage/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_avroparser.py
│   │   └── project.yaml
│   ├── g-api-python-client/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_mimeparser.py
│   │   └── project.yaml
│   ├── g-api-python-cloud-core/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_helpers.py
│   │   └── project.yaml
│   ├── g-api-python-firestore/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.py
│   │   └── project.yaml
│   ├── g-api-python-tasks/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cloudtask_client.py
│   │   └── project.yaml
│   ├── g-api-resource-manager/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_tag_values_client.py
│   │   └── project.yaml
│   ├── g-api-resumable-media-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_uploader.py
│   │   └── project.yaml
│   ├── g-api-secret-manager/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_client.py
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── g-apis-py-api-core/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_path_template.py
│   │   └── project.yaml
│   ├── g-auth-library-java/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── CredentialsFuzzer.java
│   │   │   │                       └── TokenVerifierFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── g-cloud-logging-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_entries.py
│   │   ├── fuzz_handlers.py
│   │   ├── fuzz_helpers.py
│   │   ├── fuzz_resources.py
│   │   └── project.yaml
│   ├── g-http-java-client/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JsonObjectParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── g-oauth-java-client/
│   │   ├── Dockerfile
│   │   ├── OauthSignerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── g-py-bigquery/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── g-py-crc32c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_checksum.py
│   │   └── project.yaml
│   ├── gast/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gateway/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── default.options
│   │   └── project.yaml
│   ├── gc-iam/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_credentials.py
│   │   └── project.yaml
│   ├── gcloud-error-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_util.py
│   │   └── project.yaml
│   ├── gcloud-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gcp-python-cloud-storage/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fileio.py
│   │   └── project.yaml
│   ├── gdal/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── gdbm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── gdk-pixbuf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── targets/
│   │       ├── animation_fuzzer.c
│   │       ├── fuzzer_temp_file.h
│   │       ├── pixbuf_cons_fuzzer.c
│   │       ├── pixbuf_file_fuzzer.c
│   │       ├── pixbuf_scale_fuzzer.c
│   │       └── stream_fuzzer.c
│   ├── genshi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_html.py
│   │   └── project.yaml
│   ├── geos/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── patch.diff
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── gfwx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ghostscript/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── dicts/
│   │   │   ├── pdf.dict
│   │   │   └── ps.dict
│   │   ├── gs_device_bmpmono_fuzzer.cc
│   │   ├── gs_device_eps2write_fuzzer.cc
│   │   ├── gs_device_faxg3_fuzzer.cc
│   │   ├── gs_device_pdfwrite_fuzzer.cc
│   │   ├── gs_device_pdfwrite_opts_fuzzer.cc
│   │   ├── gs_device_pgmraw_fuzzer.cc
│   │   ├── gs_device_png16m_fuzzer.cc
│   │   ├── gs_device_ps2write_fuzzer.cc
│   │   ├── gs_device_psdcmyk_fuzzer.cc
│   │   ├── gs_device_pxlcolor_fuzzer.cc
│   │   ├── gs_device_pxlmono_fuzzer.cc
│   │   ├── gs_device_tiffsep1_fuzzer.cc
│   │   ├── gs_device_xpswrite_fuzzer.cc
│   │   ├── gs_fuzzlib.h
│   │   ├── gstoraster_fuzzer.cc
│   │   ├── gstoraster_fuzzer_all_colors.cc
│   │   ├── gstoraster_fuzzer_all_colors.options
│   │   ├── gstoraster_pdf_fuzzer.cc
│   │   ├── gstoraster_ps_fuzzer.cc
│   │   ├── gstoraster_ps_fuzzer.options
│   │   └── project.yaml
│   ├── giflib/
│   │   ├── Dockerfile
│   │   ├── ProtoToGif.cpp
│   │   ├── ProtoToGif.h
│   │   ├── build.sh
│   │   ├── dgif_fuzz_common.cc
│   │   ├── dgif_fuzz_common.h
│   │   ├── dgif_protobuf_target.cc
│   │   ├── dgif_target.cc
│   │   ├── dgif_target.options
│   │   ├── egif_fuzz_common.cc
│   │   ├── egif_fuzz_common.h
│   │   ├── egif_target.cc
│   │   ├── gif_fuzz_proto.proto
│   │   └── project.yaml
│   ├── gimli/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── git/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── gitdb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_gitdb.py
│   │   └── project.yaml
│   ├── gitea/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── github_scarecrow/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fakelib.py
│   │   ├── project.yaml
│   │   └── shell_injection_poc_fuzzer.py
│   ├── gitoxide/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gitpython/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── glaze/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── glib/
│   │   ├── 0001-deflate-Zero-initialise-the-prev-and-window-buffers.patch
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── globaleaks-whistleblowing-software/
│   │   └── project.yaml
│   ├── glog/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── glom/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_core.py
│   │   ├── fuzz_glom.py
│   │   ├── fuzz_matching.py
│   │   ├── fuzz_mutation.py
│   │   ├── fuzz_reduction.py
│   │   └── project.yaml
│   ├── glslang/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── compile_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── gluon/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gnucobol/
│   │   └── project.yaml
│   ├── gnupg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decrypt.c
│   │   ├── fuzz_decrypt.options
│   │   ├── fuzz_import.c
│   │   ├── fuzz_list.c
│   │   ├── fuzz_list.options
│   │   ├── fuzz_verify.c
│   │   ├── fuzzer_stubs.c
│   │   ├── fuzzgnupg.diff
│   │   └── project.yaml
│   ├── gnutls/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-attestation/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-cmp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-coap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-containerregistry/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.go
│   │   └── project.yaml
│   ├── go-coredns/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-dhcp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-dns/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-ethereum/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── go-git/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-humanize/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-json-iterator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_json.go
│   │   └── project.yaml
│   ├── go-ldap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-ole/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-pprof/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-readline/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-redis/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-sftp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-shlex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── go-snappy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.go
│   │   └── project.yaml
│   ├── go-sqlite3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-toml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── go-yaml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── gobgp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gogo-protobuf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── goipp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── golang/
│   │   ├── Dockerfile
│   │   ├── aes_fuzzer.go
│   │   ├── build.sh
│   │   ├── dsa_fuzzer.go
│   │   ├── ecdsa_fuzzer.go
│   │   ├── elf_fuzzer.go
│   │   ├── encoding_fuzzer.go
│   │   ├── filepath_fuzzer.go
│   │   ├── fuzz_tar_reader.go
│   │   ├── fuzz_tar_reader.options
│   │   ├── fuzz_tiff_decode.options
│   │   ├── fuzz_webp_decode.options
│   │   ├── fuzz_x_h2c.options
│   │   ├── glob_fuzzer.options
│   │   ├── h2c_fuzzer.go
│   │   ├── language_fuzzer.go
│   │   ├── math_big_fuzzer.go
│   │   ├── multipart_fuzzer.go
│   │   ├── openpgp_fuzzer.go
│   │   ├── project.yaml
│   │   ├── regexp_fuzzer.go
│   │   ├── strings_fuzzer.go
│   │   ├── text_fuzzer.go
│   │   ├── tiff_fuzzer.go
│   │   ├── unicode_fuzzer.go
│   │   ├── webp_fuzzer.go
│   │   └── x509_fuzzer.go
│   ├── golang-appengine/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── golang-protobuf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gonids/
│   │   ├── 372f9bd.diff
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gopacket/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gopsutil/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── gosnmp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gpac/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gprof2dot/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_profile.py
│   │   └── project.yaml
│   ├── gpsd/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── graphicsmagick/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── graphql-java/
│   │   ├── Dockerfile
│   │   ├── GraphqlFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── greenmail/
│   │   ├── Dockerfile
│   │   ├── UserManagerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── grok/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── groovy/
│   │   ├── Dockerfile
│   │   ├── DurationFuzzer.java
│   │   ├── TestFuzzer.java
│   │   ├── add-shadow-to-test.diff
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── grpc-gateway/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── grpc-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_hello.go
│   │   └── project.yaml
│   ├── grpc-httpjson-transcoding/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── grpc-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_server.py
│   │   └── project.yaml
│   ├── grpc-swift/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gson/
│   │   ├── Dockerfile
│   │   ├── FuzzParse.java
│   │   ├── FuzzReader.java
│   │   ├── FuzzStreamParser.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gss-ntlmssp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzing/
│   │   │   ├── Makefile
│   │   │   ├── fuzz-accept-sec-context.c
│   │   │   └── fuzz-accept-sec-context.dict
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── gstreamer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── guava/
│   │   ├── Dockerfile
│   │   ├── HashingFuzzer.java
│   │   ├── HostAndPortFuzzer.java
│   │   ├── HostSpecifierFuzzer.java
│   │   ├── InetAddressesFuzzer.java
│   │   ├── InternetDomainNameFuzzer.java
│   │   ├── MediaTypeFuzzer.java
│   │   ├── UrlEscapersFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── guetzli/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── guice/
│   │   ├── Dockerfile
│   │   ├── InjectorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── gunicorn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_util.py
│   │   └── project.yaml
│   ├── gwt/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── JsParserFuzzer.java
│   │   │   │                       └── JsonFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── h11/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_h11.py
│   │   └── project.yaml
│   ├── h2database/
│   │   ├── CsvReadBackFuzzer.java
│   │   ├── CsvReadFuzzer.java
│   │   ├── Dockerfile
│   │   ├── ServerLoginFuzzer.java
│   │   ├── ShellFuzzer.java
│   │   ├── SqlPreparedStatementFuzzer.java
│   │   ├── SqlStatementFuzzer.java
│   │   ├── TestServer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── h2o/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── h2o-fuzzer-http1.options
│   │   ├── h2o-fuzzer-http2.options
│   │   ├── h2o-fuzzer-http3.options
│   │   ├── h2o-fuzzer-url.options
│   │   └── project.yaml
│   ├── h3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── h5py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_h5f.py
│   │   └── project.yaml
│   ├── hadoop/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── FileUtilFuzzer.java
│   │   │   │                       └── JavaSerializationFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── halide/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hamcrest/
│   │   ├── Dockerfile
│   │   ├── HamcrestFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── haproxy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cfg_parser.c
│   │   ├── fuzz_hpack_decode.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── harfbuzz/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── hb-raster-fuzzer.options
│   │   ├── hb-repacker-fuzzer.options
│   │   ├── hb-shape-fuzzer.options
│   │   ├── hb-subset-fuzzer.options
│   │   ├── hb-vector-fuzzer.options
│   │   └── project.yaml
│   ├── hcl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hdf5/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── h5_extended_fuzzer.c
│   │   ├── h5_read_fuzzer.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── hdrhistogram/
│   │   ├── Dockerfile
│   │   ├── LogReaderWriterFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── helm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hermes/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── preprocess-corpus.py
│   │   └── project.yaml
│   ├── hibernate-orm/
│   │   ├── Dockerfile
│   │   ├── PersistentClass.java
│   │   ├── PersistentClassFuzzer.java
│   │   ├── SerializableClass.java
│   │   ├── SessionFactoryBuilder.java
│   │   ├── TestServer.java
│   │   ├── add-shadow.diff
│   │   ├── build.sh
│   │   ├── hibernate.xml
│   │   ├── persistentClass.xml
│   │   └── project.yaml
│   ├── hibernate-validator/
│   │   ├── Dockerfile
│   │   ├── MappingParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── highwayhash/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── hikaricp/
│   │   ├── ClockFuzzer.java
│   │   ├── Dockerfile
│   │   ├── DriverDataSourceFuzzer.java
│   │   ├── PropertyElfFuzzer.java
│   │   ├── TestObject.java
│   │   ├── UtilityElfFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hiredis/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hiredis-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_reader.py
│   │   └── project.yaml
│   ├── hive/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── DeserializeFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── hoextdown/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── hoextdown.dict
│   │   ├── hoextdown_fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── hostap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hpn-ssh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── hsqldb/
│   │   ├── ConnectionOptionsFuzzer.java
│   │   ├── Dockerfile
│   │   ├── SqlPreparedStatementFuzzer.java
│   │   ├── SqlStatementFuzzer.java
│   │   ├── TestServer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── html2text/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_html2text.py
│   │   └── project.yaml
│   ├── html5lib-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── htmlunit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── htmlunit-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── ossfuzz/
│   │   │                   └── HtmlParserFuzzer.java
│   │   ├── maven-settings.xml
│   │   └── project.yaml
│   ├── htslib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── http-parser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── http-pattern-matcher/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── httparse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── httpcomponents-client/
│   │   ├── ByteArrayBodyWriteToFuzzer.java
│   │   ├── Dockerfile
│   │   ├── FileBodyWriteToFuzzer.java
│   │   ├── FormBodyPartBuilderBuildFuzzer.java
│   │   ├── HttpFuzzer.java
│   │   ├── InputStreamBodyWriteToFuzzer.java
│   │   ├── StringBodyWriteToFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── httpcomponents-core/
│   │   ├── ClassicHttpRequestFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── httpcore/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_http11.py
│   │   └── project.yaml
│   ├── httplib2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── httpretty/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_httpretty_e2e.py
│   │   └── project.yaml
│   ├── httpx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_api.py
│   │   ├── fuzz_decoders.py
│   │   ├── fuzz_url.py
│   │   └── project.yaml
│   ├── hugo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_pageparser.go
│   │   └── project.yaml
│   ├── hunspell/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── hwloc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── hwloc_fuzzer.c
│   │   ├── hwloc_fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── hyperium/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ibmswtpm2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer.cc
│   │   ├── no_writes.patch
│   │   └── project.yaml
│   ├── ical4j/
│   │   └── project.yaml
│   ├── icalendar/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── icu/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── idna/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_encode_decode.py
│   │   └── project.yaml
│   ├── igraph/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── ijson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_all.py
│   │   ├── fuzz_native_parser.py
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── image-png/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── image-rs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── imageio/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── imagemagick/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── immer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── importlib_metadata/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_importlib.py
│   │   └── project.yaml
│   ├── inchi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── inchi_input_fuzzer.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── influxdb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── iniconfig/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── inih/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── inihfuzz.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── ion-java/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── IonReaderFuzzer.java
│   │   │   │                       └── IonWriterFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── ipaddress/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_ip_address.py
│   │   ├── fuzz_ip_interface.py
│   │   ├── fuzz_ip_network.py
│   │   └── project.yaml
│   ├── iperf/
│   │   ├── Dockerfile
│   │   ├── auth_fuzzer.c
│   │   ├── build.sh
│   │   ├── cjson_fuzzer.c
│   │   └── project.yaml
│   ├── ipfs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ipp-usb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ipykernel/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_serialization_roundtrip.py
│   │   ├── fuzz_unpack_roundtrip.py
│   │   └── project.yaml
│   ├── ipython/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_inputsplitter.py
│   │   └── project.yaml
│   ├── iroha/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── irssi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── irssi-fuzz.options
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── theme-load-fuzz.dict
│   ├── isodate/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── istio/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── istio-ztunnel/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── itext7/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           ├── java/
│   │   │   │           │   └── com/
│   │   │   │           │       └── example/
│   │   │   │           │           └── PdfFuzzer.java
│   │   │   │           └── resources/
│   │   │   │               └── junit-platform.properties
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── itoa/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── itsdangerous/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_itsdangerous.py
│   │   └── project.yaml
│   ├── iverilog/
│   │   └── project.yaml
│   ├── ja3/
│   │   └── project.yaml
│   ├── jackson-core/
│   │   ├── DataInputFuzzer.java
│   │   ├── Dockerfile
│   │   ├── JsonFuzzer.java
│   │   ├── ParseNextTokenFuzzer.java
│   │   ├── UTF8GeneratorFuzzer.java
│   │   ├── WriterBasedJsonGeneratorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-databind/
│   │   ├── AdaLObjectReader3Fuzzer.java
│   │   ├── AdaLObjectReader3Fuzzer.options
│   │   ├── ConvertValueFuzzer.java
│   │   ├── Dockerfile
│   │   ├── ObjectReader2Fuzzer.java
│   │   ├── ObjectReaderFuzzer.java
│   │   ├── ObjectWriterFuzzer.java
│   │   ├── ReadTreeFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-dataformat-xml/
│   │   ├── Dockerfile
│   │   ├── FromXmlParserFuzzer.java
│   │   ├── ToXmlGeneratorFuzzer.java
│   │   ├── XmlDeserializerFuzzer.java
│   │   ├── XmlFuzzer.java
│   │   ├── XmlSerializerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-dataformats-binary/
│   │   ├── AvroGeneratorFuzzer.java
│   │   ├── AvroParserFuzzer.java
│   │   ├── CborFuzzer.java
│   │   ├── CborGeneratorFuzzer.java
│   │   ├── CborParserFuzzer.java
│   │   ├── DeserializerFuzzer.java
│   │   ├── Dockerfile
│   │   ├── IonGeneratorFuzzer.java
│   │   ├── IonParserFuzzer.java
│   │   ├── ProtobufParserFuzzer.java
│   │   ├── SerializerFuzzer.java
│   │   ├── SmileFuzzer.java
│   │   ├── SmileGeneratorFuzzer.java
│   │   ├── SmileParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-dataformats-text/
│   │   ├── CSVFuzzer.java
│   │   ├── DeserializerFuzzer.java
│   │   ├── Dockerfile
│   │   ├── PropertiesFuzzer.java
│   │   ├── SerializerFuzzer.java
│   │   ├── TOMLFuzzer.java
│   │   ├── YAMLFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-datatype-joda/
│   │   ├── Dockerfile
│   │   ├── JodaDeserializerFuzzer.java
│   │   ├── JodaMapperFuzzer.java
│   │   ├── JodaSerializerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-datatypes-collections/
│   │   ├── Dockerfile
│   │   ├── EclipseCollectionsDeserializerFuzzer.java
│   │   ├── EclipseCollectionsSerializerFuzzer.java
│   │   ├── GuavaDeserializerFuzzer.java
│   │   ├── GuavaSerializerFuzzer.java
│   │   ├── HppcDeserializerFuzzer.java
│   │   ├── HppcSerializerFuzzer.java
│   │   ├── PCollectionsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jackson-modules-java8/
│   │   ├── DatatypeFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jakarta-mail-api/
│   │   ├── Dockerfile
│   │   ├── HeaderTokenizerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── janet/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── janino/
│   │   ├── Dockerfile
│   │   ├── ExpressionEvaluatorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jansi/
│   │   ├── Dockerfile
│   │   ├── JansiFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jansson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── janus-gateway/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── java-diff-utils/
│   │   ├── DiffUtilsFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── java-example/
│   │   ├── Dockerfile
│   │   ├── ExampleFuzzTest.java
│   │   ├── ExampleFuzzer.java
│   │   ├── ExampleFuzzerNative.cpp
│   │   ├── ExampleFuzzerNative.h
│   │   ├── ExampleFuzzerNative.java
│   │   ├── ExampleValueProfileFuzzer.java
│   │   ├── MutatorFuzzTest.java
│   │   ├── build.sh
│   │   ├── default.options
│   │   └── project.yaml
│   ├── java-jwt/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JWTFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── java-uuid-generator/
│   │   ├── Dockerfile
│   │   ├── GeneratorsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── java-xmlbuilder/
│   │   ├── Dockerfile
│   │   ├── XmlBuilderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── javacpp/
│   │   ├── Dockerfile
│   │   ├── JavacppFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── javaparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── parseFuzzer.java
│   │   └── project.yaml
│   ├── javapoet/
│   │   ├── Dockerfile
│   │   ├── TypeSpecFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── javascript-example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_promise.js
│   │   ├── fuzz_string_compare.js
│   │   ├── fuzz_value_profiling.js
│   │   ├── package.json
│   │   └── project.yaml
│   ├── javassist/
│   │   ├── ClassFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml.diff
│   │   └── project.yaml
│   ├── javy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jaxb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── DataTypeConverterFuzzer.java
│   ├── jbig2dec/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── jbig2_fuzzer.cc
│   │   ├── jbig2_fuzzer.dict
│   │   ├── jbig2_fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── jboss-logging/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── LoggingFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── jc/
│   │   └── project.yaml
│   ├── jdom/
│   │   ├── Dockerfile
│   │   ├── SAXBuilderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jedi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_script.py
│   │   └── project.yaml
│   ├── jedis/
│   │   ├── Dockerfile
│   │   ├── JedisURIFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jerryscript/
│   │   └── project.yaml
│   ├── jersey/
│   │   ├── Dockerfile
│   │   ├── HttpHeaderReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jettison/
│   │   ├── Dockerfile
│   │   ├── JsonFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jetty/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── AbstractHttpClientServerTest.java
│   │   │   │                       ├── AbstractServerTest.java
│   │   │   │                       ├── HTTP2CServer.java
│   │   │   │                       ├── HTTP2CServerFuzzer.java
│   │   │   │                       ├── HttpClientFuzzer.java
│   │   │   │                       ├── HttpParserFuzzer.java
│   │   │   │                       ├── ServerHandlersFuzzer.java
│   │   │   │                       ├── SslConnectionFuzzer.java
│   │   │   │                       ├── URIUtilDecodePathFuzzer.java
│   │   │   │                       ├── WebAppDefaultServletFuzzer.java
│   │   │   │                       └── XmlParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── jflex/
│   │   ├── Dockerfile
│   │   ├── JflexFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jfreechart/
│   │   ├── DefaultCategoryDatasetChartFuzzer.java
│   │   ├── Dockerfile
│   │   ├── PieDatasetChartFuzzer.java
│   │   ├── TimeSeriesChartFuzzer.java
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── TestUtils.java
│   ├── jimfs/
│   │   ├── Dockerfile
│   │   ├── FileSystemFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jimp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── jinja2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_env_jinja_lexer.py
│   │   ├── fuzz_jinja_compile_expr.py
│   │   ├── fuzz_jinja_compile_templates.py
│   │   └── project.yaml
│   ├── jline3/
│   │   ├── Dockerfile
│   │   ├── LineReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jmespathpy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── jmh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── OptionsBuilderFuzzer.java
│   ├── joblib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_serialization_roundtrip.py
│   │   └── project.yaml
│   ├── joda-convert/
│   │   ├── Dockerfile
│   │   ├── FromStringFuzzer.java
│   │   ├── StringConvertFuzzer.java
│   │   ├── ToStringFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── joda-time/
│   │   ├── Dockerfile
│   │   ├── TimeFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jolt/
│   │   ├── Dockerfile
│   │   ├── JsonUtilsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── joni/
│   │   ├── AddrListFixFuzzer.java
│   │   ├── Dockerfile
│   │   ├── RegexMatcherFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jooq/
│   │   ├── Dockerfile
│   │   ├── GenerationToolFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jopt-simple/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── OptionParserFuzzer.java
│   ├── jose4j/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JsonUtilFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── jpeg-js/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.js
│   │   ├── fuzz_encode.js
│   │   └── project.yaml
│   ├── jpegoptim/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── jq/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── jq.dict
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── js-yaml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── jsc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsch/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── jsch-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── com/
│   │   │                   └── jcraft/
│   │   │                       └── jsch/
│   │   │                           └── OpenSSHConfigFuzzer.java
│   │   ├── maven-settings.xml
│   │   └── project.yaml
│   ├── jsemver/
│   │   ├── Dockerfile
│   │   ├── VersionFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsign/
│   │   ├── AuthenticodeAppxSignerFuzzer.java
│   │   ├── AuthenticodeCabSignerFuzzer.java
│   │   ├── AuthenticodeExeSignerFuzzer.java
│   │   ├── AuthenticodeMsiSignerFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsmin/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_minimize.py
│   │   └── project.yaml
│   ├── json/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer-parse.options
│   │   ├── parse_afl_fuzzer.dict
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── json-c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── json-flattener/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── FlattenFuzzer.java
│   │   │   │                       └── UnflattenFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── json-java/
│   │   ├── Dockerfile
│   │   ├── JsonJavaFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── json-patch/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_create_merge.go
│   │   ├── fuzz_decode_apply.go
│   │   └── project.yaml
│   ├── json-sanitizer/
│   │   ├── DenylistFuzzer.java
│   │   ├── Dockerfile
│   │   ├── IdempotenceFuzzer.java
│   │   ├── ValidJsonFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── json-simple/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       ├── JsonEncodeDecodeFuzzer.java
│   │   │   │                       └── JsonParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── json-smart-v2/
│   │   ├── Dockerfile
│   │   ├── JSONParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── json2avro/
│   │   ├── ConverterFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── json5format/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsoncons/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsoncpp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── json.proto
│   │   ├── json_proto_converter.cc
│   │   ├── json_proto_converter.h
│   │   ├── jsoncpp_fuzz_proto.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── jsonnet/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── convert_jsonnet_fuzzer_multi.cc
│   │   ├── convert_jsonnet_fuzzer_regular.cc
│   │   ├── convert_jsonnet_fuzzer_stream.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── jsonp-api/
│   │   ├── CreateJsonFuzzer.java
│   │   ├── Dockerfile
│   │   ├── GeneratorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsonparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsonpath/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           ├── java/
│   │           │   └── ossfuzz/
│   │           │       └── PathParserFuzzer.java
│   │           └── resources/
│   │               └── test.json
│   ├── jsonpickle/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsonschema/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsoup/
│   │   ├── CssHtmlFuzzer.java
│   │   ├── CssHtmlFuzzer.options
│   │   ├── Dockerfile
│   │   ├── FragmentHtmlFuzzer.java
│   │   ├── FragmentHtmlFuzzer.options
│   │   ├── HtmlFuzzer.java
│   │   ├── HtmlFuzzer.options
│   │   ├── XmlFuzzer.java
│   │   ├── XmlFuzzer.options
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jsqlparser/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JSqlParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── jstl-api/
│   │   ├── 0001-support-new-jdk.patch
│   │   ├── 0002-avoid-ConcurrentModificationException.patch
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── jstl-api-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── jakarta/
│   │   │                   └── servlet/
│   │   │                       └── jsp/
│   │   │                           └── ParserFuzzer.java
│   │   ├── maven-settings.xml
│   │   └── project.yaml
│   ├── jts/
│   │   ├── Dockerfile
│   │   ├── JtsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── juju/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── devices_fuzzer.go
│   │   └── project.yaml
│   ├── jul-to-slf4j/
│   │   ├── BridgeFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── junrar/
│   │   ├── Dockerfile
│   │   ├── JunrarFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jupyter-nbconvert/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_markdown_converter.py
│   │   └── project.yaml
│   ├── jupyter_server/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_serialization.py
│   │   └── project.yaml
│   ├── jupytext/
│   │   └── project.yaml
│   ├── jwt-verify-lib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── jxls/
│   │   ├── Dockerfile
│   │   ├── ProcessTemplateFuzzer.dict
│   │   ├── ProcessTemplateFuzzer.java
│   │   ├── build.patch
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kafka/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_consumer.py
│   │   ├── fuzz_producer.py
│   │   └── project.yaml
│   ├── kamailio/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── karchive/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── kcodecs/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── kde-thumbnailers/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kea/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── keras/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_model.py
│   │   ├── fuzz_serialization.py
│   │   └── project.yaml
│   ├── keycloak/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── keystone/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── kie-soup/
│   │   ├── CronExpressionFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kimageformats/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── kiwisolver/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_solver.py
│   │   └── project.yaml
│   ├── kmime/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── knative/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── knot-dns/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── krb5/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── kryo/
│   │   ├── DeserializeCollectionsFuzzer.java
│   │   ├── DeserializeNumbersFuzzer.java
│   │   ├── DeserializeStringFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kubearmor/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kubeedge/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kubeflow-katib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── generateNNImage_fuzzer.go
│   │   └── project.yaml
│   ├── kubeflow-model-registry/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── filter_fuzzer.go
│   │   └── project.yaml
│   ├── kubeflow-pipelines/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── expr_fuzzer.go
│   │   └── project.yaml
│   ├── kubeflow-spark-operator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── parseSecret_fuzzer.go
│   │   └── project.yaml
│   ├── kubernetes/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kubernetes-cluster-api/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kubevirt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── kyverno/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lame/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lark-parser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── lcms/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── cmsIT8_load_fuzzer.c
│   │   ├── cmsIT8_load_fuzzer.options
│   │   ├── cms_cgats_fuzzer.c
│   │   ├── cms_cie_cam02_fuzzer.c
│   │   ├── cms_devicelink_fuzzer.c
│   │   ├── cms_dict_fuzzer.c
│   │   ├── cms_gdb_fuzzer.c
│   │   ├── cms_md5_fuzzer.c
│   │   ├── cms_overwrite_transform_fuzzer.c
│   │   ├── cms_overwrite_transform_fuzzer.options
│   │   ├── cms_postscript_fuzzer.c
│   │   ├── cms_profile_fuzzer.c
│   │   ├── cms_transform_all_fuzzer.c
│   │   ├── cms_transform_extended_fuzzer.c
│   │   ├── cms_transform_fuzzer.c
│   │   ├── cms_transform_fuzzer.options
│   │   ├── cms_universal_transform_fuzzer.c
│   │   ├── cms_virtual_profile_fuzzer.c
│   │   ├── icc.dict
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── leptonica/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── leveldb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_db.cc
│   │   ├── fuzz_db.options
│   │   └── project.yaml
│   ├── libaom/
│   │   ├── Dockerfile
│   │   ├── README.md
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libarchive/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libarchive_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libass/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libass_fuzzer.options
│   │   └── project.yaml
│   ├── libavc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libavif/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libbpf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libcacard/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libcbor/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libcoap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libconfig/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libcst/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_transformer.py
│   │   └── project.yaml
│   ├── libcue/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libcups/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libdwarf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libecc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libevent/
│   │   ├── Dockerfile
│   │   ├── buffer_add_file_fuzzer.cc
│   │   ├── buffer_fuzzer.cc
│   │   ├── bufferevent_fuzzer.cc
│   │   ├── build.sh
│   │   ├── dns_config_fuzzer.cc
│   │   ├── fuzz_request_cb.c
│   │   ├── http_fuzzer.cc
│   │   ├── parse_query_fuzzer.cc
│   │   ├── project.yaml
│   │   └── utils_fuzzer.cc
│   ├── libexif/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── exif_from_data_fuzzer.cc
│   │   ├── exif_loader_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libfdk-aac/
│   │   ├── Dockerfile
│   │   ├── aacDecoder_ConfigRaw.cpp
│   │   ├── aacDecoder_DecodeFrame.cpp
│   │   ├── aacDecoder_Open.cpp
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libfido2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libfuse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_optparse.c
│   │   └── project.yaml
│   ├── libgd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── gd_image_string_fuzzer.cc
│   │   ├── parser_target.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libgit2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libheif/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libhevc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libhtp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libical/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libical_extended_fuzzer.cc
│   │   ├── libical_fuzzer.cc
│   │   ├── libicalvcard_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libidn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libidn2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── replay_build.sh
│   ├── libiec61850/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.options
│   │   └── project.yaml
│   ├── libigl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── igl_fuzzer.cpp
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libjpeg-turbo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libjxl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libldac/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libldac_encode_fuzzer.cc
│   │   └── project.yaml
│   ├── liblouis/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libmicrohttpd/
│   │   └── project.yaml
│   ├── libmicrohttpd2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── connection_helper.cpp
│   │   ├── connection_helper.h
│   │   ├── default.options
│   │   ├── fuzz_connection.cpp
│   │   ├── fuzz_crypto_ext.cpp
│   │   ├── fuzz_crypto_int.cpp
│   │   ├── fuzz_daemon.cpp
│   │   ├── fuzz_daemon.dict
│   │   ├── fuzz_daemon_connection.cpp
│   │   ├── fuzz_libinfo.cpp
│   │   ├── fuzz_mhd2.cpp
│   │   ├── fuzz_response.cpp
│   │   ├── fuzz_str.cpp
│   │   ├── mhd_helper.cpp
│   │   ├── mhd_helper.h
│   │   └── project.yaml
│   ├── libmodbus/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── FuzzClient.c
│   │   │   ├── FuzzServer.c
│   │   │   └── Makefile
│   │   └── project.yaml
│   ├── libmpeg2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── liboqs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libpcap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libpg_query/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libphonenumber/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libplist/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libpng/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── libpng-proto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libpng_transforms_fuzzer.cc
│   │   ├── png_fuzz_proto.proto
│   │   ├── png_proto_fuzzer_example.cc
│   │   ├── png_proto_mutator.cc
│   │   └── project.yaml
│   ├── libprotobuf-mutator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── expat_example.options
│   │   ├── libxml2_example.options
│   │   ├── project.yaml
│   │   └── xml.dict
│   ├── libproxy/
│   │   └── project.yaml
│   ├── libpsl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── config.site
│   │   ├── md5sum
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libra/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libraw/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libraw_fuzzer.cc
│   │   └── project.yaml
│   ├── librawspeed/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── librdkafka/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libredwg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── llvmfuzz.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libreoffice/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libressl/
│   │   ├── Dockerfile
│   │   ├── bignum.options
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── librosa/
│   │   └── project.yaml
│   ├── librsvg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── render_document.options
│   ├── libsass/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── data_context_fuzzer.cc
│   │   └── project.yaml
│   ├── libsndfile/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libsodium/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fake_random.h
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   ├── secret_key_auth_fuzzer.cc
│   │   └── secretbox_easy_fuzzer.cc
│   ├── libsoup/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libspdm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libspectre/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libspng/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libsrtp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libssh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libssh2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libstdcpp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libtasn1/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libteken/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libteken_fuzzer.c
│   │   └── project.yaml
│   ├── libtheora/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libtiff/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libtorrent/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libtpms/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libtsm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libtsm_fuzzer.c
│   │   └── project.yaml
│   ├── libucl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── ucl_add_string_fuzzer.options
│   ├── libultrahdr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libunwind/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_libunwind.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libusb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libusb_fuzzer.cc
│   │   └── project.yaml
│   ├── libvips/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libvnc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libvpx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── vpx_dec_fuzzer.dict
│   ├── libwebp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libwebsockets/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── lws_upng_inflate_fuzzer.cpp
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libxaac/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libxls/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libxlsxwriter/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libxml2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libxslt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libyal/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libyaml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libyaml_deconstructor_alt_fuzzer.c
│   │   ├── libyaml_deconstructor_fuzzer.c
│   │   ├── libyaml_dumper_fuzzer.c
│   │   ├── libyaml_emitter_fuzzer.c
│   │   ├── libyaml_fuzzer.options
│   │   ├── libyaml_loader_fuzzer.c
│   │   ├── libyaml_parser_fuzzer.c
│   │   ├── libyaml_reformatter_alt_fuzzer.c
│   │   ├── libyaml_reformatter_fuzzer.c
│   │   ├── libyaml_scanner_fuzzer.c
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   ├── yaml.dict
│   │   └── yaml_write_handler.h
│   ├── libyang/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── libyuv/
│   │   └── project.yaml
│   ├── libzip/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── libzmq/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── lighttpd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_burl.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── lima/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── linkerd2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── linkerd2-proxy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── rustc.py
│   ├── lit/
│   │   ├── Dockerfile
│   │   ├── babel.config.json
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── litmuschaos/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── llamacpp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzers/
│   │   │   ├── fuzz_apply_template.cpp
│   │   │   ├── fuzz_grammar.cpp
│   │   │   ├── fuzz_inference.cpp
│   │   │   ├── fuzz_json_to_grammar.cpp
│   │   │   ├── fuzz_load_model.cpp
│   │   │   ├── fuzz_structurally_created.cpp
│   │   │   ├── fuzz_structured.cpp
│   │   │   ├── fuzz_tokenizer.cpp
│   │   │   └── llama.dict
│   │   └── project.yaml
│   ├── lldb-eval/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── lldb_vs_lldb_eval_libfuzzer_test.options
│   │   └── project.yaml
│   ├── lldpd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── llhttp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── llvm/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── coverage_patcher.py
│   │   └── project.yaml
│   ├── llvm_libcxx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── llvm_libcxxabi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lodash/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── lodepng/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── log4j2/
│   │   ├── Dockerfile
│   │   ├── README.adoc
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── logback/
│   │   ├── Dockerfile
│   │   ├── JoranFuzzer.java
│   │   ├── build.sh
│   │   ├── logback.xml
│   │   └── project.yaml
│   ├── loki/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── looker-sdk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_looker.py
│   │   └── project.yaml
│   ├── lotus/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lua/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_lua.c
│   │   └── project.yaml
│   ├── lua-example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── compile_lua_fuzzer
│   │   ├── example_basic.lua
│   │   └── project.yaml
│   ├── lucene/
│   │   ├── CustomAnalyzerFuzzer.java
│   │   ├── Dockerfile
│   │   ├── IndexSearchFuzzer.java
│   │   ├── QueryParserFuzzer.java
│   │   ├── build.patch
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lwan/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lxc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lxml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_html_parse.py
│   │   ├── fuzz_sax.py
│   │   ├── fuzz_schematron.py
│   │   ├── fuzz_xml_parse.py
│   │   ├── fuzz_xmlschema.py
│   │   ├── fuzz_xslt.py
│   │   ├── project.yaml
│   │   └── test_utils.py
│   ├── lz4/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── lz4_flex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lzma/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── lzo/
│   │   ├── Dockerfile
│   │   ├── all_lzo_compress.cc
│   │   ├── build.sh
│   │   ├── lzo_compress_target.c
│   │   ├── lzo_compress_target.options
│   │   ├── lzo_decompress_target.c
│   │   ├── lzo_decompress_target.options
│   │   ├── lzo_decompress_target_seeds/
│   │   │   └── seed.lzo
│   │   └── project.yaml
│   ├── magic-enum/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── magic_enum_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── magic-modules/
│   │   └── project.yaml
│   ├── mako/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_lexer.py
│   │   └── project.yaml
│   ├── mandelbulber/
│   │   └── project.yaml
│   ├── mapserver/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── mariadb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_json.c
│   │   └── project.yaml
│   ├── mariadb-connector-j/
│   │   ├── Dockerfile
│   │   ├── MariaDbPoolDataSourceFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── markdown-it-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── markupsafe/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_encoding.py
│   │   └── project.yaml
│   ├── matio/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── matplotlib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_plt.py
│   │   └── project.yaml
│   ├── maven/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   ├── MojoDescriptorFuzzer.java
│   │                   └── ProjectArtifactMetadataFuzzer.java
│   ├── maven-model/
│   │   ├── Dockerfile
│   │   ├── Xpp3ReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mbedtls/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── mccabe/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_get_code_complexity.py
│   │   └── project.yaml
│   ├── md4c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── mdbook-i18n-helpers/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mdbtools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mdit-py-plugins/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_containers.py
│   │   ├── fuzz_plugins_individually.py
│   │   └── project.yaml
│   ├── mdurl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_mdurl.py
│   │   └── project.yaml
│   ├── memcached/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer_proxy.c
│   │   ├── fuzzer_proxy.options
│   │   ├── generate_corpus.py
│   │   ├── patch.diff
│   │   └── project.yaml
│   ├── mercurial/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── meshoptimizer/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── metadata-extractor/
│   │   ├── Dockerfile
│   │   ├── ImageMetadataReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── metallb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mfcmapi/
│   │   └── project.yaml
│   ├── micronaut/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── migtd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── minify/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── miniz/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── miniz_oxide/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── minizip/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── moby/
│   │   ├── Dockerfile
│   │   ├── FuzzAdd.options
│   │   ├── backend_build_fuzzer.go
│   │   ├── build.sh
│   │   ├── containerstream_fuzzer.go
│   │   ├── daemon_fuzzer.go
│   │   ├── jsonmessage_fuzzer.go
│   │   ├── project.yaml
│   │   └── remotecontext_fuzzer.go
│   ├── model-transparency/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── monero/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_rpc.options
│   │   ├── fuzz_rpc_full.options
│   │   ├── fuzz_rpc_full_no_exceptions.options
│   │   ├── fuzz_zmq.options
│   │   └── project.yaml
│   ├── mongo-go-driver/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mongoose/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_netdriver_http.c
│   │   └── project.yaml
│   ├── more-itertools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_mi.py
│   │   └── project.yaml
│   ├── mosh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── mosquitto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mp4parse-rust/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── default.options
│   │   └── project.yaml
│   ├── mp4san/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mpg123/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── decode_fuzzer.cc
│   │   ├── project.yaml
│   │   └── read_fuzzer.c
│   ├── mpv/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mrab-regex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_match.py
│   │   ├── fuzz_regex.py
│   │   ├── fuzz_search.py
│   │   └── project.yaml
│   ├── mruby/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── ms-tpm-20-ref/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── libfuzzer.patch
│   │   ├── project.yaml
│   │   └── tpm_cmd.options
│   ├── msal/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_auth.py
│   │   ├── fuzz_tokencache.py
│   │   └── project.yaml
│   ├── msgpack-c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── msgpack-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_unpack.py
│   │   └── project.yaml
│   ├── msquic/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mtail/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── muduo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── muduo_http_fuzzer.cpp
│   │   └── project.yaml
│   ├── multidict/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_md.py
│   │   └── project.yaml
│   ├── multierr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── muparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── set_eval_fuzzer.cc
│   ├── mupdf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pdf_fuzzer.cc
│   │   ├── pdf_fuzzer.options
│   │   └── project.yaml
│   ├── mutagen/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── mvel/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── MvelFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── mxj/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.go
│   │   └── project.yaml
│   ├── myanmar-tools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mybatis-3/
│   │   ├── Dockerfile
│   │   ├── PooledDataSourceFuzzer.java
│   │   ├── ResolverUtilFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── mysql-connector-j/
│   │   ├── Dockerfile
│   │   ├── ServerLoginFuzzer.java
│   │   ├── SqlPreparedStatementFuzzer.java
│   │   ├── SqlStatementFuzzer.java
│   │   ├── TestServer.java
│   │   ├── build.sh
│   │   ├── entrypoint.sh
│   │   └── project.yaml
│   ├── mysql-server/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fix.diff
│   │   ├── project.yaml
│   │   └── targets/
│   │       ├── CMakeLists.txt
│   │       ├── README
│   │       ├── fuzz_docommand.cc
│   │       ├── fuzz_docommand.dict
│   │       ├── fuzz_docommand.options
│   │       ├── fuzz_initfile.cc
│   │       ├── fuzz_initfile.dict
│   │       ├── fuzz_initfile.options
│   │       ├── fuzz_mysqld.cc
│   │       ├── fuzz_mysqld.dict
│   │       ├── fuzz_mysqld.options
│   │       ├── fuzz_real_query.cc
│   │       ├── fuzz_stmt_fetch.cc
│   │       ├── init.sql
│   │       ├── initnopw.sql
│   │       ├── onefile.cc
│   │       ├── util_fuzz.cc
│   │       └── util_fuzz.h
│   ├── naga/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nanopb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nats/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nbclassic/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_cell.py
│   │   └── project.yaml
│   ├── nbformat/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_read.py
│   │   └── project.yaml
│   ├── nccl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_xml.cpp
│   │   └── project.yaml
│   ├── ndpi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── neomutt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── neqo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nestegg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── net-snmp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── mib.dict
│   │   └── project.yaml
│   ├── netaddr-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parsing.py
│   │   └── project.yaml
│   ├── netcdf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── netdata/
│   │   └── project.yaml
│   ├── nettle/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_dsa_openssl_private_key_from_der.c
│   │   ├── fuzz_dsa_sha1_keypair_from_sexp.c
│   │   ├── fuzz_dsa_sha256_keypair_from_sexp.c
│   │   ├── fuzz_dsa_signature_from_sexp.c
│   │   ├── fuzz_rsa_keypair_from_der.c
│   │   ├── fuzz_rsa_keypair_from_sexp.c
│   │   ├── fuzz_rsa_public_key_from_der.c
│   │   └── project.yaml
│   ├── netty/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── io/
│   │                   └── netty/
│   │                       ├── buffer/
│   │                       │   ├── ByteBufUtilFuzzer.java
│   │                       │   └── LongLongHashMapFuzzer.java
│   │                       └── handler/
│   │                           ├── HandlerFuzzerBase.java
│   │                           └── codec/
│   │                               └── http/
│   │                                   ├── HttpRequestDecoderFuzzer.java
│   │                                   └── cookie/
│   │                                       └── ServerCookieDecoderFuzzer.java
│   ├── netty-tcnative/
│   │   ├── Dockerfile
│   │   ├── NettyTcnativeFuzzer.java
│   │   ├── build.sh
│   │   ├── netty-patch.diff
│   │   └── project.yaml
│   ├── networkmanager/
│   │   └── project.yaml
│   ├── networkx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_graph6.py
│   │   ├── fuzz_graphml.py
│   │   ├── fuzz_sparse6.py
│   │   └── project.yaml
│   ├── nfstream/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pcap_fuzzer.py
│   │   └── project.yaml
│   ├── nghttp2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── nghttp2_fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── nginx/
│   │   ├── Dockerfile
│   │   ├── add_fuzzers.diff
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── http_request_fuzzer.cc
│   │   │   ├── http_request_fuzzer.dict
│   │   │   ├── http_request_proto.proto
│   │   │   └── wrappers.c
│   │   ├── make_fuzzers
│   │   └── project.yaml
│   ├── ngolo-fuzzing/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ngolo-fuzzing-x/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nimbus-jwt/
│   │   ├── 0001-disable-jar-signing.patch
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── maven-settings.xml
│   │   ├── nimbus-jwt-fuzzer/
│   │   │   ├── pom.xml
│   │   │   └── src/
│   │   │       └── main/
│   │   │           └── java/
│   │   │               └── com/
│   │   │                   └── nimbusds/
│   │   │                       └── jwt/
│   │   │                           └── JWTParserFuzzer.java
│   │   └── project.yaml
│   ├── ninja/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── njs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── node-xml2js/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parseString.js
│   │   └── project.yaml
│   ├── nodejs/
│   │   ├── Dockerfile
│   │   ├── add_fuzzers_to_node_gyp.go
│   │   ├── build.sh
│   │   ├── fuzz_sources/
│   │   │   ├── fuzz_ClientHelloParser.cc
│   │   │   ├── fuzz_blob.cc
│   │   │   ├── fuzz_buffer_compare.cc
│   │   │   ├── fuzz_buffer_equals.cc
│   │   │   ├── fuzz_buffer_includes.cc
│   │   │   ├── fuzz_cipheriv.cc
│   │   │   ├── fuzz_common.cc
│   │   │   ├── fuzz_common.h
│   │   │   ├── fuzz_createPrivateKeyDER.cc
│   │   │   ├── fuzz_createPrivateKeyJWK.cc
│   │   │   ├── fuzz_createPrivateKeyPEM.cc
│   │   │   ├── fuzz_diffieHellmanDER.cc
│   │   │   ├── fuzz_diffieHellmanJWK.cc
│   │   │   ├── fuzz_diffieHellmanPEM.cc
│   │   │   ├── fuzz_fs_write_open_read.cc
│   │   │   ├── fuzz_fs_write_read_append.cc
│   │   │   ├── fuzz_httpparser1.cc
│   │   │   ├── fuzz_js_format.h
│   │   │   ├── fuzz_js_precompiled.h
│   │   │   ├── fuzz_path_basename.cc
│   │   │   ├── fuzz_path_dirname.cc
│   │   │   ├── fuzz_path_extname.cc
│   │   │   ├── fuzz_path_format.cc
│   │   │   ├── fuzz_path_isAbsolute.cc
│   │   │   ├── fuzz_path_join.cc
│   │   │   ├── fuzz_path_normalize.cc
│   │   │   ├── fuzz_path_parse.cc
│   │   │   ├── fuzz_path_relative.cc
│   │   │   ├── fuzz_path_resolve.cc
│   │   │   ├── fuzz_path_toNamespacedPath.cc
│   │   │   ├── fuzz_querystring_parse.cc
│   │   │   ├── fuzz_quic_token.cc
│   │   │   ├── fuzz_sign_verify.cc
│   │   │   ├── fuzz_stream1.cc
│   │   │   ├── fuzz_string_decoder.cc
│   │   │   ├── fuzz_strings.cc
│   │   │   ├── fuzz_tls_socket_request.cc
│   │   │   ├── fuzz_v8_deserialize.cc
│   │   │   ├── fuzz_x509.cc
│   │   │   ├── fuzz_zlib_brotliCompress.cc
│   │   │   ├── fuzz_zlib_brotliDecompress.cc
│   │   │   ├── fuzz_zlib_createBrotliDecompress.cc
│   │   │   └── fuzz_zlib_gzip_createUnzip.cc
│   │   └── project.yaml
│   ├── nokogiri/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nom/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── notary/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── nss/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── ntlm-auth/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_ntlm_auth.py
│   │   └── project.yaml
│   ├── ntlm2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_auth.py
│   │   ├── fuzz_core.py
│   │   └── project.yaml
│   ├── ntopng/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ntp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── patch.diff
│   │   └── project.yaml
│   ├── ntpsec/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── FuzzClient.c
│   │   │   ├── FuzzExtens.c
│   │   │   ├── FuzzServer.c
│   │   │   ├── Makefile
│   │   │   └── setup.c
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── num-bigint/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── numactl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── numexpr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_numexpr.py
│   │   └── project.yaml
│   ├── numpy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_binary_loader.options
│   │   ├── fuzz_binary_loader.py
│   │   ├── fuzz_datetime.py
│   │   ├── fuzz_dtype.py
│   │   ├── fuzz_fromfile_loader.py
│   │   ├── fuzz_fromregex_loader.py
│   │   ├── fuzz_loader.py
│   │   └── project.yaml
│   ├── oak/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── oatpp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── oauth2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_helpers.py
│   │   └── project.yaml
│   ├── oauthlib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_oauth1_sig.py
│   │   └── project.yaml
│   ├── ogre/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── image_fuzz.cpp
│   │   ├── project.yaml
│   │   └── stream_fuzz.cpp
│   ├── ohc/
│   │   ├── Dockerfile
│   │   ├── OhcFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── okhttp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   ├── LoggingInterceptorFuzzer.java
│   │                   ├── NullLogger.java
│   │                   └── RequestFuzzer.java
│   ├── olefile/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_reader.py
│   │   └── project.yaml
│   ├── onednn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_json.cpp
│   │   └── project.yaml
│   ├── open-json/
│   │   ├── Dockerfile
│   │   ├── JsonTokenerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── open5gs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── open62541/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openapi-schema-validator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_general.py
│   │   ├── fuzz_structured.py
│   │   └── project.yaml
│   ├── openbabel/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── opencensus-cpp/
│   │   ├── .bazelrc
│   │   ├── Dockerfile
│   │   ├── WORKSPACE
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opencensus-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── opencensus-java/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JsonConversionFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── opencensus-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_trace.py
│   │   └── project.yaml
│   ├── opencsv/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── CSVReaderFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── opencv/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── core_fuzzer.cc
│   │   ├── filestorage_read_file_fuzzer.cc
│   │   ├── filestorage_read_filename_fuzzer.cc
│   │   ├── filestorage_read_string_fuzzer.cc
│   │   ├── fuzzer_temp_file.h
│   │   ├── generateusergallerycollage_fuzzer.cc
│   │   ├── imdecode_fuzzer.cc
│   │   ├── imencode_fuzzer.cc
│   │   ├── imread_fuzzer.cc
│   │   ├── project.yaml
│   │   └── readnetfromtensorflow_fuzzer.cc
│   ├── opendal/
│   │   ├── .fs.env
│   │   ├── .memory.env
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opendds/
│   │   └── project.yaml
│   ├── opendnp3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openexr/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── openfga/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openh264/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── decoder_fuzzer.cpp
│   │   └── project.yaml
│   ├── openjpeg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── openjph/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openkruise/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opennavsurf-bag/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── openpyxl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_basic.py
│   │   ├── fuzz_cellutil.py
│   │   ├── fuzz_chart.py
│   │   ├── fuzz_comment.py
│   │   ├── fuzz_formulae.py
│   │   ├── fuzz_load.py
│   │   ├── fuzz_sheet.py
│   │   ├── fuzz_sort.py
│   │   └── project.yaml
│   ├── opensc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── opensips/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opensk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openslide/
│   │   └── project.yaml
│   ├── openssh/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openssl/
│   │   ├── Dockerfile
│   │   ├── bignum.options
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── quic-srtm.options
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── opentelemetry/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── dict
│   │   └── project.yaml
│   ├── opentelemetry-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opentelemetry-go-contrib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── openthread/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── openvpn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── crypto_patch.txt
│   │   ├── fuzz.h
│   │   ├── fuzz_base64.c
│   │   ├── fuzz_buffer.c
│   │   ├── fuzz_crypto.c
│   │   ├── fuzz_dhcp.c
│   │   ├── fuzz_forward.c
│   │   ├── fuzz_header.h
│   │   ├── fuzz_list.c
│   │   ├── fuzz_misc.c
│   │   ├── fuzz_mroute.c
│   │   ├── fuzz_packet_id.c
│   │   ├── fuzz_proxy.c
│   │   ├── fuzz_randomizer.cpp
│   │   ├── fuzz_randomizer.h
│   │   ├── fuzz_route.c
│   │   ├── fuzz_verify_cert.c
│   │   ├── fuzz_verify_cert.h
│   │   └── project.yaml
│   ├── openvswitch/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── openweave/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── patch.diff
│   │   └── project.yaml
│   ├── openyurt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── opt_einsum/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser.py
│   │   └── project.yaml
│   ├── opus/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── opus_encode_fuzzer.cc
│   │   ├── opus_multistream_decode_fuzzer.cc
│   │   ├── opus_multistream_encode_fuzzer.cc
│   │   ├── opus_ossfuzz_utils.h
│   │   ├── opus_projection_decoder_fuzzer.cc
│   │   ├── opus_projection_encoder_fuzzer.cc
│   │   ├── opus_repacketizer_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── opusfile/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── opusfile_fuzzer.c
│   │   └── project.yaml
│   ├── oracle-py-cx/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_basic.py
│   │   └── project.yaml
│   ├── orjson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_orjson.py
│   │   └── project.yaml
│   ├── oscrypto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_asymmetric_load.py
│   │   ├── fuzz_keys.py
│   │   └── project.yaml
│   ├── osgi/
│   │   ├── CoreFilterFuzzer.java
│   │   ├── CoreVersionFuzzer.java
│   │   ├── CoreVersionRangeFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── osquery/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── oss-fuzz-example/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ossf-scorecard/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── probes_fuzzer.go
│   │   ├── project.yaml
│   │   └── yaml_fuzzer.go
│   ├── ostree/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz-bsdiff.c
│   │   ├── fuzz-repo.c
│   │   └── project.yaml
│   ├── ots/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── ots-fuzzer.options
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── ox-ruby/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.rb
│   │   ├── fuzz_sax_parse.rb
│   │   └── project.yaml
│   ├── oxia/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── p11-kit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── p9/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pacemaker/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── packaging/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_packaging.py
│   │   └── project.yaml
│   ├── pako/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── pandas/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_crosstab.py
│   │   ├── fuzz_interpolate.py
│   │   ├── fuzz_json_parser.py
│   │   ├── fuzz_melt_map.py
│   │   ├── fuzz_python_parser.py
│   │   ├── fuzz_replace.py
│   │   ├── fuzz_textreader_parser.py
│   │   ├── fuzz_to_datetime.py
│   │   ├── fuzz_to_latex.py
│   │   └── project.yaml
│   ├── paramiko/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_packetizer.py
│   │   └── project.yaml
│   ├── parse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── parsimonious/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_grammar_match.py
│   │   └── project.yaml
│   ├── parso/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── parso_diff_fuzz.py
│   │   ├── parso_extended_fuzz.py
│   │   ├── parso_fuzz.py
│   │   ├── parso_pep8_fuzz.py
│   │   └── project.yaml
│   ├── pasta/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── pathlib2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_match.py
│   │   ├── fuzz_posix_compile.py
│   │   ├── fuzz_windows_compile.py
│   │   └── project.yaml
│   ├── pborman-uuid/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── pcapplusplus/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pcapplusplus_enable_tests.diff
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── pcl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pcre2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── pdf-js/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pdfbox/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── extract-fonts.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           ├── java/
│   │   │   │           │   └── com/
│   │   │   │           │       └── example/
│   │   │   │           │           ├── CFFParserFuzzer.java
│   │   │   │           │           ├── CMapParserFuzzer.java
│   │   │   │           │           ├── OTFParserFuzzer.java
│   │   │   │           │           ├── PDFExtractTextFuzzer.java
│   │   │   │           │           ├── PDFStreamParserFuzzer.java
│   │   │   │           │           ├── PDFWriteReadFuzzer.java
│   │   │   │           │           ├── PFAParserFuzzer.java
│   │   │   │           │           └── TTFParserFuzzer.java
│   │   │   │           └── resources/
│   │   │   │               └── log4j2.xml
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── pdfminersix/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── pdfplumber/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── pdoc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_html_helpers.py
│   │   └── project.yaml
│   ├── pem/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── data.pem
│   │   ├── fuzz_pem.py
│   │   └── project.yaml
│   ├── pendulum/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── perfetto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pest/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pffft/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── generate_seed_corpus.py
│   │   ├── pffft_fuzzer.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── phmap/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── phashmap_fuzz.cc
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── phosphor-host-ipmid/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz-patch.diff
│   │   ├── fuzz_fru_area.cpp
│   │   ├── fuzz_payload_unpack.cpp
│   │   ├── fuzz_sensor_utils.cpp
│   │   ├── lg2_stub.cpp
│   │   └── project.yaml
│   ├── php/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── replay_build.sh
│   ├── picotls/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pidgin/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pidgin_utils_fuzzer.c
│   │   ├── pidgin_xml_fuzzer.c
│   │   └── project.yaml
│   ├── piex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── piex_fuzzer.cc
│   │   └── project.yaml
│   ├── pigweed/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pikepdf/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── pillow/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── build_depends.sh
│   │   └── project.yaml
│   ├── pip/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_requirements.py
│   │   ├── project.yaml
│   │   └── requirement_seeds/
│   │       └── seed1
│   ├── pistache/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pjsip/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── plan9port/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_libsec.c
│   │   ├── fuzz_libsec.options
│   │   ├── fuzz_patch.diff
│   │   └── project.yaml
│   ├── plexus-utils/
│   │   ├── Dockerfile
│   │   ├── MXParserFuzzer.java
│   │   ├── MXParserFuzzer.options
│   │   ├── XmlStreamReaderFuzzer.java
│   │   ├── XmlStreamReaderFuzzer.options
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ply/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_lex_yacc.py
│   │   └── project.yaml
│   ├── pngquant/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── poco/
│   │   ├── Dockerfile
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── poppler/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── postfix/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_mime.c
│   │   ├── fuzz_tok822.c
│   │   └── project.yaml
│   ├── postgis/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── postgresql/
│   │   ├── Dockerfile
│   │   ├── add_fuzzers.diff
│   │   ├── build.sh
│   │   ├── fuzzer/
│   │   │   ├── Makefile
│   │   │   ├── dbfuzz.c
│   │   │   ├── fuzzer_initialize.c
│   │   │   ├── json_parser_fuzzer.c
│   │   │   ├── protocol_fuzzer.c
│   │   │   └── simple_query_fuzzer.c
│   │   ├── main.diff
│   │   └── project.yaml
│   ├── powerdns/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── powsybl-java/
│   │   ├── DeserializeFuzzer.java
│   │   ├── Dockerfile
│   │   ├── LoadFlowFuzzer.java
│   │   ├── MatrixFuzzer.java
│   │   ├── MetrixFuzzer.java
│   │   ├── OpenRaoFuzzer.java
│   │   ├── ParseFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── presidio/
│   │   └── project.yaml
│   ├── presto/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── SqlParserFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── proftpd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── proj4/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── prometheus/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── promise-polyfill/
│   │   ├── Dockerfile
│   │   ├── babel.config.json
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── prost/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── proto-plus-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_json_serialization.py
│   │   └── project.yaml
│   ├── protobuf-c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── unpack_fuzzer.c
│   ├── protobuf-java/
│   │   ├── Dockerfile
│   │   ├── ProtobufFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── protobuf-js/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── protobuf-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_protobuf.py
│   │   └── project.yaml
│   ├── protoc-gen-validate/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── protocompile/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_protocompile.go
│   │   └── project.yaml
│   ├── proton-bridge/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── proxygen/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── psqlparse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── psutil/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_native.py
│   │   └── project.yaml
│   ├── psycopg2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_sql.py
│   │   └── project.yaml
│   ├── publicsuffix-list/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_test.go
│   │   └── project.yaml
│   ├── pugixml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pulldown-cmark/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pulumi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── config_fuzzer.go
│   │   ├── project.yaml
│   │   └── schema_fuzzer.go
│   ├── pupnp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── py-serde/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_model.py
│   │   └── project.yaml
│   ├── pyasn1/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.py
│   │   └── project.yaml
│   ├── pyasn1-modules/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.py
│   │   └── project.yaml
│   ├── pybind11/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── pybind_fuzzer.cc
│   ├── pycparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_c_parser.py
│   │   └── project.yaml
│   ├── pycrypto/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_aes.py
│   │   ├── fuzz_all_or_nothing.py
│   │   ├── fuzz_hash.py
│   │   ├── fuzz_number.py
│   │   └── project.yaml
│   ├── pycryptodome/
│   │   ├── Dockerfile
│   │   ├── block_common.patch
│   │   ├── build.sh
│   │   ├── pcd_aes_fuzzer.cc
│   │   ├── pcd_hash_fuzzer.cc
│   │   └── project.yaml
│   ├── pycups/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── pydantic/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_date.py
│   │   ├── fuzz_network.py
│   │   └── project.yaml
│   ├── pydateutil/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parser.py
│   │   ├── fuzz_prop_isoparse.py
│   │   ├── fuzz_tzstr.py
│   │   └── project.yaml
│   ├── pygments/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_guesser.py
│   │   ├── fuzz_lexers.py
│   │   └── project.yaml
│   ├── pyjson5/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_json.py
│   │   └── project.yaml
│   ├── pyjwt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_jwt.py
│   │   └── project.yaml
│   ├── pymysql/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_connection.py
│   │   └── project.yaml
│   ├── pynacl/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_hash.py
│   │   ├── fuzz_signing.py
│   │   └── project.yaml
│   ├── pyodbc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fake_odbc_driver.c
│   │   ├── fuzz_curs_exec.py
│   │   └── project.yaml
│   ├── pyparsing/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── pyrsistent/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_vector.py
│   │   └── project.yaml
│   ├── pytables/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_file.py
│   │   ├── fuzz_file_extended.py
│   │   └── project.yaml
│   ├── pytest-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_source.py
│   │   └── project.yaml
│   ├── python-ecdsa/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_ecdsa.py
│   │   ├── fuzz_eddsa.py
│   │   ├── fuzz_keys.py
│   │   └── project.yaml
│   ├── python-email-validator/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_validator.py
│   │   └── project.yaml
│   ├── python-fastjsonschema/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_compile.py
│   │   └── project.yaml
│   ├── python-future/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_future_email.py
│   │   ├── fuzz_future_htmlparser.py
│   │   ├── fuzz_future_urllib.py
│   │   ├── fuzz_past.py
│   │   └── project.yaml
│   ├── python-graphviz/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_graph.py
│   │   └── project.yaml
│   ├── python-hyperlink/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_host.py
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── python-jose/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_jwe.py
│   │   ├── fuzz_jws.py
│   │   └── project.yaml
│   ├── python-lz4/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_lz4.py
│   │   └── project.yaml
│   ├── python-markdown/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_convert.py
│   │   └── project.yaml
│   ├── python-markdownify/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_convert.py
│   │   └── project.yaml
│   ├── python-multipart/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_form.options
│   │   ├── fuzz_form.patch
│   │   ├── helpers.patch
│   │   └── project.yaml
│   ├── python-nameparser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_fullname.py
│   │   └── project.yaml
│   ├── python-nvd3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_linechart.py
│   │   └── project.yaml
│   ├── python-pathspec/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_pathspec.py
│   │   └── project.yaml
│   ├── python-phonenumbers/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── python-prompt-toolkit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_contrib.py
│   │   ├── fuzz_formatted_text.py
│   │   └── project.yaml
│   ├── python-pypdf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_encryption.py
│   │   └── project.yaml
│   ├── python-rison/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.py
│   │   ├── fuzz_roundtrip.py
│   │   └── project.yaml
│   ├── python-rsa/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_roundtrip.py
│   │   └── project.yaml
│   ├── python-tabulate/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_tabulate.py
│   │   └── project.yaml
│   ├── python3-libraries/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── python3-openid/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_html_parse.py
│   │   └── project.yaml
│   ├── pytz/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_pytz.py
│   │   └── project.yaml
│   ├── pyvex/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── pyxdg/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_desktop_entry.py
│   │   ├── fuzz_icon.py
│   │   ├── fuzz_menu.dict
│   │   ├── fuzz_menu.py
│   │   ├── fuzz_mime.py
│   │   ├── project.yaml
│   │   └── seeds/
│   │       └── menu.xdg
│   ├── pyyaml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_emitter.py
│   │   ├── fuzz_loader.py
│   │   ├── fuzz_reader.py
│   │   └── project.yaml
│   ├── pyzmq/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_frame.py
│   │   └── project.yaml
│   ├── qcms/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── qdox/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── JavaProjectBuilderFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── qemu/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── default.options
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── qpdf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── qpid-proton/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── qs/
│   │   └── project.yaml
│   ├── qt/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── quantlib/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── quartz/
│   │   ├── CronScheduleBuilderFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── qubes-os/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── quic-go/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── quiche/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── quiche-patch.diff
│   ├── quiche-cloudflare/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── quick-xml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── quickjs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── run_tests_patch.diff
│   ├── rabbitmq-c/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── racket/
│   │   └── project.yaml
│   ├── radare2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── default.options
│   │   └── project.yaml
│   ├── radon/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── radvd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_config.c
│   │   ├── fuzz_process.c
│   │   └── project.yaml
│   ├── rapidjson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzzer.cpp
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── rauc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── rdf4j/
│   │   ├── Dockerfile
│   │   ├── ParserFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rdkit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── re2/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── readstat/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_format_sas_commands.dict
│   │   ├── fuzz_format_spss_commands.dict
│   │   ├── fuzz_format_stata_commands.dict
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── realm-core/
│   │   └── project.yaml
│   ├── redis-py/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_backoff.py
│   │   ├── fuzz_encoder.py
│   │   ├── fuzz_func.py
│   │   ├── fuzz_helper.py
│   │   ├── fuzz_util.py
│   │   └── project.yaml
│   ├── redis-rs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── Cargo.toml
│   │   │   └── fuzz_targets/
│   │   │       └── parser.rs
│   │   └── project.yaml
│   ├── redux/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── reflections/
│   │   ├── ConfigurationBuilderFuzzer.java
│   │   ├── Dockerfile
│   │   ├── FilterBuilderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rekor/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── relic/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── reload4j/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   ├── remove-jdk8-cap.diff
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   ├── LoggerFuzzer.java
│   │                   └── MyAppender.java
│   ├── requests/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_requests.py
│   │   └── project.yaml
│   ├── resiprocate/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── retrofit/
│   │   ├── Dockerfile
│   │   ├── PathTraversalFuzzer.java
│   │   ├── RequestFuzzer.java
│   │   ├── build.patch
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── retry/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_retry.py
│   │   └── project.yaml
│   ├── rfc3967/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_rfc3986.py
│   │   └── project.yaml
│   ├── rhai/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rhino/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   └── ParserFuzzer.java
│   ├── rich/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_markdown.py
│   │   └── project.yaml
│   ├── ring/
│   │   └── project.yaml
│   ├── rnp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── roaring-bitmap/
│   │   ├── Dockerfile
│   │   ├── RoaringBitmapFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rocksdb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rome/
│   │   ├── Dockerfile
│   │   ├── XmlReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ron/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── roughtime/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rtpproxy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── ruby/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_array.cpp
│   │   ├── fuzz_bignum.cpp
│   │   ├── fuzz_hash.cpp
│   │   ├── fuzz_iseq.cpp
│   │   ├── fuzz_json.c
│   │   ├── fuzz_pack.cpp
│   │   ├── fuzz_prism.cpp
│   │   ├── fuzz_regex.cpp
│   │   ├── fuzz_ruby_parser.cpp
│   │   ├── fuzz_string.cpp
│   │   ├── project.yaml
│   │   └── ruby.options
│   ├── runc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rust-brotli/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── Cargo.toml
│   │   │   └── fuzz_targets/
│   │   │       ├── decompress.rs
│   │   │       └── roundtrip.rs
│   │   └── project.yaml
│   ├── rust-coreutils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rust-lexical/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rust-regex/
│   │   ├── Dockerfile
│   │   └── project.yaml
│   ├── rust-semver-parser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rustls/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── rxjava/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   ├── IntegerObserver.java
│   │                   └── ObservableFuzzer.java
│   ├── ryu/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── s2geometry/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.patch
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── s2_fuzzer.cc
│   ├── s2opc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sacremoses/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_detokenize.py
│   │   ├── fuzz_normalizer.py
│   │   ├── fuzz_split_xml.py
│   │   ├── fuzz_tokenizer.py
│   │   └── project.yaml
│   ├── samba/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── scapy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pcap_fuzzer.py
│   │   └── project.yaml
│   ├── scikit-learn/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_preprocessing_encoders.py
│   │   └── project.yaml
│   ├── scipy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_io_mio5.py
│   │   ├── fuzz_io_wavfile.py
│   │   └── project.yaml
│   ├── scorecard-web/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── scrypt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── selinux/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sentencepiece/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── sample_encode_fuzzer.cc
│   ├── serde-yaml/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── serde_json/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── serde_urlencoded/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── Cargo.toml
│   │   │   └── fuzz_targets/
│   │   │       ├── reverse_roundtrip.rs
│   │   │       └── roundtrip.rs
│   │   └── project.yaml
│   ├── serenity/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── servo/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── servo-core/
│   │   ├── Dockerfile
│   │   ├── MonitorConfigFuzzer.java
│   │   ├── build.sh
│   │   ├── pom-core.xml
│   │   └── project.yaml
│   ├── setuptools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_config_pyprojecttoml.py
│   │   └── project.yaml
│   ├── shaderc/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── glslc_fuzzer.cc
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   ├── run_tests_patch.diff
│   │   ├── shaderc_fdp_fuzzer.cc
│   │   ├── shaderc_fuzzer.cc
│   │   └── shaderc_general_fuzzer.cc
│   ├── sharp/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz.js
│   │   └── project.yaml
│   ├── sigstore/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sigstore-go/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sigstore-java/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sigstore-python/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_verify_artifact.dict
│   │   ├── fuzz_verify_artifact.py
│   │   └── project.yaml
│   ├── simd/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── simd_load_fuzzer.cpp
│   ├── simdjson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── simdutf/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── simplejson/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_decode.py
│   │   ├── fuzz_encode.py
│   │   └── project.yaml
│   ├── six/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_six.py
│   │   └── project.yaml
│   ├── skcms/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── iccprofile.dict
│   │   ├── iccprofile.options
│   │   └── project.yaml
│   ├── sketches-core/
│   │   ├── Dockerfile
│   │   ├── FdtSketchFuzzer.java
│   │   ├── MurmurHash3AdaptorFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── skia/
│   │   ├── Dockerfile
│   │   ├── README.md
│   │   ├── build.sh
│   │   ├── image_filter_deserialize_width.options
│   │   ├── json.dict
│   │   ├── project.yaml
│   │   └── sksl.dict
│   ├── skipper/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sleuthkit/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── replay_build.sh
│   │   └── run_tests.sh
│   ├── slf4j-api/
│   │   ├── Dockerfile
│   │   ├── LoggingFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── smart_open/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_bytebuffer.py
│   │   ├── fuzz_func.py
│   │   ├── fuzz_util.py
│   │   ├── fuzz_zip.py
│   │   └── project.yaml
│   ├── smt/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── snakeyaml/
│   │   ├── DefaultYamlFuzzer.java
│   │   ├── Dockerfile
│   │   ├── SecureYamlFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── snappy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── snappy-java/
│   │   ├── BitShuffleFuzzer.java
│   │   ├── Dockerfile
│   │   ├── SnappyStreamFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── snort3/
│   │   └── project.yaml
│   ├── solidity/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sonic/
│   │   └── project.yaml
│   ├── sound-open-firmware/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fetch-sdk.sh
│   │   └── project.yaml
│   ├── soupsieve/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_closest.py
│   │   ├── fuzz_filter.py
│   │   ├── fuzz_match.py
│   │   ├── fuzz_select.py
│   │   └── project.yaml
│   ├── spatial4j/
│   │   ├── Dockerfile
│   │   ├── SpatialContextFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spdk/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── parse_json_fuzzer.cc
│   │   └── project.yaml
│   ├── spdlog/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz/
│   │   │   ├── backtrace_fuzzer.cc
│   │   │   ├── format_fuzzer.cc
│   │   │   ├── format_fuzzer.options
│   │   │   ├── levels_fuzzer.cc
│   │   │   ├── levels_fuzzer.options
│   │   │   ├── log_fuzzer.cc
│   │   │   ├── log_fuzzer.options
│   │   │   ├── pattern_fuzzer.cc
│   │   │   └── pattern_fuzzer.options
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── spdlog_fuzzer.dict
│   ├── spdm-rs/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── speex/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spice-usbredir/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spicy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── spidermonkey/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spidermonkey-ufi/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── target.c
│   ├── spirv-cross/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── parser_fuzzer.cpp
│   │   ├── patch.diff
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── spirv-tools/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── generate_spirv_corpus.py
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── spotify-json/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── spring-amqp/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project-parent/
│   │   │   ├── fuzz-targets/
│   │   │   │   ├── pom.xml
│   │   │   │   └── src/
│   │   │   │       └── test/
│   │   │   │           └── java/
│   │   │   │               └── com/
│   │   │   │                   └── example/
│   │   │   │                       └── AllowedListDeserializingMessageConverterFuzzer.java
│   │   │   └── pom.xml
│   │   └── project.yaml
│   ├── spring-boot/
│   │   ├── BasicJsonParserFuzzer.java
│   │   ├── ConfigurationMetadataRepositoryJsonBuilderFuzzer.java
│   │   ├── Dockerfile
│   │   ├── JsonMarshallerFuzzer.java
│   │   ├── TokenFuzzer.java
│   │   ├── add-shadow-spring-boot-configuration-metadata.diff
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-cloud-commons/
│   │   ├── Dockerfile
│   │   ├── EncryptionIntegrationFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-cloud-config/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── ossfuzz/
│   │                   ├── ConfigServerPropertiesFuzzer.java
│   │                   └── EnvironmentFuzzer.java
│   ├── spring-cloud-netflix/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── pom.xml
│   │   ├── project.yaml
│   │   └── src/
│   │       └── main/
│   │           └── java/
│   │               └── org/
│   │                   └── springframework/
│   │                       └── cloud/
│   │                           └── netflix/
│   │                               └── eureka/
│   │                                   └── config/
│   │                                       └── HostnameBasedUrlRandomizerFuzzer.java
│   ├── spring-cloud-sleuth-brave/
│   │   ├── Dockerfile
│   │   ├── W3CPropagationFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-cloud-stream/
│   │   ├── Dockerfile
│   │   ├── RabbitExchangeQueueProvisionerFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-data-jpa/
│   │   ├── Dockerfile
│   │   ├── QueryUtilsFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-data-keyvalue/
│   │   ├── Dockerfile
│   │   ├── KeyValueTemplateFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-data-mongodb/
│   │   ├── Dockerfile
│   │   ├── ParameterBindingJsonReaderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-data-redis/
│   │   ├── Dockerfile
│   │   ├── GenericJackson2JsonRedisSerializerFuzzer.java
│   │   ├── RedisStringDeserializationFuzzer.java
│   │   ├── RedisStringSerializationFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-framework/
│   │   ├── .dockerignore
│   │   ├── Dockerfile
│   │   ├── add-shadow-context.diff
│   │   ├── add-shadow-core.diff
│   │   ├── add-shadow-jdbc.diff
│   │   ├── add-shadow-jms.diff
│   │   ├── add-shadow-messaging.diff
│   │   ├── add-shadow-orm.diff
│   │   ├── add-shadow-oxm.diff
│   │   ├── add-shadow-test.diff
│   │   ├── add-shadow-tx.diff
│   │   ├── add-shadow-web.diff
│   │   ├── add-shadow-webmvc.diff
│   │   ├── add-shadow-websocket.diff
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   ├── spring-aop/
│   │   │   └── AspectJExpressionPointcutFuzzer.java
│   │   ├── spring-beans/
│   │   │   └── BeanWrapperFuzzer.java
│   │   ├── spring-context/
│   │   │   └── XmlApplicationContextFuzzer.java
│   │   ├── spring-expression/
│   │   │   └── SpelExpressionFuzzer.java
│   │   ├── spring-jdbc/
│   │   │   ├── DataAccessObject.java
│   │   │   ├── JdbcCoreMapperFuzzer.java
│   │   │   ├── JdbcCoreMapperFuzzerBeans.xml
│   │   │   ├── Mapper.java
│   │   │   ├── MapperFuzzerServer.java
│   │   │   ├── PersistentClass.java
│   │   │   ├── Server.java
│   │   │   └── Template.java
│   │   ├── spring-jms/
│   │   │   └── SimpleJmsHeaderMapperFuzzer.java
│   │   ├── spring-messaging/
│   │   │   └── PayloadMethodArgumentResolverFuzzer.java
│   │   ├── spring-oxm/
│   │   │   └── XStreamMarshallerFuzzer.java
│   │   ├── spring-tx/
│   │   │   ├── TransactionAttributeSourceEditorFuzzer.dict
│   │   │   └── TransactionAttributeSourceEditorFuzzer.java
│   │   ├── spring-web/
│   │   │   ├── ContentDispositionFuzzer.java
│   │   │   └── CookieLocaleResolverFuzzer.java
│   │   ├── spring-webflux/
│   │   │   └── BindStatusFuzzer.java
│   │   └── spring-websocket/
│   │       └── StompSubProtocolHandlerFuzzer.java
│   ├── spring-integration/
│   │   ├── Dockerfile
│   │   ├── SimpleJsonSerializerFuzzer.java
│   │   ├── add-shadow.patch
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-ldap/
│   │   ├── Dockerfile
│   │   ├── LdapQueryBuilderFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-retry/
│   │   ├── Dockerfile
│   │   ├── PatternMatcher_match_Fuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── spring-security/
│   │   ├── BCryptPasswordEncoderFuzzer.java
│   │   ├── BindAuthenticatorFuzzer.java
│   │   ├── Dockerfile
│   │   ├── EncodingUtilsConcatenateFuzzer.java
│   │   ├── HexFuzzer.java
│   │   ├── InMemoryUserDetailsManagerChangePasswordFuzzer.java
│   │   ├── StrictHttpFirewallFuzzer.java
│   │   ├── Utf8Fuzzer.java
│   │   ├── acl/
│   │   │   └── AclFormattingUtilsFuzzer.java
│   │   ├── build.sh
│   │   ├── diff.patch
│   │   ├── oauth2-client/
│   │   │   └── ClientRegistrationFuzzer.java
│   │   ├── oauth2-core/
│   │   │   └── OAuth2AccessTokenFuzzer.java
│   │   ├── oauth2-jose/
│   │   │   └── NimbusJwtEncoderFuzzer.java
│   │   └── project.yaml
│   ├── spring-shell/
│   │   ├── Dockerfile
│   │   ├── add-shadow-core.patch
│   │   ├── add-shadow-standard.patch
│   │   ├── add-shadow-table.patch
│   │   ├── build.sh
│   │   ├── core/
│   │   │   └── CommandParserFuzzer.java
│   │   ├── project.yaml
│   │   ├── standard/
│   │   │   └── BashCompletionsFuzzer.java
│   │   └── table/
│   │       └── TableFuzzer.java
│   ├── spring-webflow/
│   │   ├── DefaultConversionServiceFuzzer.java
│   │   ├── Dockerfile
│   │   ├── build.patch
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sql-parser/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_sql_parse.cpp
│   │   ├── project.yaml
│   │   └── run_tests.sh
│   ├── sqlalchemy/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── project.yaml
│   │   └── sqlalchemy_fuzzer.py
│   ├── sqlalchemy-utils/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_db.py
│   │   ├── fuzz_orm.py
│   │   ├── fuzz_type.py
│   │   └── project.yaml
│   ├── sqlalchemy_jsonfield/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_basic.py
│   │   └── project.yaml
│   ├── sqlite-jdbc/
│   │   ├── Dockerfile
│   │   ├── SqliteConnectionFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── sqlite3/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── ossfuzz.options
│   │   ├── project.yaml
│   │   ├── run_tests.sh
│   │   └── sql.dict
│   ├── sqlparse/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_format.py
│   │   ├── fuzz_parse.py
│   │   └── project.yaml
│   ├── stack_data/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── fuzz_source.py
│   │   └── project.yaml
│   ├── starlark-rust/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── starnix-netlink/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── cargo.toml/
│   │   │   ├── core
│   │   │   ├── generic
│   │   │   ├── parent
│   │   │   ├── route
│   │   │   ├── sock_diag
│   │   │   └── utils
│   │   ├── fuzz/
│   │   │   ├── .gitignore
│   │   │   ├── Cargo.toml
│   │   │   └── fuzz_targets/
│   │   │       ├── core_fuzzer.rs
│   │   │       └── utils_fuzzer.rs
│   │   └── project.yaml
│   ├── stax/
│   │   ├── Dockerfile
│   │   ├── build-jdk.sh
│   │   ├── build.sh
│   │   ├── enable-jdk.sh
│   │   ├── maven-settings.xml
│   │   ├── project.yaml
│   │   └── stax-fuzzer/
│   │       ├── pom.xml
│   │       └── src/
│   │           └── main/
│   │               └── java/
│   │                   └── ossfuzz/
│   │                       └── XMLStreamReaderFuzzer.java
│   ├── stb/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── stringtemplate4/
│   │   ├── Dockerfile
│   │   ├── StringFuzzer.java
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── strongswan/
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   └── project.yaml
│   ├── struts/
│   │   ├── .gitignore
│   │   ├── Dockerfile
│   │   ├── build.sh
│   │   ├── maven-settings.xml
│   │   ├── project.yaml
│   │   └── struts2-fuzzer/
│   │       ├── .gitignore
│   │       ├── fuzzer/
│   │       │   ├── pom.xml
│   │       │   └── src/
│   │       │       └── main/
│   │       │           └── java/
│   │       │               └── org/
│   │       │                   └── apache/
│   │       │                       └── struts/
│   │       │                           └── test/
│  
Download .txt
Showing preview only (622K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (6751 symbols across 1786 files)

FILE: .clusterfuzzlite/coverage_atheris_fuzzer.py
  function TestOneInput (line 37) | def TestOneInput(data):
  function main (line 50) | def main():

FILE: infra/base-images/base-builder-go/gosigfuzz.c
  function fixSignalHandler (line 20) | static void fixSignalHandler(int signum) {
  function FixStackSignalHandler (line 31) | static void FixStackSignalHandler() {
  function LLVMFuzzerInitialize (line 44) | int LLVMFuzzerInitialize(int *argc, char ***argv) {

FILE: infra/base-images/base-builder-go/ossfuzz_coverage_runner.go
  function TestFuzzCorpus (line 26) | func TestFuzzCorpus(t *testing.T) {

FILE: infra/base-images/base-builder/bisect_clang.py
  function execute (line 27) | def execute(command, *args, expect_zero=True, **kwargs):
  function search_bisect_output (line 44) | def search_bisect_output(output):
  class GitRepo (line 53) | class GitRepo:
    method __init__ (line 56) | def __init__(self, repo_dir):
    method do_command (line 59) | def do_command(self, git_subcommand):
    method test_commit (line 64) | def test_commit(self, test_command):
    method bisect (line 77) | def bisect(self, good_commit, bad_commit, test_command):
    method bisect_start (line 86) | def bisect_start(self, good_commit, bad_commit, test_command):
    method do_bisect_command (line 93) | def do_bisect_command(self, subcommand):
    method test_start_commit (line 97) | def test_start_commit(self, commit, label, test_command):
  class BisectError (line 114) | class BisectError(Exception):
  function get_clang_build_env (line 118) | def get_clang_build_env():
  function install_clang_build_deps (line 127) | def install_clang_build_deps():
  function clone_with_retries (line 135) | def clone_with_retries(repo, local_path, num_retries=10):
  function get_clang_target_arch (line 150) | def get_clang_target_arch():
  function prepare_build (line 160) | def prepare_build(llvm_project_path):
  function build_clang (line 178) | def build_clang(llvm_project_path):
  function find_culprit_commit (line 189) | def find_culprit_commit(test_command, good_commit, bad_commit):
  function main (line 202) | def main():

FILE: infra/base-images/base-builder/bisect_clang_test.py
  function get_git_command (line 27) | def get_git_command(*args):
  function patch_environ (line 32) | def patch_environ(testcase_obj):
  class BisectClangTestMixin (line 40) | class BisectClangTestMixin:  # pylint: disable=too-few-public-methods
    method setUp (line 43) | def setUp(self):  # pylint: disable=invalid-name
  class GetClangBuildEnvTest (line 50) | class GetClangBuildEnvTest(BisectClangTestMixin, unittest.TestCase):
    method test_cflags (line 53) | def test_cflags(self):
    method test_cxxflags (line 58) | def test_cxxflags(self):
    method test_other_variables (line 63) | def test_other_variables(self):
  function read_test_data (line 71) | def read_test_data(filename):
  class SearchBisectOutputTest (line 77) | class SearchBisectOutputTest(BisectClangTestMixin, unittest.TestCase):
    method test_search_bisect_output (line 80) | def test_search_bisect_output(self):
    method test_search_bisect_output_none (line 87) | def test_search_bisect_output_none(self):
  function create_mock_popen (line 93) | def create_mock_popen(
  function mock_prepare_build_impl (line 130) | def mock_prepare_build_impl(llvm_project_path):  # pylint: disable=unuse...
  class BuildClangTest (line 135) | class BuildClangTest(BisectClangTestMixin, unittest.TestCase):
    method test_build_clang_test (line 138) | def test_build_clang_test(self):
  class GitRepoTest (line 148) | class GitRepoTest(BisectClangTestMixin, unittest.TestCase):
    method setUp (line 153) | def setUp(self):
    method test_do_command (line 160) | def test_do_command(self):
    method _test_test_start_commit_unexpected (line 169) | def _test_test_start_commit_unexpected(self, label, commit, returncode):
    method test_test_start_commit_bad_zero (line 183) | def test_test_start_commit_bad_zero(self):
    method test_test_start_commit_good_nonzero (line 188) | def test_test_start_commit_good_nonzero(self):
    method test_test_start_commit_good_zero (line 193) | def test_test_start_commit_good_zero(self):
    method _test_test_start_commit_expected (line 199) | def _test_test_start_commit_expected(self, label, commit, returncode,
    method test_test_start_commit_bad_nonzero (line 219) | def test_test_start_commit_bad_nonzero(self):
    method test_bisect_start (line 225) | def test_bisect_start(self, mock_test_start_commit):
    method test_do_bisect_command (line 237) | def test_do_bisect_command(self):
    method _test_test_commit (line 246) | def _test_test_commit(self, label, output, returncode, mock_build_clang):
    method test_test_commit_good (line 263) | def test_test_commit_good(self):
    method test_test_commit_bad (line 267) | def test_test_commit_bad(self):
    method test_test_commit_culprit (line 271) | def test_test_commit_culprit(self):
  class GetTargetArchToBuildTest (line 278) | class GetTargetArchToBuildTest(unittest.TestCase):
    method test_unrecognized (line 281) | def test_unrecognized(self):
    method test_recognized (line 288) | def test_recognized(self):

FILE: infra/base-images/base-builder/detect_repo.py
  function main (line 36) | def main():
  function get_dirs_to_search (line 74) | def get_dirs_to_search(src_dir, repo_name):
  function get_repo (line 93) | def get_repo(repo_path):
  function check_for_repo_name (line 110) | def check_for_repo_name(repo_path, expected_repo_name):
  function check_for_commit (line 131) | def check_for_commit(repo_path, commit):
  function execute (line 156) | def execute(command, location, check_result=False):

FILE: infra/base-images/base-builder/detect_repo_test.py
  class TestCheckForRepoName (line 40) | class TestCheckForRepoName(unittest.TestCase):
    method test_go_get_style_url (line 46) | def test_go_get_style_url(self, _, __):
    method test_missing_git_and_slash_url (line 54) | def test_missing_git_and_slash_url(self, _, __):
    method test_normal_style_repo_url (line 62) | def test_normal_style_repo_url(self, _, __):
  class DetectRepoIntegrationTest (line 69) | class DetectRepoIntegrationTest(unittest.TestCase):
    method test_infer_main_repo_from_commit (line 72) | def test_infer_main_repo_from_commit(self):
    method test_infer_main_repo_from_name (line 84) | def test_infer_main_repo_from_name(self):
    method check_with_repo (line 92) | def check_with_repo(self, repo_origin, repo_name, tmp_dir, commit=None):

FILE: infra/base-images/base-builder/indexer/clang_wrapper.py
  function _get_available_memory (line 80) | def _get_available_memory() -> int:
  function rewrite_argv0 (line 90) | def rewrite_argv0(argv: Sequence[str], clang_toolchain: str) -> list[str]:
  function execute (line 98) | def execute(argv: Sequence[str], clang_toolchain: str) -> None:
  function run (line 104) | def run(argv: Sequence[str], clang_toolchain: str) -> None:
  function sha256 (line 112) | def sha256(file: Path) -> str:
  function get_flag_value (line 122) | def get_flag_value(argv: Sequence[str], flag: str) -> str | None:
  function remove_flag_if_present (line 131) | def remove_flag_if_present(argv: Iterable[str], flag: str) -> list[str]:
  function remove_flag_and_value (line 135) | def remove_flag_and_value(argv: list[str], flag: str) -> list[str] | None:
  function parse_dependency_file (line 143) | def parse_dependency_file(
  function files_by_creation_time (line 176) | def files_by_creation_time(folder_path: Path) -> Sequence[Path]:
  function _wait_for_cdb_fragment (line 182) | def _wait_for_cdb_fragment(file: Path) -> Sequence[str]:
  function read_cdb_fragments (line 210) | def read_cdb_fragments(cdb_path: Path) -> Any:
  function _index_dir_path (line 229) | def _index_dir_path(output_file: Path) -> Path:
  function run_indexer (line 236) | def run_indexer(
  function check_fuzzing_engine_and_fix_argv (line 322) | def check_fuzzing_engine_and_fix_argv(argv: MutableSequence[str]) -> bool:
  function _has_disallowed_clang_flags (line 359) | def _has_disallowed_clang_flags(argv: Sequence[str]) -> bool:
  class FilteredCompileCommands (line 375) | class FilteredCompileCommands:
  function _filter_compile_commands (line 381) | def _filter_compile_commands(
  function _write_filter_log (line 425) | def _write_filter_log(
  function expand_rsp_file (line 445) | def expand_rsp_file(argv: Sequence[str]) -> list[str]:
  function force_optimization_flag (line 459) | def force_optimization_flag(argv: Sequence[str]) -> list[str]:
  function fix_coverage_flags (line 471) | def fix_coverage_flags(
  function _file_lock (line 494) | def _file_lock(lock_path: Path):
  function merge_incremental_cdb (line 506) | def merge_incremental_cdb(cdb_path: Path, merged_cdb_path: Path) -> None:
  function main (line 548) | def main(argv: list[str]) -> None:

FILE: infra/base-images/base-builder/indexer/clang_wrapper_test.py
  class ClangWrapperTest (line 25) | class ClangWrapperTest(unittest.TestCase):
    method test_force_optimization_flag_no_optimization (line 27) | def test_force_optimization_flag_no_optimization(self):
    method test_force_optimization_flag (line 33) | def test_force_optimization_flag(self):
    method test_remove_invalid_coverage_flags (line 41) | def test_remove_invalid_coverage_flags(self):
    method test_merge_incremental_cdb (line 66) | def test_merge_incremental_cdb(self):
    method test_merge_incremental_cdb_duplicate_outputs (line 147) | def test_merge_incremental_cdb_duplicate_outputs(self):

FILE: infra/base-images/base-builder/indexer/coverage.cc
  type CoverageData (line 30) | struct CoverageData {
  function IsStandardLibrary (line 40) | bool IsStandardLibrary(const char* file_path) {
  function WriteTrace (line 49) | void WriteTrace() {
  function pid_t (line 83) | pid_t GetTID() { return static_cast<pid_t>(syscall(SYS_gettid)); }
  function Init (line 85) | void Init() {
  function __sanitizer_cov_trace_pc_guard_init (line 98) | void __sanitizer_cov_trace_pc_guard_init(uint32_t* start,
  function __sanitizer_cov_trace_pc_guard (line 106) | void __sanitizer_cov_trace_pc_guard(uint32_t* guard) {

FILE: infra/base-images/base-builder/indexer/dwarf_info.py
  class CompilationUnit (line 30) | class CompilationUnit:
  function get_all_compilation_units (line 50) | def get_all_compilation_units(
  function parse_clang_record_command_line_value (line 127) | def parse_clang_record_command_line_value(command: str) -> Sequence[str]:

FILE: infra/base-images/base-builder/indexer/dwarf_info_diff.py
  function main (line 39) | def main(argv: Sequence[str]) -> None:

FILE: infra/base-images/base-builder/indexer/fuzzing_engine.cc
  function LLVMFuzzerMutate (line 32) | size_t LLVMFuzzerMutate([[maybe_unused]] uint8_t* Data,
  function main (line 39) | int main(int argc, char* argv[]) {

FILE: infra/base-images/base-builder/indexer/index_build.py
  class CompileSettings (line 85) | class CompileSettings:
  function read_compile_settings (line 91) | def read_compile_settings() -> CompileSettings:
  function write_compile_settings (line 99) | def write_compile_settings(compile_settings: CompileSettings) -> None:
  function set_env_vars (line 105) | def set_env_vars(coverage_flags: str):
  function set_up_wrapper_dir (line 127) | def set_up_wrapper_dir():
  class BinaryMetadata (line 157) | class BinaryMetadata:
  function _get_build_id_from_elf_notes (line 164) | def _get_build_id_from_elf_notes(elf_file: Path, contents: bytes) -> str...
  function _get_clang_version (line 273) | def _get_clang_version(toolchain: Path) -> str:
  function get_build_id (line 282) | def get_build_id(elf_file: Path) -> str | None:
  function find_fuzzer_binaries (line 300) | def find_fuzzer_binaries(out_dir: Path, build_id: str) -> Sequence[Path]:
  function enumerate_build_targets (line 312) | def enumerate_build_targets(
  function copy_fuzzing_engine (line 384) | def copy_fuzzing_engine(fuzzing_engine: str) -> Path:
  function _get_latest_gcc_version (line 396) | def _get_latest_gcc_version() -> str:
  function build_project (line 416) | def build_project(
  function test_target (line 505) | def test_target(
  function set_interpreter (line 524) | def set_interpreter(target_path: Path, lib_mount_path: pathlib.PurePath):
  function set_target_rpath (line 536) | def set_target_rpath(binary_artifact: Path, lib_mount_path: pathlib.Pure...
  function copy_shared_libraries (line 549) | def copy_shared_libraries(
  function archive_target (line 614) | def archive_target(target: BinaryMetadata, file_extension: str) -> Path ...
  function test_and_archive (line 688) | def test_and_archive(
  function clear_out (line 720) | def clear_out():
  function main (line 729) | def main():

FILE: infra/base-images/base-builder/indexer/index_build_test.py
  class IndexBuildTest (line 38) | class IndexBuildTest(unittest.TestCase):
    method _build_project (line 40) | def _build_project(
    method _check_archive (line 79) | def _check_archive(self, archive_path: pathlib.Path):
    method test_basic_build (line 125) | def test_basic_build(self):
    method test_build_with_target_allowlist (line 133) | def test_build_with_target_allowlist(self):

FILE: infra/base-images/base-builder/indexer/manifest_types.py
  class RepositoryType (line 69) | class RepositoryType(enum.StrEnum):
  class SourceRef (line 78) | class SourceRef:
    method from_dict (line 92) | def from_dict(cls, data: dict[str, Any]) -> Self:
  class Reproducibility (line 100) | class Reproducibility:
    method from_dict (line 110) | def from_dict(cls, data: dict[str, Any]) -> Self:
  class BinaryConfigKind (line 118) | class BinaryConfigKind(enum.StrEnum):
    method validate_in (line 124) | def validate_in(self, options: list[Self]):
  class BinaryConfig (line 133) | class BinaryConfig:
    method uses_stdin (line 146) | def uses_stdin(self) -> bool:
    method from_dict (line 152) | def from_dict(cls, config_dict: Mapping[str, Any]) -> Self:
    method to_dict (line 171) | def to_dict(self) -> dict[str, Any]:
  class HarnessKind (line 176) | class HarnessKind(enum.StrEnum):
  class CommandLineBinaryConfig (line 186) | class CommandLineBinaryConfig(BinaryConfig):
    method uses_stdin (line 201) | def uses_stdin(self) -> bool:
    method from_dict (line 206) | def from_dict(cls, config_dict: Mapping[str, Any]) -> Self:
  function _get_sqlite_db_user_version (line 229) | def _get_sqlite_db_user_version(sqlite_db_path: pathlib.Path) -> int:
  class Manifest (line 250) | class Manifest:
    method from_dict (line 289) | def from_dict(cls, data: dict[str, Any]) -> Self:
    method to_dict (line 337) | def to_dict(self) -> dict[str, Any]:
    method validate (line 349) | def validate(self) -> None:
    method save_build (line 400) | def save_build(
  function report_missing_source_files (line 507) | def report_missing_source_files(
  function _get_comparable_path (line 530) | def _get_comparable_path(path: str) -> tuple[str, str]:
  function get_covered_files (line 534) | def get_covered_files(target: str) -> Sequence[str]:
  function _get_mapped (line 555) | def _get_mapped(
  function source_map_from_dict (line 565) | def source_map_from_dict(data: dict[str, Any]) -> dict[pathlib.Path, Sou...
  function source_map_to_dict (line 570) | def source_map_to_dict(
  function _add_string_to_tar (line 577) | def _add_string_to_tar(tar: tarfile.TarFile, name: str, data: str) -> None:
  function _is_elf (line 586) | def _is_elf(path: pathlib.PurePath) -> bool:
  function parse_env (line 596) | def parse_env(env_list: list[str]) -> dict[str, str]:

FILE: infra/base-images/base-builder/indexer/utils.py
  class SharedLibrary (line 40) | class SharedLibrary:
  function _parse_ld_trace_output (line 47) | def _parse_ld_trace_output(
  class CommandRunner (line 80) | class CommandRunner(Protocol):
    method __call__ (line 83) | def __call__(
  function run_subprocess (line 91) | def run_subprocess(
  function get_shared_libraries (line 103) | def get_shared_libraries(
  function copy_shared_libraries (line 117) | def copy_shared_libraries(
  function patch_binary_rpath_and_interpreter (line 130) | def patch_binary_rpath_and_interpreter(
  function get_library_mount_path (line 158) | def get_library_mount_path(binary_id: str) -> pathlib.Path:
  function report_progress (line 162) | def report_progress(stage: str, is_done: bool = False) -> None:

FILE: infra/base-images/base-builder/jcc/jcc.go
  function ExecBuildCommand (line 26) | func ExecBuildCommand(bin string, args []string) (int, string, string) {
  function Compile (line 37) | func Compile(bin string, args []string) (int, string, string) {
  function AppendStringToFile (line 42) | func AppendStringToFile(filepath, new_content string) error {
  function WriteStdErrOut (line 54) | func WriteStdErrOut(args []string, outstr string, errstr string) {
  function main (line 62) | func main() {

FILE: infra/base-images/base-builder/jcc/jcc2.go
  function CopyFile (line 35) | func CopyFile(src string, dst string) {
  function TryFixCCompilation (line 46) | func TryFixCCompilation(cmdline []string) ([]string, int, string, string) {
  function ExtractMissingHeader (line 81) | func ExtractMissingHeader(compilerOutput string) (string, bool) {
  function ReplaceMissingHeaderInFile (line 90) | func ReplaceMissingHeaderInFile(srcFilename, curHeader, replacementHeade...
  function ReplaceMissingHeader (line 109) | func ReplaceMissingHeader(src, curHeader, replacementHeader string) stri...
  function GetHeaderCorrectedFilename (line 115) | func GetHeaderCorrectedFilename(compilerErr string) (string, string, boo...
  function GetHeaderCorrectedCmd (line 128) | func GetHeaderCorrectedCmd(cmd []string, compilerErr string) ([]string, ...
  function CorrectMissingHeaders (line 153) | func CorrectMissingHeaders(bin string, cmd []string) ([]string, bool, er...
  function ExecBuildCommand (line 172) | func ExecBuildCommand(bin string, args []string) (int, string, string) {
  function Compile (line 183) | func Compile(bin string, args []string) (int, string, string) {
  function TryCompileAndFixHeadersOnce (line 188) | func TryCompileAndFixHeadersOnce(bin string, cmd []string, filename stri...
  function FindMissingHeader (line 212) | func FindMissingHeader(missingHeader string) (string, bool) {
  function CppifyHeaderIncludesFromFile (line 242) | func CppifyHeaderIncludesFromFile(srcFile string) error {
  function CppifyHeaderIncludes (line 257) | func CppifyHeaderIncludes(contents string) (string, error) {
  function AppendStringToFile (line 285) | func AppendStringToFile(filepath, new_content string) error {
  function WriteStdErrOut (line 297) | func WriteStdErrOut(args []string, outstr string, errstr string) {
  function main (line 305) | func main() {
  type BuildCommand (line 341) | type BuildCommand struct
  function WriteTargetArgsAndCommitImage (line 346) | func WriteTargetArgsAndCommitImage(cmdline []string) {
  function IsCompilingTarget (line 369) | func IsCompilingTarget(cmdline []string) bool {
  function parseCommand (line 383) | func parseCommand(command string) (string, []string) {
  function unfreeze (line 390) | func unfreeze() {

FILE: infra/base-images/base-builder/jcc/jcc_test.go
  function TestExtractMissingHeader (line 10) | func TestExtractMissingHeader(t *testing.T) {
  function TestGetHeaderCorrectedFilename (line 27) | func TestGetHeaderCorrectedFilename(t *testing.T) {
  function TestFindMissingHeader (line 43) | func TestFindMissingHeader(t *testing.T) {
  function TestCorrectMissingHeaders (line 54) | func TestCorrectMissingHeaders(t *testing.T) {
  function TestGetHeaderCorrectedCmd (line 66) | func TestGetHeaderCorrectedCmd(t *testing.T) {
  function TestCppifyHeaderIncludes (line 84) | func TestCppifyHeaderIncludes(t *testing.T) {
  function TestCppifyHeaderIncludesShouldnt (line 114) | func TestCppifyHeaderIncludesShouldnt(t *testing.T) {
  function TestCppifyHeaderIncludesAlready (line 129) | func TestCppifyHeaderIncludesAlready(t *testing.T) {
  function TestExtractMissingHeaderNonHeaderFailure (line 146) | func TestExtractMissingHeaderNonHeaderFailure(t *testing.T) {
  function TestReplaceMissingHeader (line 156) | func TestReplaceMissingHeader(t *testing.T) {

FILE: infra/base-images/base-builder/jcc/testdata/cfile.c
  function main (line 16) | int main() {

FILE: infra/base-images/base-builder/jcc/testdata/cpp.cc
  function main (line 16) | int main() {

FILE: infra/base-images/base-builder/make_build_replayable.py
  function create_wrapper (line 36) | def create_wrapper(contents: str):
  function main (line 40) | def main():

FILE: infra/base-images/base-builder/ossfuzz_coverage_runner.go
  function TestFuzzCorpus (line 24) | func TestFuzzCorpus(t *testing.T) {

FILE: infra/base-images/base-builder/python_coverage_helper.py
  function get_all_files_from_toc (line 25) | def get_all_files_from_toc(toc_file, file_path_set):
  function create_file_structure_from_tocs (line 73) | def create_file_structure_from_tocs(work_path, out_path):
  function main (line 106) | def main():

FILE: infra/base-images/base-builder/sanitizers/pysecsan/pysecsan/command_injection.py
  function get_all_substr_prefixes (line 22) | def get_all_substr_prefixes(main_str, sub_str):
  function check_code_injection_match (line 36) | def check_code_injection_match(elem, check_unquoted=False) -> Optional[s...
  function hook_pre_exec_subprocess_Popen (line 57) | def hook_pre_exec_subprocess_Popen(cmd, **kwargs):
  function hook_pre_exec_os_system (line 93) | def hook_pre_exec_os_system(cmd):
  function hook_pre_exec_eval (line 101) | def hook_pre_exec_eval(cmd, *args, **kwargs):

FILE: infra/base-images/base-builder/sanitizers/pysecsan/pysecsan/redos.py
  function hook_post_exec_re_pattern_findall (line 47) | def hook_post_exec_re_pattern_findall(self, re_str):
  function hook_pre_exec_re_pattern_findall (line 62) | def hook_pre_exec_re_pattern_findall(self, string):
  function hook_post_exec_re_compile (line 69) | def hook_post_exec_re_compile(retval, pattern, flags=None):
  function hook_pre_exec_re_compile (line 80) | def hook_pre_exec_re_compile(pattern, flags=None):

FILE: infra/base-images/base-builder/sanitizers/pysecsan/pysecsan/sanlib.py
  function sanitizer_log (line 39) | def sanitizer_log(msg, log_level, force=False, log_prefix=True):
  function sanitizer_log_always (line 49) | def sanitizer_log_always(msg, log_prefix=True):
  function is_module_present (line 54) | def is_module_present(mod_name):
  function _log_bug (line 60) | def _log_bug(bug_title):
  function abort_with_issue (line 65) | def abort_with_issue(msg, bug_title):
  function is_exact_taint (line 92) | def is_exact_taint(stream) -> bool:
  function create_object_wrapper (line 102) | def create_object_wrapper(**methods):
  function add_hook (line 162) | def add_hook(function: Callable[[Any], Any],
  function add_hooks (line 202) | def add_hooks():

FILE: infra/base-images/base-builder/sanitizers/pysecsan/pysecsan/yaml_deserialization.py
  function hook_pre_exec_pyyaml_load (line 27) | def hook_pre_exec_pyyaml_load(stream, loader):

FILE: infra/base-images/base-builder/sanitizers/pysecsan/tests/eval_command_injection.py
  function list_files_perhaps (line 25) | def list_files_perhaps(param, magicval):
  function test_one_input (line 36) | def test_one_input(data):
  function main (line 43) | def main():

FILE: infra/base-images/base-builder/sanitizers/pysecsan/tests/os_command_injection.py
  function list_files_perhaps (line 23) | def list_files_perhaps(param, magicval):
  function test_one_input (line 35) | def test_one_input(data):
  function main (line 42) | def main():

FILE: infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/ansible-runner-cve-2021-4041/fuzz_ansible_runner.py
  function test_one_input (line 27) | def test_one_input(data):
  function main (line 56) | def main():

FILE: infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/libvcs-cve-2022-21187/fuzz_libvcs.py
  function test_one_input (line 25) | def test_one_input(data):
  function main (line 37) | def main():

FILE: infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/python-ldap-GHSL-2021-117/fuzz_ldap.py
  function test_one_input (line 25) | def test_one_input(data):
  function main (line 34) | def main():

FILE: infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/pytorch-lightning-1.5.10/fuzz_pytorch_lightning.py
  function prepare_fuzzing_input (line 37) | def prepare_fuzzing_input(data):
  function exploit_target (line 44) | def exploit_target(env_value, env_name):
  function TestOneInput (line 54) | def TestOneInput(data):  # pylint: disable=invalid-name
  function main (line 60) | def main():

FILE: infra/base-images/base-builder/sanitizers/pysecsan/tests/subprocess_popen_injection.py
  function list_files_perhaps (line 23) | def list_files_perhaps(param):
  function test_one_input (line 31) | def test_one_input(data):
  function main (line 41) | def main():

FILE: infra/base-images/base-builder/sanitizers/pysecsan/tests/yaml_deserialization_general.py
  function serialize_with_tainted_data (line 23) | def serialize_with_tainted_data(param):
  function test_one_input (line 31) | def test_one_input(data):
  function main (line 37) | def main():

FILE: infra/base-images/base-builder/sanitizers/pysecsan/tests/yaml_deserialization_simple.py
  function serialize_with_tainted_data (line 23) | def serialize_with_tainted_data(param, magicval):
  function test_one_input (line 37) | def test_one_input(data):
  function main (line 44) | def main():

FILE: infra/base-images/base-builder/unshallow_repos.py
  function main (line 25) | def main():
  function _normalize_repo (line 45) | def _normalize_repo(repo: str) -> str:
  function _is_shallow_repo (line 49) | def _is_shallow_repo(directory: pathlib.Path):

FILE: infra/base-images/base-builder/write_labels.py
  function main (line 22) | def main():

FILE: infra/base-images/base-runner/generate_differential_cov_report.py
  class ProfData (line 28) | class ProfData:
    method __init__ (line 31) | def __init__(self, text):
    method to_string (line 38) | def to_string(self):
    method find_function (line 43) | def find_function(self, function, idx=None):
    method subtract (line 57) | def subtract(self, subtrahend):
  class FunctionProf (line 64) | class FunctionProf:
    method __init__ (line 70) | def __init__(self, text):
    method to_string (line 81) | def to_string(self):
    method subtract (line 93) | def subtract(self, subtrahend_prof):
  function get_profdata_files (line 105) | def get_profdata_files(directory):
  function convert_profdata_to_text (line 115) | def convert_profdata_to_text(profdata):
  function convert_text_profdata_to_bin (line 129) | def convert_text_profdata_to_bin(profdata_text):
  function get_difference (line 144) | def get_difference(minuend_filename, subtrahend_filename):
  function profdatas_to_objects (line 157) | def profdatas_to_objects(profdatas):
  function generate_differential_cov_reports (line 164) | def generate_differential_cov_reports(minuend_profdatas, subtrahend_prof...
  function generate_html_report (line 191) | def generate_html_report(profdata, objects, directory):
  function main (line 210) | def main():

FILE: infra/base-images/base-runner/gocoverage/gocovmerge/gocovmerge.go
  function mergeProfiles (line 16) | func mergeProfiles(p *cover.Profile, merge *cover.Profile) {
  function mergeProfileBlock (line 28) | func mergeProfileBlock(p *cover.Profile, pb cover.ProfileBlock, startInd...
  function addProfile (line 71) | func addProfile(profiles []*cover.Profile, p *cover.Profile) []*cover.Pr...
  function dumpProfiles (line 83) | func dumpProfiles(profiles []*cover.Profile, out io.Writer) {
  function main (line 95) | func main() {

FILE: infra/base-images/base-runner/gocoverage/gocovsum/gocovsum.go
  type CoverageTotal (line 30) | type CoverageTotal struct
  type CoverageTotals (line 37) | type CoverageTotals struct
  type CoverageFile (line 45) | type CoverageFile struct
  type CoverageData (line 50) | type CoverageData struct
  type PositionInterval (line 55) | type PositionInterval struct
  type CoverageSummary (line 60) | type CoverageSummary struct
  function isFunctionCovered (line 66) | func isFunctionCovered(s token.Position, e token.Position, blocks []cove...
  function computePercent (line 77) | func computePercent(s *CoverageTotals) {
  function main (line 89) | func main() {

FILE: infra/base-images/base-runner/gocoverage/pprof-merge/main.go
  function main (line 29) | func main() {

FILE: infra/base-images/base-runner/jacoco_report_converter.py
  function convert (line 25) | def convert(xml):
  function list_src_files (line 75) | def list_src_files():
  function is_fuzzer_class (line 90) | def is_fuzzer_class(class_element):
  function relative_to_src_path (line 99) | def relative_to_src_path(src_files, canonical_path):
  function make_element_summary (line 110) | def make_element_summary(element):
  function make_counter_summary (line 139) | def make_counter_summary(counter_element, covered_adjustment=0):
  function main (line 157) | def main():

FILE: infra/base-images/base-runner/nyc_report_converter.py
  function convert (line 23) | def convert(nyc_json_summary):
  function file_summary (line 43) | def file_summary(nyc_file_summary):
  function element_summary (line 52) | def element_summary(element):
  function main (line 63) | def main():

FILE: infra/base-images/base-runner/parse_options.py
  function parse_options (line 22) | def parse_options(options_file_path, options_section):
  function main (line 43) | def main():

FILE: infra/base-images/base-runner/profraw_update.py
  function relativize_address (line 34) | def relativize_address(data, offset, databegin, sect_prf_cnts, sect_prf_...
  function upgrade (line 49) | def upgrade(data, sect_prf_cnts, sect_prf_data):
  function main (line 133) | def main():

FILE: infra/base-images/base-runner/python_coverage_runner_help.py
  function should_exclude_file (line 28) | def should_exclude_file(filepath):
  function translate_lines (line 46) | def translate_lines(cov_data, new_cov_data, all_file_paths):
  function translate_coverage (line 69) | def translate_coverage(all_file_paths):
  function convert_coveragepy_cov_to_summary_json (line 83) | def convert_coveragepy_cov_to_summary_json(src, dst):
  function main (line 156) | def main():

FILE: infra/base-images/base-runner/test_all.py
  function move_directory_contents (line 40) | def move_directory_contents(src_directory, dst_directory):
  function is_elf (line 54) | def is_elf(filepath):
  function is_shell_script (line 62) | def is_shell_script(filepath):
  function find_fuzz_targets (line 70) | def find_fuzz_targets(directory):
  function do_bad_build_check (line 101) | def do_bad_build_check(fuzz_target):
  function get_broken_fuzz_targets (line 125) | def get_broken_fuzz_targets(bad_build_results, fuzz_targets):
  function has_ignored_targets (line 136) | def has_ignored_targets(out_dir):
  function use_different_out_dir (line 147) | def use_different_out_dir():
  function test_all_outside_out (line 172) | def test_all_outside_out(allowed_broken_targets_percentage):
  function centipede_needs_auxiliaries (line 178) | def centipede_needs_auxiliaries():
  function find_centipede_auxiliary (line 196) | def find_centipede_auxiliary(main_fuzz_target_path):
  function test_all (line 218) | def test_all(out, allowed_broken_targets_percentage):  # pylint: disable...
  function get_allowed_broken_targets_percentage (line 278) | def get_allowed_broken_targets_percentage():
  function main (line 285) | def main():

FILE: infra/base-images/base-runner/test_all_test.py
  class TestTestAll (line 23) | class TestTestAll(unittest.TestCase):
    method test_test_all_no_fuzz_targets (line 28) | def test_test_all_no_fuzz_targets(self, mock_print, _):

FILE: infra/base-images/base-runner/test_one.py
  function test_one (line 24) | def test_one(fuzz_target):
  function main (line 35) | def main():

FILE: infra/bisector.py
  class BisectError (line 59) | class BisectError(Exception):
    method __init__ (line 62) | def __init__(self, message, repo_url):
  function main (line 67) | def main():
  function _get_dedup_token (line 125) | def _get_dedup_token(output):
  function _check_for_crash (line 137) | def _check_for_crash(project_name, fuzz_target, testcase_path):
  function _bisect (line 177) | def _bisect(bisect_type, old_commit, new_commit, testcase_path, fuzz_tar...
  function bisect (line 287) | def bisect(bisect_type, old_commit, new_commit, testcase_path, fuzz_target,

FILE: infra/bisector_test.py
  class BisectIntegrationTests (line 33) | class BisectIntegrationTests(unittest.TestCase):
    method test_bisect_invalid_repo (line 38) | def test_bisect_invalid_repo(self):
    method test_bisect (line 51) | def test_bisect(self):

FILE: infra/build/build_status/fuzz_introspector_page_gen.py
  function refine_percentage_string (line 205) | def refine_percentage_string(percentage_string):
  function fetch_fuzz_introspector_summary (line 227) | def fetch_fuzz_introspector_summary(report_url):
  function get_fuzzer_introspector_project_summary (line 269) | def get_fuzzer_introspector_project_summary(report_url):
  function get_fuzz_introspector_row (line 282) | def get_fuzz_introspector_row(project, report_url):
  function create_introspector_overview_table (line 293) | def create_introspector_overview_table(fuzz_introspector_index):
  function get_fuzz_introspector_html_page (line 302) | def get_fuzz_introspector_html_page(fuzz_introspector_index):

FILE: infra/build/build_status/update_build_status.py
  function get_storage_client (line 59) | def get_storage_client():
  function is_build_successful (line 68) | def is_build_successful(build_obj):
  function upload_status (line 73) | def upload_status(data, status_filename):
  function sort_projects (line 81) | def sort_projects(projects):
  function update_last_successful_build (line 98) | def update_last_successful_build(project, build_tag):
  class BuildGetter (line 125) | class BuildGetter:  # pylint: disable=too-few-public-methods
    method __init__ (line 131) | def __init__(self):
    method _swap_cloudbuild_order_once (line 146) | def _swap_cloudbuild_order_once(self):
    method get_build (line 155) | def get_build(self, build_id):
  function get_build_history (line 168) | def get_build_history(build_ids):
  function _get_main_repo (line 207) | def _get_main_repo(project_name):
  function update_build_status (line 219) | def update_build_status(build_tag, status_filename):
  function update_build_badges (line 250) | def update_build_badges(project, last_build_successful,
  function upload_log (line 279) | def upload_log(build_id):
  function load_status_from_gcs (line 298) | def load_status_from_gcs(filename):
  function update_badges (line 311) | def update_badges():
  function upload_index (line 334) | def upload_index(json_index, html_string):
  function generate_introspector_index (line 348) | def generate_introspector_index():
  function main (line 377) | def main():

FILE: infra/build/build_status/update_build_status_test.py
  class MockGetBuild (line 35) | class MockGetBuild:
    method __init__ (line 38) | def __init__(self, builds):
    method get_build (line 41) | def get_build(self, build_id):
  class TestGetBuildHistory (line 53) | class TestGetBuildHistory(unittest.TestCase):
    method test_get_build_history (line 56) | def test_get_build_history(self, mock_upload_log, mock_cloud_build,
    method test_get_build_history_no_last_success (line 79) | def test_get_build_history_no_last_success(self, mock_upload_log,
  class TestSortProjects (line 100) | class TestSortProjects(unittest.TestCase):
    method test_sort_projects (line 103) | def test_sort_projects(self):
  class TestUpdateLastSuccessfulBuild (line 124) | class TestUpdateLastSuccessfulBuild(unittest.TestCase):
    method setUpClass (line 128) | def setUpClass(cls):
    method setUp (line 134) | def setUp(self):
    method test_update_last_successful_build_new (line 137) | def test_update_last_successful_build_new(self):
    method test_update_last_successful_build_datastore (line 154) | def test_update_last_successful_build_datastore(self):
    method test_update_last_successful_build (line 174) | def test_update_last_successful_build(self):
    method tearDownClass (line 198) | def tearDownClass(cls):
  class TestUpdateBuildStatus (line 202) | class TestUpdateBuildStatus(unittest.TestCase):
    method setUpClass (line 206) | def setUpClass(cls):
    method setUp (line 212) | def setUp(self):
    method test_update_build_status (line 219) | def test_update_build_status(self, mock_upload_log, mock_cloud_build,
    method tearDownClass (line 303) | def tearDownClass(cls):

FILE: infra/build/functions/base_images.py
  class ImageConfig (line 68) | class ImageConfig:
    method __init__ (line 76) | def __init__(self,
    method _get_default_path (line 87) | def _get_default_path(self) -> str:
    method _resolve_dockerfile (line 93) | def _resolve_dockerfile(self) -> str:
    method final_tag (line 110) | def final_tag(self) -> str:
    method full_image_name_with_tag (line 118) | def full_image_name_with_tag(self) -> str:
  function get_base_image_steps (line 172) | def get_base_image_steps(images: Sequence[ImageConfig]) -> list[dict]:
  function run_build (line 205) | def run_build(steps: list[dict],
  function get_images_architecture_manifest_steps (line 266) | def get_images_architecture_manifest_steps(target_tag: str) -> list[dict]:
  function get_image_push_architecture_manifest_steps (line 281) | def get_image_push_architecture_manifest_steps(image: str,
  function base_builder (line 335) | def base_builder(event, context, dry_run: bool = False, no_push: bool = ...

FILE: infra/build/functions/build_and_push_test_images.py
  function push_image (line 45) | def push_image(tag):
  function build_and_push_image (line 53) | def build_and_push_image(image, test_image_tag, version='legacy'):
  function build_image (line 62) | def build_image(image, tags, cache_from_tag, version='latest'):
  function _run_cloudbuild (line 79) | def _run_cloudbuild(build_body):
  function wait_for_build_and_report_summary (line 97) | def wait_for_build_and_report_summary(build_id, cloud_project='oss-fuzz-...
  function get_image_tags (line 176) | def get_image_tags(image: str,
  function gcb_build_and_push_images (line 193) | def gcb_build_and_push_images(test_image_tag: str, version_tag: str = No...
  function build_and_push_images (line 282) | def build_and_push_images(test_image_tag, version_tag=None):
  function main (line 324) | def main():

FILE: infra/build/functions/build_and_run_coverage.py
  class Bucket (line 52) | class Bucket:  # pylint: disable=too-few-public-methods
    method __init__ (line 56) | def __init__(self, project, date, platform, testing):
    method get_upload_url (line 68) | def get_upload_url(self, upload_type):
  class CoverageBucket (line 74) | class CoverageBucket(Bucket):  # pylint: disable=too-few-public-methods
  class IntrospectorBucket (line 79) | class IntrospectorBucket(Bucket):  # pylint: disable=too-few-public-methods
  function get_build_steps (line 84) | def get_build_steps(  # pylint: disable=too-many-locals, too-many-arguments
  function get_fuzz_introspector_steps (line 269) | def get_fuzz_introspector_steps(  # pylint: disable=too-many-locals, too...
  function main (line 339) | def main():

FILE: infra/build/functions/build_and_run_coverage_test.py
  class TestRequestCoverageBuilds (line 36) | class TestRequestCoverageBuilds(fake_filesystem_unittest.TestCase):
    method setUp (line 39) | def setUp(self):
    method test_get_coverage_build_steps (line 52) | def test_get_coverage_build_steps(self, mock_url, mock_corpora_steps,

FILE: infra/build/functions/build_lib.py
  class SignedPolicyDocument (line 71) | class SignedPolicyDocument:
  function get_targets_list_filename (line 127) | def get_targets_list_filename(sanitizer):
  function get_targets_list_url (line 132) | def get_targets_list_url(bucket, project, sanitizer):
  function dockerify_run_step (line 139) | def dockerify_run_step(step,
  function get_upload_bucket (line 170) | def get_upload_bucket(engine, architecture, testing):
  function _get_targets_list (line 181) | def _get_targets_list(project_name):
  function _sign_client_id (line 201) | def _sign_client_id():
  function _sign_blob (line 213) | def _sign_blob(blob):
  function get_signed_policy_document_upload_prefix (line 241) | def get_signed_policy_document_upload_prefix(bucket, path_prefix):
  function get_signed_url (line 282) | def get_signed_url(path, method='PUT', content_type=''):
  function _normalized_name (line 296) | def _normalized_name(name):
  function download_corpora_steps (line 303) | def download_corpora_steps(project_name, test_image_suffix):
  function download_coverage_data_steps (line 343) | def download_coverage_data_steps(project_name,
  function http_upload_step (line 378) | def http_upload_step(data, signed_url, content_type):
  function signed_policy_document_curl_args (line 396) | def signed_policy_document_curl_args(doc: SignedPolicyDocument):
  function upload_using_signed_policy_document (line 412) | def upload_using_signed_policy_document(file_path, upload_path,
  function gsutil_rm_rf_step (line 430) | def gsutil_rm_rf_step(url):
  function get_pull_test_images_steps (line 443) | def get_pull_test_images_steps(test_image_suffix):
  function get_srcmap_step_id (line 485) | def get_srcmap_step_id():
  function get_git_clone_step (line 490) | def get_git_clone_step(repo_url='https://github.com/google/oss-fuzz.git',
  function _make_image_name_architecture_specific (line 504) | def _make_image_name_architecture_specific(image_name, architecture):
  function get_unique_build_step_image_id (line 509) | def get_unique_build_step_image_id():
  function get_docker_build_step (line 513) | def get_docker_build_step(image_names,
  function has_arm_build (line 575) | def has_arm_build(architectures):
  function get_srcmap_steps (line 580) | def get_srcmap_steps(image, language, directory='/workspace'):
  function get_project_image_steps (line 596) | def get_project_image_steps(  # pylint: disable=too-many-arguments
  function _get_unsafe_name (line 668) | def _get_unsafe_name(name):
  function get_logs_url (line 672) | def get_logs_url(build_id):
  function get_gcb_url (line 678) | def get_gcb_url(build_id, cloud_project='oss-fuzz'):
  function get_build_info_lines (line 685) | def get_build_info_lines(build_id, cloud_project='oss-fuzz'):
  function get_runner_image_name (line 696) | def get_runner_image_name(test_image_suffix=None, base_image_tag=None):
  function get_build_body (line 717) | def get_build_body(  # pylint: disable=too-many-arguments
  function _tgz_local_build (line 755) | def _tgz_local_build(oss_fuzz_project, temp_tgz_path):
  function run_build (line 765) | def run_build(  # pylint: disable=too-many-arguments, too-many-locals
  function wait_for_build (line 814) | def wait_for_build(build_id, credentials, cloud_project):
  function cancel_build (line 836) | def cancel_build(build_id, credentials, cloud_project):

FILE: infra/build/functions/build_project.py
  class Config (line 73) | class Config:
  class Build (line 103) | class Build:  # pylint: disable=too-few-public-methods
    method __init__ (line 106) | def __init__(self, fuzzing_engine, sanitizer, architecture):
    method is_arm (line 114) | def is_arm(self):
    method out (line 119) | def out(self):
  function get_project_data (line 126) | def get_project_data(project_name):
  function get_sanitizer_strings (line 144) | def get_sanitizer_strings(sanitizers):
  function set_default_sanitizer_for_centipede (line 157) | def set_default_sanitizer_for_centipede(project_yaml):
  class Project (line 165) | class Project:  # pylint: disable=too-many-instance-attributes
    method __init__ (line 168) | def __init__(self, name, project_yaml, dockerfile):
    method sanitizers (line 200) | def sanitizers(self):
    method image (line 206) | def image(self):
    method cached_image (line 211) | def cached_image(self):
  function get_last_step_id (line 216) | def get_last_step_id(steps):
  function set_yaml_defaults (line 221) | def set_yaml_defaults(project_yaml):
  function is_supported_configuration (line 235) | def is_supported_configuration(build):
  function workdir_from_dockerfile (line 248) | def workdir_from_dockerfile(dockerfile):
  function get_datetime_now (line 261) | def get_datetime_now():
  function get_env (line 266) | def get_env(fuzzing_language, build, project_name=None):
  function get_compile_step (line 286) | def get_compile_step(project,
  function maybe_add_parallel (line 336) | def maybe_add_parallel(step, wait_for_id, parallel):
  function get_id (line 344) | def get_id(step_type, build):
  function get_build_steps (line 351) | def get_build_steps(  # pylint: disable=too-many-locals, too-many-statem...
  function get_build_steps_for_project (line 369) | def get_build_steps_for_project(project,
  function _indexer_built_image_name (line 510) | def _indexer_built_image_name(name: str):
  function _tracer_built_image_name (line 516) | def _tracer_built_image_name(name: str):
  function _create_indexed_build_steps (line 522) | def _create_indexed_build_steps(project,
  function get_indexer_build_steps (line 625) | def get_indexer_build_steps(project_name,
  function get_targets_list_upload_step (line 670) | def get_targets_list_upload_step(bucket, project, build, uploader_image):
  function get_uploader_image (line 684) | def get_uploader_image():
  function get_upload_steps (line 689) | def get_upload_steps(project, build, timestamp, testing):
  function get_cleanup_step (line 744) | def get_cleanup_step(project, build):
  function run_build (line 757) | def run_build(oss_fuzz_project,
  function parse_args (line 790) | def parse_args(description, args):
  function create_config (line 833) | def create_config(args, build_type, base_image_tag=None):
  function build_script_main (line 848) | def build_script_main(script_description,
  function main (line 889) | def main():

FILE: infra/build/functions/build_project_test.py
  class TestRequestCoverageBuilds (line 35) | class TestRequestCoverageBuilds(fake_filesystem_unittest.TestCase):
    method setUp (line 38) | def setUp(self):
    method test_get_build_steps (line 47) | def test_get_build_steps(self, mock_url, mock_get_datetime_now, mock_g...
    method test_get_centipede_build_steps (line 83) | def test_get_centipede_build_steps(self, mock_url, mock_get_datetime_now,
    method test_get_build_steps_ubuntu_24_04 (line 120) | def test_get_build_steps_ubuntu_24_04(self, mock_url, mock_get_datetim...

FILE: infra/build/functions/datastore_entities.py
  class Project (line 21) | class Project(ndb.Model):
  class GithubCreds (line 30) | class GithubCreds(ndb.Model):
  class BuildsHistory (line 37) | class BuildsHistory(ndb.Model):
  class LastSuccessfulBuild (line 44) | class LastSuccessfulBuild(ndb.Model):

FILE: infra/build/functions/fuzzbench.py
  function get_engine_project_image_name (line 45) | def get_engine_project_image_name(fuzzing_engine, project):
  function get_ood_image_name (line 51) | def get_ood_image_name(fuzzing_engine, project):
  function get_gcs_public_corpus_url (line 58) | def get_gcs_public_corpus_url(project, fuzz_target_name):
  function get_latest_libfuzzer_build (line 66) | def get_latest_libfuzzer_build(project_name):
  function get_fuzz_target_name (line 80) | def get_fuzz_target_name(project_name):
  function get_env (line 98) | def get_env(project, build, fuzz_target_name):
  function get_fuzzbench_setup_steps (line 112) | def get_fuzzbench_setup_steps():
  function get_build_fuzzers_steps (line 143) | def get_build_fuzzers_steps(fuzzing_engine, project, env):
  function get_gcs_corpus_steps (line 194) | def get_gcs_corpus_steps(fuzzing_engine, project, env_dict):
  function get_build_ood_image_steps (line 236) | def get_build_ood_image_steps(fuzzing_engine, project, env_dict):
  function get_push_and_run_ood_image_steps (line 295) | def get_push_and_run_ood_image_steps(fuzzing_engine, project, env_dict):
  function get_extract_crashes_steps (line 321) | def get_extract_crashes_steps(fuzzing_engine, project, env_dict):
  function get_upload_testcase_steps (line 356) | def get_upload_testcase_steps(project, env_dict):
  function get_upload_corpus_steps (line 388) | def get_upload_corpus_steps(fuzzing_engine, project, env_dict):
  function get_build_steps (line 410) | def get_build_steps(  # pylint: disable=too-many-locals, too-many-arguments
  function main (line 444) | def main():

FILE: infra/build/functions/fuzzbench_local_run.py
  function run_step_locally (line 39) | def run_step_locally(temp_dir, local_fuzzbench_path, step, i, log_file):
  function remove_temp_dir_content (line 141) | def remove_temp_dir_content(temp_dir, i, log_file):
  function run_steps_locally (line 150) | def run_steps_locally(steps,
  function main (line 181) | def main():

FILE: infra/build/functions/fuzzbench_test.py
  class GetFuzzTargetName (line 36) | class GetFuzzTargetName(unittest.TestCase):
    method test_successful_retrieval (line 42) | def test_successful_retrieval(self, mock_logging_info, mock_randint,
    method test_api_error (line 73) | def test_api_error(self, mock_logging_info, mock_get):
    method test_no_fuzz_targets (line 91) | def test_no_fuzz_targets(self, mock_logging_info, mock_get):
    method test_empty_pairs (line 110) | def test_empty_pairs(self, mock_logging_info, mock_get):
  class FuzzbenchRunsTest (line 128) | class FuzzbenchRunsTest(unittest.TestCase):
    method setUp (line 131) | def setUp(self):
    method tearDown (line 135) | def tearDown(self):
    method _fuzzbench_test_setup (line 142) | def _fuzzbench_test_setup(self):
    method _assert_log_content (line 156) | def _assert_log_content(self, frequency):
    method _fuzzbench_setup_steps_test (line 163) | def _fuzzbench_setup_steps_test(self, fuzzing_engine, project, env):
    method _get_project_image_steps_test (line 172) | def _get_project_image_steps_test(self, fuzzing_engine, project, env_d...
    method _build_fuzzers_steps_test (line 187) | def _build_fuzzers_steps_test(self, fuzzing_engine, project, env):
    method _corpus_steps_test (line 196) | def _corpus_steps_test(self, fuzzing_engine, project, env_dict):
    method _build_ood_image_steps_test (line 205) | def _build_ood_image_steps_test(self, fuzzing_engine, project, env_dict):
    method _run_ood_image_step_test (line 220) | def _run_ood_image_step_test(self, fuzzing_engine, project, env_dict):
    method _extract_crashes_steps_test (line 234) | def _extract_crashes_steps_test(self, fuzzing_engine, project, env_dict):
    method test_fuzzbench_runs (line 247) | def test_fuzzbench_runs(self):

FILE: infra/build/functions/gcb.py
  function get_comments (line 37) | def get_comments(pull_request_number):
  function get_latest_gcbrun_command (line 51) | def get_latest_gcbrun_command(comments):
  function exec_command_from_github (line 68) | def exec_command_from_github(args):
  function main (line 102) | def main():

FILE: infra/build/functions/gcb_test.py
  class GetLatestGCBrunCommandTest (line 23) | class GetLatestGCBrunCommandTest(unittest.TestCase):
    method test_command_parsing (line 26) | def test_command_parsing(self):
    method test_last_comment (line 39) | def test_last_comment(self):
    method test_oss_fuzz_on_demand_command_parsing (line 56) | def test_oss_fuzz_on_demand_command_parsing(self):
  class ExecCommandFromGithubTest (line 71) | class ExecCommandFromGithubTest(unittest.TestCase):
    method test_exec_command (line 79) | def test_exec_command(self):
    method test_build_script_main_args (line 157) | def test_build_script_main_args(self, mock_oss_fuzz_on_demand_main,

FILE: infra/build/functions/indexer_build_test.py
  class TestIndexerBuildSteps (line 31) | class TestIndexerBuildSteps(fake_filesystem_unittest.TestCase):
    method setUp (line 34) | def setUp(self):
    method test_get_indexer_build_steps (line 41) | def test_get_indexer_build_steps(self, mock_get_project_image_steps,

FILE: infra/build/functions/main.py
  function build_project (line 25) | def build_project(event, context):
  function sync (line 30) | def sync(event, context):
  function build_base_images (line 35) | def build_base_images(event, context):
  function coverage_build (line 40) | def coverage_build(event, context):
  function introspector_build (line 45) | def introspector_build(event, context):

FILE: infra/build/functions/ood_upload_corpus.py
  function get_corpus_signed_policy_document (line 34) | def get_corpus_signed_policy_document(project_name, fuzz_target_name):
  function upload_corpus_file (line 43) | def upload_corpus_file(file_path, upload_path, doc):
  function get_files_path (line 69) | def get_files_path(directory_path, num_files):
  function upload_corpus (line 81) | def upload_corpus(doc_str, path_prefix, output_corpus_directory, num_upl...
  function get_args (line 93) | def get_args():
  function main (line 114) | def main():

FILE: infra/build/functions/ood_upload_corpus_test.py
  class GetFilePathTest (line 29) | class GetFilePathTest(unittest.TestCase):
    method setUp (line 32) | def setUp(self):
    method tearDown (line 36) | def tearDown(self):
    method test_no_files (line 40) | def test_no_files(self):
    method test_single_file (line 44) | def test_single_file(self):
    method test_multiple_files (line 52) | def test_multiple_files(self):
    method test_with_subdirectory (line 67) | def test_with_subdirectory(self):
  class TestUploadCorpus (line 79) | class TestUploadCorpus(unittest.TestCase):
    method test_upload_multiple_files (line 85) | def test_upload_multiple_files(self, mock_get_files_path,

FILE: infra/build/functions/ood_upload_testcase.py
  function get_access_token (line 36) | def get_access_token(access_token_path):
  function get_headers (line 43) | def get_headers(access_token_path):
  function upload_testcase (line 51) | def upload_testcase(upload_url, testcase_path, job, target, access_token...
  function get_crash_file_path (line 73) | def get_crash_file_path(dir_path):
  function main (line 84) | def main():

FILE: infra/build/functions/ood_upload_testcase_test.py
  class GetCrashFilePathTest (line 27) | class GetCrashFilePathTest(unittest.TestCase):
    method setUp (line 30) | def setUp(self):
    method tearDown (line 34) | def tearDown(self):
    method test_no_files (line 38) | def test_no_files(self):
    method test_single_file (line 42) | def test_single_file(self):
    method test_multiple_files (line 50) | def test_multiple_files(self):
    method test_with_subdirectory (line 61) | def test_with_subdirectory(self):
    method test_oom_file (line 72) | def test_oom_file(self):

FILE: infra/build/functions/oss_fuzz_on_demand.py
  function oss_fuzz_on_demand_main (line 25) | def oss_fuzz_on_demand_main(args=None):
  function main (line 33) | def main():

FILE: infra/build/functions/project_experiment.py
  function run_experiment (line 28) | def run_experiment(project_name, command, output_path, experiment_name):
  function main (line 105) | def main():

FILE: infra/build/functions/project_sync.py
  class OssFuzzRepo (line 54) | class OssFuzzRepo:
    method __init__ (line 60) | def __init__(self, out_dir):
    method _repo_dir (line 70) | def _repo_dir(self):
    method get_contents (line 73) | def get_contents(self, path):
  class ProjectYamlError (line 96) | class ProjectYamlError(Exception):
  function create_scheduler (line 100) | def create_scheduler(cloud_scheduler_client, project_name, schedule, tag,
  function delete_scheduler (line 128) | def delete_scheduler(cloud_scheduler_client, project_name, tag):
  function delete_project (line 137) | def delete_project(cloud_scheduler_client, project):
  function sync_projects (line 157) | def sync_projects(cloud_scheduler_client, projects):
  function _has_docker_file (line 217) | def _has_docker_file(project_contents):
  function get_project_metadata (line 223) | def get_project_metadata(project_contents):
  function get_projects (line 249) | def get_projects(repo):
  function sync (line 272) | def sync(event, context):

FILE: infra/build/functions/project_sync_test.py
  class Repository (line 36) | class Repository:
    method __init__ (line 39) | def __init__(self, name, file_type, path, contents=None):
    method get_contents (line 46) | def get_contents(self, path):
    method set_yaml_contents (line 57) | def set_yaml_contents(self, decoded_content):
  class CloudSchedulerClient (line 62) | class CloudSchedulerClient:
    method __init__ (line 65) | def __init__(self):
    method location_path (line 69) | def location_path(self, project_id, location_id):
    method create_job (line 73) | def create_job(self, parent, job):
    method get_job (line 78) | def get_job(self, name):
    method job_path (line 87) | def job_path(self, project_id, location_id, name):
    method delete_job (line 91) | def delete_job(self, name):
    method update_job (line 98) | def update_job(self, job, update_mask):
  class TestDataSync (line 105) | class TestDataSync(unittest.TestCase):
    method setUpClass (line 109) | def setUpClass(cls):
    method setUp (line 115) | def setUp(self):
    method test_sync_projects_update (line 118) | def test_sync_projects_update(self):
    method test_sync_projects_create (line 144) | def test_sync_projects_create(self):
    method test_sync_projects_delete (line 231) | def test_sync_projects_delete(self):
    method test_get_projects_yaml (line 253) | def test_get_projects_yaml(self):
    method test_get_projects_no_docker_file (line 279) | def test_get_projects_no_docker_file(self):
    method test_get_projects_invalid_project_name (line 297) | def test_get_projects_invalid_project_name(self):
    method test_get_projects_non_directory_type_project (line 318) | def test_get_projects_non_directory_type_project(self):
    method test_invalid_yaml_format (line 336) | def test_invalid_yaml_format(self):
    method test_yaml_out_of_range (line 350) | def test_yaml_out_of_range(self):
    method tearDownClass (line 364) | def tearDownClass(cls):

FILE: infra/build/functions/report_generator.py
  function _print_box (line 31) | def _print_box(title, lines):
  function generate_final_summary (line 48) | def generate_final_summary(all_results):
  function generate_comparison_table (line 79) | def generate_comparison_table(all_results):
  function main (line 118) | def main():

FILE: infra/build/functions/request_build.py
  function update_build_history (line 31) | def update_build_history(project_name, build_id, build_tag):
  function get_project_data (line 51) | def get_project_data(project_name):
  function get_empty_config (line 64) | def get_empty_config():
  function get_build_steps (line 69) | def get_build_steps(project_name, timestamp=None):
  function get_indexer_build_steps (line 83) | def get_indexer_build_steps(project_name, timestamp=None):
  function run_build (line 95) | def run_build(oss_fuzz_project,
  function request_build (line 110) | def request_build(event, context):

FILE: infra/build/functions/request_build_test.py
  class TestRequestBuilds (line 37) | class TestRequestBuilds(unittest.TestCase):
    method setUpClass (line 41) | def setUpClass(cls):
    method setUp (line 47) | def setUp(self):
    method tearDown (line 59) | def tearDown(self):
    method test_get_build_steps_no_project (line 62) | def test_get_build_steps_no_project(self):
    method test_get_build_steps_with_base_os_version (line 69) | def test_get_build_steps_with_base_os_version(self, mock_run_build):
    method test_build_history (line 136) | def test_build_history(self):
    method test_build_history_no_existing_project (line 150) | def test_build_history_no_existing_project(self):
    method test_get_project_data (line 159) | def test_get_project_data(self):
    method tearDownClass (line 166) | def tearDownClass(cls):

FILE: infra/build/functions/request_coverage_build.py
  function get_build_steps (line 29) | def get_build_steps(project_name):
  function request_coverage_build (line 39) | def request_coverage_build(event, context):

FILE: infra/build/functions/request_coverage_build_test.py
  class TestRequestCoverageBuild (line 35) | class TestRequestCoverageBuild(unittest.TestCase):
    method setUpClass (line 39) | def setUpClass(cls):
    method setUp (line 45) | def setUp(self):
    method test_get_build_steps_with_base_os_version (line 52) | def test_get_build_steps_with_base_os_version(self, mock_get_signed_url,
    method tearDownClass (line 97) | def tearDownClass(cls):

FILE: infra/build/functions/request_introspector_build.py
  function get_build_steps (line 30) | def get_build_steps(project_name, image_project, base_images_project):
  function request_introspector_build (line 42) | def request_introspector_build(event, context):

FILE: infra/build/functions/request_introspector_build_test.py
  class TestRequestIntrospectorBuild (line 35) | class TestRequestIntrospectorBuild(unittest.TestCase):
    method setUpClass (line 39) | def setUpClass(cls):
    method setUp (line 45) | def setUp(self):
    method test_get_build_steps_with_base_os_version (line 50) | def test_get_build_steps_with_base_os_version(self, mock_run_build):
    method tearDownClass (line 95) | def tearDownClass(cls):

FILE: infra/build/functions/target_experiment.py
  function run_experiment (line 32) | def run_experiment(project_name,
  function main (line 287) | def main():

FILE: infra/build/functions/test_utils.py
  function create_project_data (line 37) | def create_project_data(project,
  function start_datastore_emulator (line 52) | def start_datastore_emulator():
  function wait_for_emulator_ready (line 69) | def wait_for_emulator_ready(proc,
  function reset_ds_emulator (line 100) | def reset_ds_emulator():
  function cleanup_emulator (line 106) | def cleanup_emulator(ds_emulator):
  function set_gcp_environment (line 112) | def set_gcp_environment():
  function get_test_data_file_path (line 122) | def get_test_data_file_path(filename):

FILE: infra/build/functions/trial_build.py
  function _get_production_build_statuses (line 74) | def _get_production_build_statuses(build_type):
  function get_all_projects (line 100) | def get_all_projects():
  function get_project_languages (line 111) | def get_project_languages():
  function handle_special_projects (line 127) | def handle_special_projects(args):
  function get_args (line 142) | def get_args(args=None):
  function handle_phase1_failure (line 185) | def handle_phase1_failure(version_tag):
  function get_projects_to_build (line 204) | def get_projects_to_build(specified_projects, build_type, force_build):
  function trial_build_main (line 215) | def trial_build_main(args=None, local_base_build=True):
  function _do_test_builds (line 287) | def _do_test_builds(args, test_image_suffix, end_time, version_tag):
  function _do_build_type_builds (line 404) | def _do_build_type_builds(args, config, credentials, build_type, projects):
  function _print_summary_box (line 472) | def _print_summary_box(title, lines):
  function get_build_status_from_gcb (line 490) | def get_build_status_from_gcb(cloudbuild_api, cloud_project, build_id):
  function check_finished (line 497) | def check_finished(build_id, cloudbuild_api, cloud_project, retries_map):
  function wait_on_builds (line 512) | def wait_on_builds(args, build_ids, credentials, cloud_project, end_time,

FILE: infra/build/functions/trial_build_test.py
  class GetProjectsToBuild (line 25) | class GetProjectsToBuild(unittest.TestCase):
    method test_force_build (line 35) | def test_force_build(self, mock_get_production_build_statuses):
    method test_get_projects_to_build (line 47) | def test_get_projects_to_build(self, mock_get_production_build_statuses):
  class TrialBuildMainTest (line 55) | class TrialBuildMainTest(unittest.TestCase):
    method test_build_steps_correct (line 65) | def test_build_steps_correct(self, mock_gcb_build_and_push_images,

FILE: infra/build_specified_commit.py
  class BaseBuilderRepo (line 43) | class BaseBuilderRepo:
    method __init__ (line 46) | def __init__(self):
    method add_digest (line 50) | def add_digest(self, timestamp, digest):
    method find_digest (line 55) | def find_digest(self, timestamp):
  function _replace_gitdir (line 65) | def _replace_gitdir(src_dir, file_path):
  function _make_gitdirs_relative (line 93) | def _make_gitdirs_relative(src_dir):
  function _replace_base_builder_digest (line 104) | def _replace_base_builder_digest(dockerfile_path, digest):
  function copy_src_from_docker (line 120) | def copy_src_from_docker(project_name, host_dir):
  function _build_image_with_retries (line 147) | def _build_image_with_retries(project_name):
  function get_required_post_checkout_steps (line 152) | def get_required_post_checkout_steps(dockerfile_path):
  function build_fuzzers_from_commit (line 180) | def build_fuzzers_from_commit(commit,
  function detect_main_repo (line 291) | def detect_main_repo(project_name, repo_name=None, commit=None):
  function load_base_builder_repo (line 336) | def load_base_builder_repo():
  function main (line 364) | def main():

FILE: infra/build_specified_commit_test.py
  class BuildImageIntegrationTest (line 35) | class BuildImageIntegrationTest(unittest.TestCase):
    method test_build_fuzzers_from_commit (line 39) | def test_build_fuzzers_from_commit(self):
    method test_detect_main_repo_from_commit (line 81) | def test_detect_main_repo_from_commit(self):
    method test_detect_main_repo_from_name (line 101) | def test_detect_main_repo_from_name(self):

FILE: infra/chronos/coverage_test_collection.py
  function collect_coverage_profraw_files (line 26) | def collect_coverage_profraw_files():
  function find_all_executables (line 38) | def find_all_executables():
  function run_llvm_html_generation (line 81) | def run_llvm_html_generation(objects, out_dir, workdir=COV_WORKDIR):
  function reset_cov_workdir (line 116) | def reset_cov_workdir():
  function main (line 123) | def main():

FILE: infra/chronos/integrity_validator_check_replay.py
  function normal_compile (line 26) | def normal_compile():
  function source_code_white_noise (line 30) | def source_code_white_noise():
  function source_code_compile_error (line 51) | def source_code_compile_error():
  function macro_compile_error (line 69) | def macro_compile_error():
  function missing_header_error (line 87) | def missing_header_error():
  function duplicate_symbol_error (line 124) | def duplicate_symbol_error():
  function function_linker_error (line 178) | def function_linker_error():
  function main (line 245) | def main():

FILE: infra/chronos/integrity_validator_run_tests.py
  function _add_payload_random_functions (line 36) | def _add_payload_random_functions(exts: list[str], payload: str) -> str:
  function normal_patch (line 93) | def normal_patch():
  function signal_abort_crash (line 98) | def signal_abort_crash():
  function builtin_trap_crash (line 104) | def builtin_trap_crash():
  function null_write_crash (line 110) | def null_write_crash():
  function wrong_return_value (line 116) | def wrong_return_value():
  class LogicErrorPatch (line 185) | class LogicErrorPatch:
  function _capture_source_control (line 221) | def _capture_source_control():
  function diff_patch_analysis (line 259) | def diff_patch_analysis(stage: str) -> int:
  function main (line 332) | def main():

FILE: infra/chronos/manager.py
  function _get_oss_fuzz_root (line 33) | def _get_oss_fuzz_root():
  function _get_project_cached_named (line 39) | def _get_project_cached_named(project: common_utils.Project,
  function _get_project_cached_named_local (line 46) | def _get_project_cached_named_local(project: common_utils.Project,
  function build_cached_project (line 51) | def build_cached_project(project: common_utils.Project,
  function check_cached_replay (line 108) | def check_cached_replay(project: common_utils.Project,
  function check_tests (line 193) | def check_tests(project: common_utils.Project,
  function extract_test_coverage (line 386) | def extract_test_coverage(project):
  function cmd_dispatcher_check_tests (line 422) | def cmd_dispatcher_check_tests(args):
  function cmd_dispatcher_check_replay (line 430) | def cmd_dispatcher_check_replay(args):
  function cmd_dispatcher_build_cached_image (line 437) | def cmd_dispatcher_build_cached_image(args):
  function cmd_dispatcher_extract_coverage (line 442) | def cmd_dispatcher_extract_coverage(args):
  function parse_args (line 447) | def parse_args():
  function main (line 532) | def main():

FILE: infra/ci/build.py
  function get_changed_files_output (line 40) | def get_changed_files_output():
  function get_modified_buildable_projects (line 49) | def get_modified_buildable_projects():
  function get_oss_fuzz_root (line 69) | def get_oss_fuzz_root():
  function execute_helper_command (line 76) | def execute_helper_command(helper_command):
  function build_fuzzers (line 85) | def build_fuzzers(project, engine, sanitizer, architecture):
  function check_build (line 94) | def check_build(project, engine, sanitizer, architecture):
  function should_build_coverage (line 103) | def should_build_coverage(project_yaml):
  function flatten_options (line 127) | def flatten_options(option_list):
  function should_build (line 143) | def should_build(project_yaml):
  function build_project (line 161) | def build_project(project):
  class BuildModifiedProjectsResult (line 192) | class BuildModifiedProjectsResult(enum.Enum):
  function build_modified_projects (line 199) | def build_modified_projects():
  function is_infra_changed (line 222) | def is_infra_changed():
  function build_base_images (line 229) | def build_base_images():
  function build_canary_project (line 256) | def build_canary_project():
  function main (line 269) | def main():

FILE: infra/ci/build_test.py
  function patch_environ (line 30) | def patch_environ(testcase_obj):
  function _set_coverage_build (line 38) | def _set_coverage_build():
  class TestShouldBuild (line 45) | class TestShouldBuild(unittest.TestCase):
    method setUp (line 48) | def setUp(self):
    method test_none_engine_coverage_build (line 51) | def test_none_engine_coverage_build(self):
    method test_unspecified_engines_coverage_build (line 62) | def test_unspecified_engines_coverage_build(self):
    method test_libfuzzer_coverage_build (line 69) | def test_libfuzzer_coverage_build(self):
    method test_go_coverage_build (line 80) | def test_go_coverage_build(self):
    method test_engine_project_none_build (line 87) | def test_engine_project_none_build(self):
    method test_centipede_none_build (line 100) | def test_centipede_none_build(self):
    method test_centipede_address_build (line 113) | def test_centipede_address_build(self):

FILE: infra/ci/check_base_os.py
  function main (line 43) | def main():

FILE: infra/cifuzz/affected_fuzz_targets.py
  function remove_unaffected_fuzz_targets (line 25) | def remove_unaffected_fuzz_targets(clusterfuzz_deployment, out_dir,
  function is_fuzz_target_affected (line 78) | def is_fuzz_target_affected(coverage, fuzz_target_path, files_changed):
  function get_affected_fuzz_targets (line 106) | def get_affected_fuzz_targets(coverage, fuzz_target_paths, files_changed):

FILE: infra/cifuzz/affected_fuzz_targets_test.py
  class RemoveUnaffectedFuzzTargetsTest (line 41) | class RemoveUnaffectedFuzzTargetsTest(unittest.TestCase):
    method test_remove_unaffected_fuzz_targets (line 62) | def test_remove_unaffected_fuzz_targets(self, side_effect, expected_di...
  class IsFuzzTargetAffectedTest (line 88) | class IsFuzzTargetAffectedTest(unittest.TestCase):
    method setUp (line 91) | def setUp(self):
    method test_relative_paths (line 94) | def test_relative_paths(self):

FILE: infra/cifuzz/base_runner_utils.py
  function get_env (line 21) | def get_env(config, workspace):

FILE: infra/cifuzz/build_fuzzers.py
  function check_project_src_path (line 37) | def check_project_src_path(project_src_path):
  class Builder (line 50) | class Builder:  # pylint: disable=too-many-instance-attributes
    method __init__ (line 53) | def __init__(self, config, ci_system):
    method build_image_and_checkout_src (line 66) | def build_image_and_checkout_src(self):
    method build_fuzzers (line 80) | def build_fuzzers(self):
    method upload_build (line 115) | def upload_build(self):
    method check_fuzzer_build (line 123) | def check_fuzzer_build(self):
    method build (line 131) | def build(self):
    method remove_unaffected_fuzz_targets (line 146) | def remove_unaffected_fuzz_targets(self):
  function build_fuzzers (line 161) | def build_fuzzers(config):
  function check_fuzzer_build (line 182) | def check_fuzzer_build(config):
  function _get_docker_build_fuzzers_args_not_container (line 213) | def _get_docker_build_fuzzers_args_not_container(host_repo_path):

FILE: infra/cifuzz/build_fuzzers_entrypoint.py
  function build_fuzzers_entrypoint (line 28) | def build_fuzzers_entrypoint():
  function main (line 54) | def main():

FILE: infra/cifuzz/build_fuzzers_test.py
  function docker_command_has_env_var_arg (line 59) | def docker_command_has_env_var_arg(command, env_var_arg):
  class BuildFuzzersTest (line 71) | class BuildFuzzersTest(unittest.TestCase):
    method test_cifuzz_env_var (line 79) | def test_cifuzz_env_var(self, mock_docker_run, _, __, ___):
    method test_extra_env_var (line 100) | def test_extra_env_var(self, mock_docker_run, _, __, ___):
  class InternalGithubBuildTest (line 118) | class InternalGithubBuildTest(unittest.TestCase):
    method _create_builder (line 125) | def _create_builder(self, tmp_dir, oss_fuzz_project_name='myproject'):
    method test_correct_host_repo_path (line 143) | def test_correct_host_repo_path(self, _, __):
    method test_upload_build_disabled (line 160) | def test_upload_build_disabled(self, mock_upload_build):
    method test_upload_build (line 172) | def test_upload_build(self, mock_upload_build, mock_get_current_commit):
  class BuildFuzzersIntegrationTest (line 184) | class BuildFuzzersIntegrationTest(unittest.TestCase):
    method setUp (line 187) | def setUp(self):
    method tearDown (line 196) | def tearDown(self):
    method test_external_github_project (line 199) | def test_external_github_project(self):
    method test_external_generic_project (line 216) | def test_external_generic_project(self):
    method test_valid_commit (line 238) | def test_valid_commit(self):
    method test_valid_pull_request (line 251) | def test_valid_pull_request(self):
    method test_invalid_pull_request (line 264) | def test_invalid_pull_request(self):
    method test_invalid_oss_fuzz_project_name (line 275) | def test_invalid_oss_fuzz_project_name(self):
    method test_invalid_repo_name (line 284) | def test_invalid_repo_name(self):
    method test_invalid_git_sha (line 293) | def test_invalid_git_sha(self):
    method test_invalid_workspace (line 304) | def test_invalid_workspace(self):
  class CheckFuzzerBuildTest (line 314) | class CheckFuzzerBuildTest(unittest.TestCase):
    method setUp (line 320) | def setUp(self):
    method tearDown (line 333) | def tearDown(self):
    method test_correct_fuzzer_build (line 336) | def test_correct_fuzzer_build(self):
    method test_not_a_valid_path (line 340) | def test_not_a_valid_path(self):
    method test_no_valid_fuzzers (line 345) | def test_no_valid_fuzzers(self):
    method test_allow_broken_fuzz_targets_percentage (line 353) | def test_allow_broken_fuzz_targets_percentage(self, mock_execute):
  class BuildSantizerIntegrationTest (line 365) | class BuildSantizerIntegrationTest(unittest.TestCase):
    method _create_config (line 372) | def _create_config(cls, tmp_dir, sanitizer):
    method test_valid_project_curl (line 381) | def test_valid_project_curl(self, sanitizer):
  class GetDockerBuildFuzzersArgsNotContainerTest (line 388) | class GetDockerBuildFuzzersArgsNotContainerTest(unittest.TestCase):
    method test_get_docker_build_fuzzers_args_no_container (line 392) | def test_get_docker_build_fuzzers_args_no_container(self):

FILE: infra/cifuzz/cifuzz_combined_entrypoint.py
  function main (line 22) | def main():

FILE: infra/cifuzz/cifuzz_end_to_end_test.py
  class EndToEndTest (line 32) | class EndToEndTest(unittest.TestCase):
    method setUp (line 35) | def setUp(self):
    method test_simple (line 38) | def test_simple(self):

FILE: infra/cifuzz/clusterfuzz_deployment.py
  class BaseClusterFuzzDeployment (line 33) | class BaseClusterFuzzDeployment:
    method __init__ (line 36) | def __init__(self, config, workspace):
    method download_latest_build (line 41) | def download_latest_build(self):
    method upload_build (line 49) | def upload_build(self, commit):
    method download_corpus (line 53) | def download_corpus(self, target_name, corpus_dir):
    method upload_crashes (line 61) | def upload_crashes(self):
    method upload_corpus (line 65) | def upload_corpus(self, target_name, corpus_dir, replace=False):  # py...
    method upload_coverage (line 69) | def upload_coverage(self):
    method get_coverage (line 73) | def get_coverage(self, repo_path):
  function _make_empty_dir_if_nonexistent (line 78) | def _make_empty_dir_if_nonexistent(path):
  class ClusterFuzzLite (line 83) | class ClusterFuzzLite(BaseClusterFuzzDeployment):
    method __init__ (line 89) | def __init__(self, config, workspace):
    method download_latest_build (line 93) | def download_latest_build(self):
    method download_corpus (line 142) | def download_corpus(self, target_name, corpus_dir):
    method _get_build_name (line 155) | def _get_build_name(self, name):
    method _get_corpus_name (line 158) | def _get_corpus_name(self, target_name):  # pylint: disable=no-self-use
    method upload_corpus (line 162) | def upload_corpus(self, target_name, corpus_dir, replace=False):
    method upload_build (line 173) | def upload_build(self, commit):
    method upload_crashes (line 185) | def upload_crashes(self):
    method upload_coverage (line 206) | def upload_coverage(self):
    method get_coverage (line 211) | def get_coverage(self, repo_path):
  class OSSFuzz (line 226) | class OSSFuzz(BaseClusterFuzzDeployment):
    method get_latest_build_name (line 235) | def get_latest_build_name(self):
    method download_latest_build (line 255) | def download_latest_build(self):
    method upload_build (line 284) | def upload_build(self, commit):  # pylint: disable=no-self-use
    method upload_corpus (line 288) | def upload_corpus(self, target_name, corpus_dir, replace=False):  # py...
    method upload_crashes (line 292) | def upload_crashes(self):  # pylint: disable=no-self-use
    method download_corpus (line 296) | def download_corpus(self, target_name, corpus_dir):
    method upload_coverage (line 318) | def upload_coverage(self):
    method get_coverage (line 322) | def get_coverage(self, repo_path):
  class NoClusterFuzzDeployment (line 331) | class NoClusterFuzzDeployment(BaseClusterFuzzDeployment):
    method upload_build (line 335) | def upload_build(self, commit):  # pylint: disable=no-self-use
    method upload_corpus (line 340) | def upload_corpus(self, target_name, corpus_dir, replace=False):  # py...
    method upload_crashes (line 344) | def upload_crashes(self):  # pylint: disable=no-self-use
    method download_corpus (line 348) | def download_corpus(self, target_name, corpus_dir):
    method download_latest_build (line 353) | def download_latest_build(self):  # pylint: disable=no-self-use
    method upload_coverage (line 358) | def upload_coverage(self):
    method get_coverage (line 363) | def get_coverage(self, repo_path):
  function get_clusterfuzz_deployment (line 377) | def get_clusterfuzz_deployment(config, workspace):

FILE: infra/cifuzz/clusterfuzz_deployment_test.py
  function _create_config (line 41) | def _create_config(**kwargs):
  function _create_deployment (line 57) | def _create_deployment(**kwargs):
  class OSSFuzzTest (line 63) | class OSSFuzzTest(fake_filesystem_unittest.TestCase):
    method setUp (line 66) | def setUp(self):
    method test_download_corpus (line 73) | def test_download_corpus(self, mock_download_and_unpack_zip):
    method test_download_corpus_fail (line 84) | def test_download_corpus_fail(self, _):
    method test_get_latest_build_name (line 90) | def test_get_latest_build_name(self):
    method test_noop_methods (line 103) | def test_noop_methods(self, method, method_args, expected_message):
    method test_download_latest_build (line 111) | def test_download_latest_build(self, mock_download_and_unpack_zip):
    method test_download_latest_build_fail (line 124) | def test_download_latest_build_fail(self, _):
  class ClusterFuzzLiteTest (line 130) | class ClusterFuzzLiteTest(fake_filesystem_unittest.TestCase):
    method setUp (line 133) | def setUp(self):
    method test_download_corpus (line 143) | def test_download_corpus(self, mock_download_corpus):
    method test_download_corpus_fail (line 152) | def test_download_corpus_fail(self, _):
    method test_download_latest_build (line 164) | def test_download_latest_build(self, mock_repo_dir, mock_get_commit_list,
    method test_download_latest_build_fail (line 180) | def test_download_latest_build_fail(self, mock_repo_dir, mock_get_comm...
    method test_upload_build (line 187) | def test_upload_build(self, mock_upload_build):
  class NoClusterFuzzDeploymentTest (line 194) | class NoClusterFuzzDeploymentTest(fake_filesystem_unittest.TestCase):
    method setUp (line 197) | def setUp(self):
    method test_download_corpus (line 210) | def test_download_corpus(self, mock_info):
    method test_noop_methods (line 228) | def test_noop_methods(self, method, method_args, expected_message):
  class GetClusterFuzzDeploymentTest (line 236) | class GetClusterFuzzDeploymentTest(unittest.TestCase):
    method setUp (line 239) | def setUp(self):
    method test_get_clusterfuzz_deployment (line 253) | def test_get_clusterfuzz_deployment(self, platform, expected_deploymen...

FILE: infra/cifuzz/config_utils.py
  function _get_sanitizer (line 46) | def _get_sanitizer():
  function _get_architecture (line 50) | def _get_architecture():
  function _is_dry_run (line 54) | def _is_dry_run():
  function _get_language (line 59) | def _get_language():
  function _get_extra_environment_variables (line 69) | def _get_extra_environment_variables():
  class ConfigError (line 78) | class ConfigError(Exception):
  class BaseConfig (line 82) | class BaseConfig:
    class Platform (line 85) | class Platform(enum.Enum):
    method is_github (line 93) | def is_github(self):
    method __init__ (line 97) | def __init__(self):
    method validate (line 144) | def validate(self):
    method is_internal (line 180) | def is_internal(self):
    method platform (line 185) | def platform(self):
    method is_coverage (line 197) | def is_coverage(self):
    method base_os_version (line 203) | def base_os_version(self):
  function pivot_to_ubuntu_24_04 (line 241) | def pivot_to_ubuntu_24_04(image_suffix, script_path, check_result=True):
  function _get_platform_config (line 281) | def _get_platform_config(cfl_platform):
  class RunFuzzersConfig (line 291) | class RunFuzzersConfig(BaseConfig):
    method __init__ (line 296) | def __init__(self):
    method _run_config_validate (line 320) | def _run_config_validate(self):
  class BuildFuzzersConfig (line 332) | class BuildFuzzersConfig(BaseConfig):
    method __init__ (line 335) | def __init__(self):

FILE: infra/cifuzz/config_utils_test.py
  class BaseConfigTest (line 26) | class BaseConfigTest(unittest.TestCase):
    method setUp (line 29) | def setUp(self):
    method _create_config (line 33) | def _create_config(self):
    method test_language_default (line 36) | def test_language_default(self):
    method test_language (line 41) | def test_language(self):
    method test_is_coverage (line 48) | def test_is_coverage(self):
    method test_validate_no_workspace (line 61) | def test_validate_no_workspace(self, mock_error):
    method test_validate_invalid_language (line 69) | def test_validate_invalid_language(self, mock_error):
    method test_validate_invalid_sanitizer (line 80) | def test_validate_invalid_sanitizer(self, mock_error):
    method test_validate (line 91) | def test_validate(self):
    method test_base_os_version_external (line 99) | def test_base_os_version_external(self):
    method test_base_os_version_external_quoted (line 115) | def test_base_os_version_external_quoted(self):
    method test_base_os_version_default (line 127) | def test_base_os_version_default(self):
  class BuildFuzzersConfigTest (line 135) | class BuildFuzzersConfigTest(unittest.TestCase):
    method setUp (line 138) | def setUp(self):
    method _create_config (line 142) | def _create_config(self):
    method test_github_base_ref (line 146) | def test_github_base_ref(self, _):
    method test_base_ref (line 155) | def test_base_ref(self):
    method test_keep_unaffected_defaults_to_true (line 162) | def test_keep_unaffected_defaults_to_true(self):
    method test_keep_unaffected_defaults_to_false_when_pr (line 167) | def test_keep_unaffected_defaults_to_false_when_pr(self):
  class RunFuzzersConfigTest (line 175) | class RunFuzzersConfigTest(unittest.TestCase):
    method setUp (line 178) | def setUp(self):
    method _create_config (line 182) | def _create_config(self):
    method test_coverage (line 185) | def test_coverage(self):
    method test_run_config_validate (line 200) | def test_run_config_validate(self):
    method test_run_config_invalid_mode (line 205) | def test_run_config_invalid_mode(self, mock_error):
  class GetSanitizerTest (line 215) | class GetSanitizerTest(unittest.TestCase):
    method setUp (line 218) | def setUp(self):
    method test_default_value (line 222) | def test_default_value(self):
    method test_normal_case (line 226) | def test_normal_case(self):
    method test_capitalization (line 231) | def test_capitalization(self):

FILE: infra/cifuzz/continuous_integration.py
  function fix_git_repo_for_diff (line 40) | def fix_git_repo_for_diff(repo_manager_obj):
  class BaseCi (line 50) | class BaseCi:
    method __init__ (line 53) | def __init__(self, config):
    method repo_dir (line 59) | def repo_dir(self):
    method prepare_for_fuzzer_build (line 64) | def prepare_for_fuzzer_build(self):
    method get_diff_base (line 69) | def get_diff_base(self):
    method get_changed_code_under_test (line 83) | def get_changed_code_under_test(self, repo_manager_obj):
    method get_build_command (line 94) | def get_build_command(self, host_repo_path, image_repo_path):
    method _build_external_project_docker_image (line 99) | def _build_external_project_docker_image(self, manager):
    method _make_repo_storage_dir (line 113) | def _make_repo_storage_dir(self):
    method _clone_repo_and_checkout (line 116) | def _clone_repo_and_checkout(self, repo_url, repo_name):
    method _checkout_specified_commit (line 131) | def _checkout_specified_commit(self, manager):
    method _detect_main_repo (line 134) | def _detect_main_repo(self):
    method _create_repo_manager_for_project_src_path (line 144) | def _create_repo_manager_for_project_src_path(self):
  function get_build_command (line 149) | def get_build_command():
  function get_replace_repo_and_build_command (line 155) | def get_replace_repo_and_build_command(host_repo_path, image_repo_path):
  function get_ci (line 167) | def get_ci(config):
  function checkout_specified_commit (line 190) | def checkout_specified_commit(repo_manager_obj, pr_ref, git_sha):
  class GithubCiMixin (line 204) | class GithubCiMixin:
    method __init__ (line 207) | def __init__(self, config):
    method repo_dir (line 214) | def repo_dir(self):
  class InternalGithub (line 233) | class InternalGithub(GithubCiMixin, BaseCi):
    method _copy_repo_from_image (line 236) | def _copy_repo_from_image(self, image_repo_path):
    method prepare_for_fuzzer_build (line 252) | def prepare_for_fuzzer_build(self):
    method get_build_command (line 269) | def get_build_command(self, host_repo_path, image_repo_path):  # pylin...
  function get_build_preparation_failure (line 276) | def get_build_preparation_failure():
  class InternalGeneric (line 283) | class InternalGeneric(BaseCi):
    method __init__ (line 287) | def __init__(self, config):
    method repo_dir (line 292) | def repo_dir(self):
    method prepare_for_fuzzer_build (line 297) | def prepare_for_fuzzer_build(self):
    method get_build_command (line 314) | def get_build_command(self, host_repo_path, image_repo_path):  # pylin...
  function build_external_project_docker_image (line 322) | def build_external_project_docker_image(project_src, build_integration_p...
  class ExternalGeneric (line 332) | class ExternalGeneric(BaseCi):
    method __init__ (line 335) | def __init__(self, config):
    method repo_dir (line 340) | def repo_dir(self):
    method prepare_for_fuzzer_build (line 345) | def prepare_for_fuzzer_build(self):
    method get_build_command (line 350) | def get_build_command(self, host_repo_path, image_repo_path):  # pylin...
  class ExternalGithub (line 356) | class ExternalGithub(GithubCiMixin, BaseCi):
    method prepare_for_fuzzer_build (line 359) | def prepare_for_fuzzer_build(self):
    method get_build_command (line 372) | def get_build_command(self, host_repo_path, image_repo_path):  # pylin...

FILE: infra/cifuzz/continuous_integration_test.py
  class FixGitRepoForDiffTest (line 31) | class FixGitRepoForDiffTest(unittest.TestCase):
    method test_fix_git_repo_for_diff (line 35) | def test_fix_git_repo_for_diff(self, mock_execute):
  class GetBuildCommand (line 48) | class GetBuildCommand(unittest.TestCase):
    method test_build_command (line 51) | def test_build_command(self):
  class GetReplaceRepoAndBuildCommand (line 56) | class GetReplaceRepoAndBuildCommand(unittest.TestCase):
    method test_get_replace_repo_and_build_command (line 59) | def test_get_replace_repo_and_build_command(self):
  class BuildExternalProjetDockerImage (line 71) | class BuildExternalProjetDockerImage(unittest.TestCase):
    method test_build_external_project_docker_image (line 75) | def test_build_external_project_docker_image(self, mock_docker_build):

FILE: infra/cifuzz/docker.py
  function get_docker_env_vars (line 48) | def get_docker_env_vars(env_mapping):
  function get_project_image_name (line 57) | def get_project_image_name(project):
  function delete_images (line 69) | def delete_images(images):
  function get_base_docker_run_args (line 76) | def get_base_docker_run_args(workspace,
  function get_base_docker_run_command (line 103) | def get_base_docker_run_command(workspace,
  function _get_args_mapping_host_path_to_container (line 120) | def _get_args_mapping_host_path_to_container(host_path, container_path=N...

FILE: infra/cifuzz/docker_test.py
  class GetProjectImageTest (line 31) | class GetProjectImageTest(unittest.TestCase):
    method test_get_project_image (line 34) | def test_get_project_image(self):
  class GetDeleteImagesTest (line 41) | class GetDeleteImagesTest(unittest.TestCase):
    method test_delete_images (line 45) | def test_delete_images(self, mock_execute):  # pylint: disable=no-self...
  class GetBaseDockerRunArgsTest (line 57) | class GetBaseDockerRunArgsTest(unittest.TestCase):
    method test_get_base_docker_run_args_container (line 61) | def test_get_base_docker_run_args_container(self, _):
    method test_get_base_docker_run_args_no_container (line 87) | def test_get_base_docker_run_args_no_container(self, _):
  class GetBaseDockerRunCommandTest (line 102) | class GetBaseDockerRunCommandTest(unittest.TestCase):
    method test_get_base_docker_run_command_no_container (line 106) | def test_get_base_docker_run_command_no_container(self, _):

FILE: infra/cifuzz/environment.py
  function _eval_value (line 20) | def _eval_value(value_string):
  function get (line 29) | def get(env_var, default_value=None):
  function get_bool (line 38) | def get_bool(env_var, default_value=None):

FILE: infra/cifuzz/filestore/__init__.py
  class FilestoreError (line 17) | class FilestoreError(Exception):
  class BaseFilestore (line 22) | class BaseFilestore:
    method __init__ (line 25) | def __init__(self, config):
    method upload_crashes (line 28) | def upload_crashes(self, name, directory):
    method upload_corpus (line 32) | def upload_corpus(self, name, directory, replace=False):
    method upload_build (line 36) | def upload_build(self, name, directory):
    method upload_coverage (line 40) | def upload_coverage(self, name, directory):
    method download_corpus (line 44) | def download_corpus(self, name, dst_directory):
    method download_build (line 48) | def download_build(self, name, dst_directory):
    method download_coverage (line 52) | def download_coverage(self, name, dst_directory):

FILE: infra/cifuzz/filestore/filesystem/__init__.py
  function recursive_list_dir (line 30) | def recursive_list_dir(directory):
  class FilesystemFilestore (line 40) | class FilesystemFilestore(filestore.BaseFilestore):
    method __init__ (line 47) | def __init__(self, config):
    method _get_filestore_path (line 51) | def _get_filestore_path(self, name, prefix_dir):
    method _upload_directory (line 56) | def _upload_directory(self, name, directory, prefix, delete=False):
    method _download_directory (line 74) | def _download_directory(self, name, dst_directory, prefix):
    method upload_crashes (line 78) | def upload_crashes(self, name, directory):
    method upload_corpus (line 82) | def upload_corpus(self, name, directory, replace=False):
    method upload_build (line 89) | def upload_build(self, name, directory):
    method upload_coverage (line 93) | def upload_coverage(self, name, directory):
    method download_corpus (line 97) | def download_corpus(self, name, dst_directory):
    method download_build (line 101) | def download_build(self, name, dst_directory):
    method download_coverage (line 105) | def download_coverage(self, name, dst_directory):

FILE: infra/cifuzz/filestore/git/__init__.py
  function git_runner (line 43) | def git_runner(repo_path):
  class GitFilestore (line 53) | class GitFilestore(filestore.BaseFilestore):
    method __init__ (line 58) | def __init__(self, config, ci_filestore):
    method __del__ (line 66) | def __del__(self):
    method _clone (line 70) | def _clone(self, repo_url):
    method _reset_git (line 76) | def _reset_git(self, branch):
    method _upload_to_git (line 89) | def _upload_to_git(self,
    method upload_crashes (line 113) | def upload_crashes(self, name, directory):
    method upload_corpus (line 117) | def upload_corpus(self, name, directory, replace=False):
    method upload_build (line 125) | def upload_build(self, name, directory):
    method upload_coverage (line 129) | def upload_coverage(self, name, directory):
    method download_corpus (line 137) | def download_corpus(self, name, dst_directory):
    method download_build (line 148) | def download_build(self, name, dst_directory):
    method download_coverage (line 152) | def download_coverage(self, name, dst_directory):

FILE: infra/cifuzz/filestore/git/git_test.py
  class GitFilestoreTest (line 35) | class GitFilestoreTest(unittest.TestCase):
    method setUp (line 38) | def setUp(self):
    method assert_dirs_same (line 67) | def assert_dirs_same(self, first, second):
    method get_repo_filelist (line 78) | def get_repo_filelist(self, branch):
    method test_upload_download_corpus (line 84) | def test_upload_download_corpus(self):
    method test_upload_download_coverage (line 95) | def test_upload_download_coverage(self):
    method test_upload_crashes (line 106) | def test_upload_crashes(self):
    method test_upload_build (line 112) | def test_upload_build(self):
    method test_download_build (line 118) | def test_download_build(self):

FILE: infra/cifuzz/filestore/github_actions/__init__.py
  function tar_directory (line 37) | def tar_directory(directory, archive_path):
  class GithubActionsFilestore (line 51) | class GithubActionsFilestore(filestore.BaseFilestore):
    method __init__ (line 65) | def __init__(self, config):
    method _get_artifact_name (line 69) | def _get_artifact_name(self, name):
    method _upload_directory (line 76) | def _upload_directory(self, name, directory):  # pylint: disable=no-se...
    method upload_crashes (line 84) | def upload_crashes(self, name, directory):
    method upload_corpus (line 88) | def upload_corpus(self, name, directory, replace=False):
    method upload_build (line 95) | def upload_build(self, name, directory):
    method upload_coverage (line 99) | def upload_coverage(self, name, directory):
    method download_corpus (line 103) | def download_corpus(self, name, dst_directory):  # pylint: disable=unu...
    method _find_artifact (line 107) | def _find_artifact(self, name):
    method _download_artifact (line 115) | def _download_artifact(self, name, dst_directory):
    method _raw_download_artifact (line 136) | def _raw_download_artifact(self, name, dst_directory):
    method _list_artifacts (line 147) | def _list_artifacts(self):
    method download_build (line 153) | def download_build(self, name, dst_directory):
    method download_coverage (line 157) | def download_coverage(self, name, dst_directory):
  function _upload_artifact_with_upload_js (line 162) | def _upload_artifact_with_upload_js(name, artifact_paths, directory):
  function _raw_upload_directory (line 170) | def _raw_upload_directory(name, directory):

FILE: infra/cifuzz/filestore/github_actions/github_actions_test.py
  class GithubActionsFilestoreTest (line 34) | class GithubActionsFilestoreTest(unittest.TestCase):
    method setUp (line 38) | def setUp(self, _):  # pylint: disable=arguments-differ
    method tearDown (line 51) | def tearDown(self):
    method _get_expected_http_headers (line 54) | def _get_expected_http_headers(self):
    method test_list_artifacts (line 61) | def test_list_artifacts(self, mock_list_artifacts):
    method test_download_build_no_artifact (line 73) | def test_download_build_no_artifact(self, _, __, mock_warning):
    method test_download_corpus_no_artifact (line 88) | def test_download_corpus_no_artifact(self, _, __, mock_warning):
    method test_upload_corpus (line 100) | def test_upload_corpus(self, mock_upload_artifact, mock_tar_directory):
    method test_upload_crashes (line 116) | def test_upload_crashes(self, mock_upload_artifact):
    method test_upload_build (line 129) | def test_upload_build(self, mock_upload_artifact, mock_tar_directory):
    method test_upload_coverage (line 146) | def test_upload_coverage(self, mock_upload_artifact, mock_tar_directory):
    method assert_upload (line 161) | def assert_upload(self, mock_upload_artifact, mock_tar_directory,
    method _create_local_dir (line 181) | def _create_local_dir(self):
    method test_download_artifact (line 188) | def test_download_artifact(self, mock_download_and_unpack_zip,
    method test_find_artifact (line 230) | def test_find_artifact(self, mock_list_artifacts):
  class TarDirectoryTest (line 265) | class TarDirectoryTest(unittest.TestCase):
    method test_tar_directory (line 268) | def test_tar_directory(self):

FILE: infra/cifuzz/filestore/github_actions/github_api.py
  function get_http_auth_headers (line 38) | def get_http_auth_headers(config):
  function _get_artifacts_list_api_url (line 47) | def _get_artifacts_list_api_url(repo_owner, repo_name):
  function _do_get_request (line 55) | def _do_get_request(*args, **kwargs):
  function _get_items (line 60) | def _get_items(url, headers):
  function find_artifact (line 96) | def find_artifact(artifact_name, artifacts):
  function list_artifacts (line 105) | def list_artifacts(owner, repo, headers):

FILE: infra/cifuzz/filestore/github_actions/github_api_test.py
  class GetHttpAuthHeaders (line 29) | class GetHttpAuthHeaders(unittest.TestCase):
    method test_get_http_auth_headers (line 32) | def test_get_http_auth_headers(self):

FILE: infra/cifuzz/filestore/github_actions/upload.js
  function uploadArtifact (line 29) | async function uploadArtifact() {

FILE: infra/cifuzz/filestore/gitlab/__init__.py
  class GitlabFilestore (line 28) | class GitlabFilestore(filestore.BaseFilestore):
    method __init__ (line 39) | def __init__(self, config):
    method upload_crashes (line 48) | def upload_crashes(self, name, directory):
    method upload_corpus (line 58) | def upload_corpus(self, name, directory, replace=False):
    method upload_build (line 72) | def upload_build(self, name, directory):
    method upload_coverage (line 80) | def upload_coverage(self, name, directory):
    method _copy_from_cache (line 99) | def _copy_from_cache(self, src_dir_cache, dst_directory):
    method download_corpus (line 107) | def download_corpus(self, name, dst_directory):
    method download_build (line 118) | def download_build(self, name, dst_directory):
    method download_coverage (line 125) | def download_coverage(self, name, dst_directory):

FILE: infra/cifuzz/filestore/gsutil/__init__.py
  function _gsutil_execute (line 29) | def _gsutil_execute(*args, parallel=True):
  function _rsync (line 40) | def _rsync(src, dst, recursive=True, delete=False):
  class GSUtilFilestore (line 51) | class GSUtilFilestore(filestore.BaseFilestore):
    method __init__ (line 58) | def __init__(self, config):
    method _get_gsutil_url (line 62) | def _get_gsutil_url(self, name, prefix_dir):
    method _upload_directory (line 68) | def _upload_directory(self, name, directory, prefix, delete=False):
    method _download_directory (line 72) | def _download_directory(self, name, dst_directory, prefix):
    method upload_crashes (line 76) | def upload_crashes(self, name, directory):
    method upload_corpus (line 84) | def upload_corpus(self, name, directory, replace=False):
    method upload_build (line 91) | def upload_build(self, name, directory):
    method upload_coverage (line 95) | def upload_coverage(self, name, directory):
    method download_corpus (line 99) | def download_corpus(self, name, dst_directory):
    method download_build (line 103) | def download_build(self, name, dst_directory):
    method download_coverage (line 107) | def download_coverage(self, name, dst_directory):

FILE: infra/cifuzz/filestore/no_filestore/__init__.py
  class NoFilestore (line 22) | class NoFilestore(filestore.BaseFilestore):
    method upload_crashes (line 25) | def upload_crashes(self, name, directory):
    method upload_corpus (line 29) | def upload_corpus(self, name, directory, replace=False):
    method upload_build (line 33) | def upload_build(self, name, directory):
    method upload_coverage (line 37) | def upload_coverage(self, name, directory):
    method download_corpus (line 41) | def download_corpus(self, name, dst_directory):
    method download_build (line 45) | def download_build(self, name, dst_directory):
    method download_coverage (line 49) | def download_coverage(self, name, dst_directory):

FILE: infra/cifuzz/filestore_utils.py
  function get_filestore (line 34) | def get_filestore(config):

FILE: infra/cifuzz/filestore_utils_test.py
  class GetFilestoreTest (line 27) | class GetFilestoreTest(unittest.TestCase):
    method test_get_filestore (line 35) | def test_get_filestore(self, config_kwargs, filestore_cls):
    method test_get_filestore_unsupported_platform (line 45) | def test_get_filestore_unsupported_platform(self, _, __):

FILE: infra/cifuzz/fuzz_target.py
  function get_libfuzzer_parallel_options (line 60) | def get_libfuzzer_parallel_options(option):
  class ReproduceError (line 70) | class ReproduceError(Exception):
  function get_fuzz_target_corpus_dir (line 74) | def get_fuzz_target_corpus_dir(workspace, target_name):
  function get_fuzz_target_pruned_corpus_dir (line 79) | def get_fuzz_target_pruned_corpus_dir(workspace, target_name):
  class FuzzTarget (line 85) | class FuzzTarget:  # pylint: disable=too-many-instance-attributes
    method __init__ (line 96) | def __init__(self, target_path, duration, workspace, clusterfuzz_deplo...
    method _download_corpus (line 121) | def _download_corpus(self):
    method _target_artifact_path (line 129) | def _target_artifact_path(self):
    method _save_crash (line 136) | def _save_crash(self, crash):
    method prune (line 151) | def prune(self):
    method fuzz (line 167) | def fuzz(self, batch=False) -> Optional[FuzzResult]:
    method minimize_testcase (line 248) | def minimize_testcase(self, testcase_path):
    method free_disk_if_needed (line 260) | def free_disk_if_needed(self, delete_fuzz_target=True):
    method is_reproducible (line 284) | def is_reproducible(self, testcase, target_path, reproduce_args):
    method is_crash_reportable (line 333) | def is_crash_reportable(self, testcase, reproduce_args, batch=False):
    method is_crash_type_reportable (line 376) | def is_crash_type_reportable(self, testcase):
    method is_crash_novel (line 387) | def is_crash_novel(self, testcase, reproduce_args):

FILE: infra/cifuzz/fuzz_target_test.py
  function _create_config (line 49) | def _create_config(**kwargs):
  function _create_deployment (line 65) | def _create_deployment(**kwargs):
  class IsReproducibleTest (line 72) | class IsReproducibleTest(fake_filesystem_unittest.TestCase):
    method setUp (line 75) | def setUp(self):
    method test_repro_timed_out (line 104) | def test_repro_timed_out(self, mock_chmod, mock_get_container_name):
    method test_reproducible (line 117) | def test_reproducible(self, _):
    method test_flaky (line 134) | def test_flaky(self, _):
    method test_nonexistent_fuzzer (line 146) | def test_nonexistent_fuzzer(self, _):
    method test_unreproducible (line 152) | def test_unreproducible(self, _):
  class IsCrashReportableTest (line 163) | class IsCrashReportableTest(fake_filesystem_unittest.TestCase):
    method setUp (line 166) | def setUp(self):
    method test_new_reproducible_crash (line 188) | def test_new_reproducible_crash(self, mock_info, _):
    method test_invalid_crash (line 210) | def test_invalid_crash(self, is_reproducible_retvals):
    method test_reproducible_no_oss_fuzz_target (line 221) | def test_reproducible_no_oss_fuzz_target(self, _, mock_info):
  class FuzzTest (line 248) | class FuzzTest(fake_filesystem_unittest.TestCase):
    method setUp (line 251) | def setUp(self):
    method test_get_fuzz_target_artifact (line 260) | def test_get_fuzz_target_artifact(self):
  class TimeoutIntegrationTest (line 268) | class TimeoutIntegrationTest(unittest.TestCase):
    method test_timeout_reported (line 274) | def test_timeout_reported(self, report_timeouts, expect_crash):

FILE: infra/cifuzz/generate_coverage_report.py
  function run_coverage_command (line 22) | def run_coverage_command(config, workspace):
  function download_corpora (line 33) | def download_corpora(fuzz_target_paths, clusterfuzz_deployment):
  function generate_coverage_report (line 43) | def generate_coverage_report(fuzz_target_paths, workspace,

FILE: infra/cifuzz/generate_coverage_report_test.py
  class TestRunCoverageCommand (line 27) | class TestRunCoverageCommand(unittest.TestCase):
    method setUp (line 30) | def setUp(self):
    method test_run_coverage_command (line 34) | def test_run_coverage_command(self, mock_execute):  # pylint: disable=...
  class DownloadCorporaTest (line 57) | class DownloadCorporaTest(unittest.TestCase):
    method test_download_corpora (line 60) | def test_download_corpora(self):  # pylint: disable=no-self-use

FILE: infra/cifuzz/get_coverage.py
  class CoverageError (line 31) | class CoverageError(Exception):
  class BaseCoverage (line 35) | class BaseCoverage:
    method __init__ (line 38) | def __init__(self, repo_path):
    method get_files_covered_by_target (line 41) | def get_files_covered_by_target(self, target):
    method get_target_coverage (line 78) | def get_target_coverage(self, target):
  class OSSFuzzCoverage (line 90) | class OSSFuzzCoverage(BaseCoverage):
    method __init__ (line 93) | def __init__(self, repo_path, oss_fuzz_project_name):
    method get_target_coverage (line 102) | def get_target_coverage(self, target):
  function _get_oss_fuzz_latest_cov_report_info (line 118) | def _get_oss_fuzz_latest_cov_report_info(oss_fuzz_project_name):
  function _get_oss_fuzz_fuzzer_stats_dir_url (line 132) | def _get_oss_fuzz_fuzzer_stats_dir_url(oss_fuzz_project_name):
  class FilesystemCoverage (line 156) | class FilesystemCoverage(BaseCoverage):
    method __init__ (line 159) | def __init__(self, repo_path, project_coverage_dir):
    method get_target_coverage (line 163) | def get_target_coverage(self, target):
  function is_file_covered (line 188) | def is_file_covered(file_cov):
  function get_coverage_per_file (line 193) | def get_coverage_per_file(target_cov):
  function _normalize_repo_path (line 202) | def _normalize_repo_path(repo_path):

FILE: infra/cifuzz/get_coverage_test.py
  class GetOssFuzzFuzzerStatsDirUrlTest (line 43) | class GetOssFuzzFuzzerStatsDirUrlTest(unittest.TestCase):
    method test_get_valid_project (line 51) | def test_get_valid_project(self, mock_get_json_from_url):
    method test_get_invalid_project (line 68) | def test_get_invalid_project(self):
  class OSSFuzzCoverageGetTargetCoverageTest (line 74) | class OSSFuzzCoverageGetTargetCoverageTest(unittest.TestCase):
    method setUp (line 77) | def setUp(self):
    method test_valid_target (line 84) | def test_valid_target(self, mock_get_json_from_url):
    method test_invalid_target (line 92) | def test_invalid_target(self):
    method test_invalid_project_json (line 99) | def test_invalid_project_json(self, _):  # pylint: disable=no-self-use
  function _get_expected_curl_covered_file_list (line 105) | def _get_expected_curl_covered_file_list():
  function _get_example_curl_coverage (line 114) | def _get_example_curl_coverage():
  class OSSFuzzCoverageGetFilesCoveredByTargetTest (line 122) | class OSSFuzzCoverageGetFilesCoveredByTargetTest(unittest.TestCase):
    method setUp (line 125) | def setUp(self):
    method test_malformed_cov_data (line 138) | def test_malformed_cov_data(self, coverage_data):
    method test_valid_target (line 144) | def test_valid_target(self):
    method test_invalid_target (line 155) | def test_invalid_target(self):
  class FilesystemCoverageGetFilesCoveredByTargetTest (line 161) | class FilesystemCoverageGetFilesCoveredByTargetTest(
    method setUp (line 165) | def setUp(self):
    method test_valid_target (line 176) | def test_valid_target(self):
    method test_invalid_target (line 182) | def test_invalid_target(self):
  class IsFileCoveredTest (line 188) | class IsFileCoveredTest(unittest.TestCase):
    method test_is_file_covered_covered (line 191) | def test_is_file_covered_covered(self):
    method test_is_file_covered_not_covered (line 206) | def test_is_file_covered_not_covered(self):
  class GetOssFuzzLatestCovReportInfo (line 222) | class GetOssFuzzLatestCovReportInfo(unittest.TestCase):
    method test_get_oss_fuzz_latest_cov_report_info (line 232) | def test_get_oss_fuzz_latest_cov_report_info(self, mock_get_json_from_...
    method test_get_oss_fuzz_latest_cov_report_info_fail (line 242) | def test_get_oss_fuzz_latest_cov_report_info_fail(self, _, mock_error):

FILE: infra/cifuzz/http_utils.py
  function download_and_unpack_zip (line 33) | def download_and_unpack_zip(url, extract_directory, headers=None):
  function download_url (line 67) | def download_url(*args, **kwargs):
  function get_json_from_url (line 76) | def get_json_from_url(url):
  function _download_url (line 94) | def _download_url(url, filename, headers=None):

FILE: infra/cifuzz/http_utils_test.py
  class DownloadUrlTest (line 26) | class DownloadUrlTest(unittest.TestCase):
    method test_download_url_no_error (line 33) | def test_download_url_no_error(self, mock_urlretrieve, _):
    method test_download_url_http_error (line 42) | def test_download_url_http_error(self, mock_get, mock_error, _):
    method test_download_url_connection_error (line 52) | def test_download_url_connection_error(self, mock_get, mock_sleep):
  class DownloadAndUnpackZipTest (line 59) | class DownloadAndUnpackZipTest(fake_filesystem_unittest.TestCase):
    method setUp (line 62) | def setUp(self):
    method test_bad_zip_download (line 66) | def test_bad_zip_download(self, _):

FILE: infra/cifuzz/logs.py
  function init (line 20) | def init():

FILE: infra/cifuzz/platform_config/__init__.py
  class BasePlatformConfig (line 21) | class BasePlatformConfig:
    method project_src_path (line 25) | def project_src_path(self):
    method workspace (line 37) | def workspace(self):
    method git_sha (line 44) | def git_sha(self):
    method base_commit (line 58) | def base_commit(self):
    method base_ref (line 64) | def base_ref(self):
    method pr_ref (line 70) | def pr_ref(self):
    method project_repo_owner (line 84) | def project_repo_owner(self):
    method project_repo_name (line 89) | def project_repo_name(self):
    method actor (line 94) | def actor(self):
    method token (line 99) | def token(self):
    method docker_in_docker (line 104) | def docker_in_docker(self):
    method filestore (line 109) | def filestore(self):
    method git_url (line 114) | def git_url(self):

FILE: infra/cifuzz/platform_config/gcb.py
  class PlatformConfig (line 21) | class PlatformConfig(platform_config.BasePlatformConfig):
    method project_src_path (line 25) | def project_src_path(self):
    method workspace (line 33) | def workspace(self):
    method filestore (line 38) | def filestore(self):

FILE: infra/cifuzz/platform_config/github.py
  function _get_github_event_path (line 22) | def _get_github_event_path():
  function _get_event_data (line 26) | def _get_event_data():
  class PlatformConfig (line 33) | class PlatformConfig(platform_config.BasePlatformConfig):
    method __init__ (line 36) | def __init__(self):
    method workspace (line 41) | def workspace(self):
    method git_sha (line 46) | def git_sha(self):
    method actor (line 60) | def actor(self):
    method token (line 65) | def token(self):
    method project_src_path (line 70) | def project_src_path(self):
    method _project_repo_owner_and_name (line 82) | def _project_repo_owner_and_name(self):
    method project_repo_owner (line 91) | def project_repo_owner(self):
    method project_repo_name (line 96) | def project_repo_name(self):
    method git_url (line 101) | def git_url(self):
    method base_commit (line 117) | def base_commit(self):
    method pr_ref (line 126) | def pr_ref(self):
    method base_ref (line 144) | def base_ref(self):

FILE: infra/cifuzz/platform_config/github_test.py
  class GetProjectRepoOwnerAndNameTest (line 25) | class GetProjectRepoOwnerAndNameTest(unittest.TestCase):
    method setUp (line 29) | def setUp(self, _):
    method test_github_repository_owner (line 36) | def test_github_repository_owner(self):
    method test_github_repository_name (line 41) | def test_github_repository_name(self):
  class ProjectSrcPathTest (line 48) | class ProjectSrcPathTest(unittest.TestCase):
    method setUp (line 51) | def setUp(self):
    method test_github_unset (line 58) | def test_github_unset(self, _):
    method test_github (line 65) | def test_github(self, _):
  class GetGitUrlTest (line 74) | class GetGitUrlTest(unittest.TestCase):
    method setUp (line 78) | def setUp(self, _):
    method test_repository (line 82) | def test_repository(self):

FILE: infra/cifuzz/platform_config/gitlab.py
  class PlatformConfig (line 22) | class PlatformConfig(platform_config.BasePlatformConfig):
    method workspace (line 26) | def workspace(self):
    method git_sha (line 31) | def git_sha(self):
    method project_src_path (line 36) | def project_src_path(self):
    method token (line 41) | def token(self):
    method project_repo_name (line 46) | def project_repo_name(self):
    method base_commit (line 51) | def base_commit(self):
    method base_ref (line 60) | def base_ref(self):
    method filestore (line 66) | def filestore(self):
    method artifacts_dir (line 71) | def artifacts_dir(self):
    method cache_dir (line 76) | def cache_dir(self):

FILE: infra/cifuzz/platform_config/platform_config_test.py
  class GetProjectRepoOwnerAndNameTest (line 22) | class GetProjectRepoOwnerAndNameTest(unittest.TestCase):
    method setUp (line 25) | def setUp(self):
    method test_unset_repository (line 31) | def test_unset_repository(self):
    method test_owner (line 35) | def test_owner(self):
    method test_empty_repository (line 39) | def test_empty_repository(self):
    method test_repository (line 45) | def test_repository(self):
  class ProjectSrcPathTest (line 52) | class ProjectSrcPathTest(unittest.TestCase):
    method setUp (line 55) | def setUp(self):
    method test_not_github (line 58) | def test_not_github(self):
  class GetGitUrlTest (line 67) | class GetGitUrlTest(unittest.TestCase):
    method setUp (line 70) | def setUp(self):
    method test_unset_repository (line 74) | def test_unset_repository(self):
    method test_repository (line 78) | def test_repository(self):

FILE: infra/cifuzz/platform_config/prow.py
  class PlatformConfig (line 23) | class PlatformConfig(platform_config.BasePlatformConfig):
    method project_src_path (line 27) | def project_src_path(self):
    method workspace (line 36) | def workspace(self):
    method base_ref (line 42) | def base_ref(self):
    method project_repo_name (line 47) | def project_repo_name(self):
    method base_commit (line 52) | def base_commit(self):
    method docker_in_docker (line 57) | def docker_in_docker(self):
    method filestore (line 62) | def filestore(self):

FILE: infra/cifuzz/platform_config/standalone.py
  class PlatformConfig (line 22) | class PlatformConfig(platform_config.BasePlatformConfig):
    method filestore (line 26) | def filestore(self):
    method filestore_root_dir (line 31) | def filestore_root_dir(self):

FILE: infra/cifuzz/run_cifuzz.py
  function set_default_env_var_if_unset (line 27) | def set_default_env_var_if_unset(env_var, default_value):
  function docker_run (line 34) | def docker_run(name, workspace, project_src_path):
  function docker_build (line 52) | def docker_build(image):
  function main (line 61) | def main():

FILE: infra/cifuzz/run_fuzzers.py
  class RunFuzzersResult (line 33) | class RunFuzzersResult(enum.Enum):
  class BaseFuzzTargetRunner (line 40) | class BaseFuzzTargetRunner:
    method __init__ (line 43) | def __init__(self, config):
    method get_fuzz_targets (line 53) | def get_fuzz_targets(self):
    method initialize (line 57) | def initialize(self):
    method cleanup_after_fuzz_target_run (line 94) | def cleanup_after_fuzz_target_run(self, fuzz_target_obj):  # pylint: d...
    method run_fuzz_target (line 98) | def run_fuzz_target(self, fuzz_target_obj):  # pylint: disable=no-self...
    method quit_on_bug_found (line 103) | def quit_on_bug_found(self):
    method create_fuzz_target_obj (line 108) | def create_fuzz_target_obj(self, target_path, run_seconds):
    method run_fuzz_targets (line 113) | def run_fuzz_targets(self):
  function write_fuzz_result_to_sarif (line 159) | def write_fuzz_result_to_sarif(fuzz_result, target_path, workspace):
  class PruneTargetRunner (line 166) | class PruneTargetRunner(BaseFuzzTargetRunner):
    method quit_on_bug_found (line 170) | def quit_on_bug_found(self):
    method run_fuzz_target (line 173) | def run_fuzz_target(self, fuzz_target_obj):
    method cleanup_after_fuzz_target_run (line 182) | def cleanup_after_fuzz_target_run(self, fuzz_target_obj):  # pylint: d...
  function is_coverage_fuzz_target (line 195) | def is_coverage_fuzz_target(file_path):
  function get_coverage_fuzz_targets (line 206) | def get_coverage_fuzz_targets(out):
  class CoverageTargetRunner (line 219) | class CoverageTargetRunner(BaseFuzzTargetRunner):
    method quit_on_bug_found (line 223) | def quit_on_bug_found(self):
    method get_fuzz_targets (line 226) | def get_fuzz_targets(self):
    method run_fuzz_targets (line 230) | def run_fuzz_targets(self):
    method run_fuzz_target (line 238) | def run_fuzz_target(self, fuzz_target_obj):  # pylint: disable=no-self...
    method cleanup_after_fuzz_target_run (line 242) | def cleanup_after_fuzz_target_run(self, fuzz_target_obj):  # pylint: d...
  class CiFuzzTargetRunner (line 247) | class CiFuzzTargetRunner(BaseFuzzTargetRunner):
    method quit_on_bug_found (line 251) | def quit_on_bug_found(self):
    method cleanup_after_fuzz_target_run (line 254) | def cleanup_after_fuzz_target_run(self, fuzz_target_obj):  # pylint: d...
    method run_fuzz_target (line 258) | def run_fuzz_target(self, fuzz_target_obj):  # pylint: disable=no-self...
  class BatchFuzzTargetRunner (line 262) | class BatchFuzzTargetRunner(BaseFuzzTargetRunner):
    method quit_on_bug_found (line 266) | def quit_on_bug_found(self):
    method run_fuzz_target (line 269) | def run_fuzz_target(self, fuzz_target_obj):
    method cleanup_after_fuzz_target_run (line 277) | def cleanup_after_fuzz_target_run(self, fuzz_target_obj):
  function get_fuzz_target_runner (line 293) | def get_fuzz_target_runner(config):
  function run_fuzzers (line 301) | def run_fuzzers(config):  # pylint: disable=too-many-locals

FILE: infra/cifuzz/run_fuzzers_entrypoint.py
  function delete_unneeded_docker_images (line 29) | def delete_unneeded_docker_images(config):
  function run_fuzzers_entrypoint (line 50) | def run_fuzzers_entrypoint():
  function main (line 85) | def main():

FILE: infra/cifuzz/run_fuzzers_test.py
  class RunFuzzerIntegrationTestMixin (line 55) | class RunFuzzerIntegrationTestMixin:  # pylint: disable=too-few-public-m...
    method setUp (line 62) | def setUp(self):
    method _test_run_with_sanitizer (line 66) | def _test_run_with_sanitizer(self, fuzzer_dir, sanitizer):
  class RunMemoryFuzzerIntegrationTest (line 80) | class RunMemoryFuzzerIntegrationTest(RunFuzzerIntegrationTestMixin,
    method test_run_with_memory_sanitizer (line 86) | def test_run_with_memory_sanitizer(self):
  class RunUndefinedFuzzerIntegrationTest (line 93) | class RunUndefinedFuzzerIntegrationTest(RunFuzzerIntegrationTestMixin,
    method test_run_with_undefined_sanitizer (line 99) | def test_run_with_undefined_sanitizer(self):
  class BaseFuzzTargetRunnerTest (line 104) | class BaseFuzzTargetRunnerTest(unittest.TestCase):
    method _create_runner (line 107) | def _create_runner(self, **kwargs):  # pylint: disable=no-self-use
    method _test_initialize_fail (line 119) | def _test_initialize_fail(self, expected_error_args, **create_runner_k...
    method test_initialize_invalid_fuzz_seconds (line 126) | def test_initialize_invalid_fuzz_seconds(self, fuzz_seconds):
    method test_initialize_no_out_dir (line 141) | def test_initialize_no_out_dir(self):
    method test_initialize_nonempty_artifacts (line 148) | def test_initialize_nonempty_artifacts(self):
    method test_initialize_bad_artifacts (line 162) | def test_initialize_bad_artifacts(self):
    method test_initialize_empty_artifacts (line 179) | def test_initialize_empty_artifacts(self, mock_log_error,
    method test_initialize_no_artifacts (line 195) | def test_initialize_no_artifacts(self, mock_log_error, mock_get_fuzz_t...
    method test_initialize_no_fuzz_targets (line 206) | def test_initialize_no_fuzz_targets(self):
  class CiFuzzTargetRunnerTest (line 216) | class CiFuzzTargetRunnerTest(fake_filesystem_unittest.TestCase):
    method setUp (line 219) | def setUp(self):
    method test_run_fuzz_targets_quits (line 226) | def test_run_fuzz_targets_quits(self, mock_create_fuzz_target_obj,
  class BatchFuzzTargetRunnerTest (line 256) | class BatchFuzzTargetRunnerTest(fake_filesystem_unittest.TestCase):
    method setUp (line 262) | def setUp(self):
    method test_run_fuzz_targets_quits (line 278) | def test_run_fuzz_targets_quits(self, mock_create_fuzz_target_obj,
  class GetCoverageTargetsTest (line 307) | class GetCoverageTargetsTest(unittest.TestCase):
    method test_get_fuzz_targets (line 310) | def test_get_fuzz_targets(self):
  class CoverageReportIntegrationTest (line 335) | class CoverageReportIntegrationTest(unittest.TestCase):
    method setUp (line 339) | def setUp(self):
    method test_coverage_report (line 343) | def test_coverage_report(self, _):
  class RunAddressFuzzersIntegrationTest (line 403) | class RunAddressFuzzersIntegrationTest(RunFuzzerIntegrationTestMixin,
    method test_new_bug_found (line 409) | def test_new_bug_found(self):
    method test_old_bug_found (line 428) | def test_old_bug_found(self, _):
    method test_invalid_build (line 440) | def test_invalid_build(self):
  class GetFuzzTargetRunnerTest (line 453) | class GetFuzzTargetRunnerTest(unittest.TestCase):
    method test_get_fuzz_target_runner (line 461) | def test_get_fuzz_target_runner(self, mode, fuzz_target_runner_cls):

FILE: infra/cifuzz/sarif_utils.py
  function redact_src_path (line 150) | def redact_src_path(src_path):
  function get_error_frame (line 160) | def get_error_frame(crash_info):
  function get_error_source_info (line 178) | def get_error_source_info(crash_info):
  function get_rule_index (line 189) | def get_rule_index(crash_type):
  function get_sarif_data (line 202) | def get_sarif_data(stacktrace, target_path):
  function write_stacktrace_to_sarif (line 245) | def write_stacktrace_to_sarif(stacktrace, target_path, workspace):

FILE: infra/cifuzz/sarif_utils_test.py
  class GetSarifDataTest (line 26) | class GetSarifDataTest(unittest.TestCase):
    method setUp (line 29) | def setUp(self):
    method test_get_sarif_data_none (line 32) | def test_get_sarif_data_none(self):
    method test_ordinary_case (line 37) | def test_ordinary_case(self):
    method test_llvmfuzzertestoneinput_case (line 67) | def test_llvmfuzzertestoneinput_case(self):
    method test_msan (line 76) | def test_msan(self):
  class RedactSrcPathTest (line 85) | class RedactSrcPathTest(unittest.TestCase):
    method test_redact_src_path (line 88) | def test_redact_src_path(self):
  function _get_mock_crash_info (line 94) | def _get_mock_crash_info():
  class GetErrorSourceInfoTest (line 108) | class GetErrorSourceInfoTest(unittest.TestCase):
    method test_redact_src_path (line 111) | def test_redact_src_path(self):
  class GetRuleIndexTest (line 119) | class GetRuleIndexTest(unittest.TestCase):
    method test_get_rule_index (line 123) | def test_get_rule_index(self):

FILE: infra/cifuzz/test_data/TimeoutFuzzer.cpp
  function LLVMFuzzerTestOneInput (line 32) | int LLVMFuzzerTestOneInput(uint8_t* data, size_t size) {

FILE: infra/cifuzz/test_data/external-project/do_stuff_fuzzer.cpp
  function LLVMFuzzerTestOneInput (line 20) | int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {

FILE: infra/cifuzz/test_data/external-project/my_api.cpp
  function DoStuff (line 22) | size_t DoStuff(const std::string &str) {

FILE: infra/cifuzz/test_data/external-project/standalone_fuzz_target_runner.cpp
  function main (line 31) | int main(int argc, char **argv) {

FILE: infra/cifuzz/test_helpers.py
  function _create_config (line 39) | def _create_config(config_cls, _, __, ___, **kwargs):
  function create_build_config (line 52) | def create_build_config(**kwargs):
  function create_run_config (line 57) | def create_run_config(**kwargs):
  function create_workspace (line 62) | def create_workspace(workspace_path='/workspace'):
  function patch_environ (line 69) | def patch_environ(testcase_obj, env=None, empty=False, runner=False):
  function temp_dir_copy (line 98) | def temp_dir_copy(directory):
  function docker_temp_dir (line 107) | def docker_temp_dir():

FILE: infra/cifuzz/workspace_utils.py
  class Workspace (line 20) | class Workspace:
    method __init__ (line 23) | def __init__(self, config):
    method initialize_dir (line 26) | def initialize_dir(self, directory):  # pylint: disable=no-self-use
    method repo_storage (line 31) | def repo_storage(self):
    method out (line 36) | def out(self):
    method work (line 43) | def work(self):
    method artifacts (line 48) | def artifacts(self):
    method clusterfuzz_build (line 54) | def clusterfuzz_build(self):
    method clusterfuzz_coverage (line 59) | def clusterfuzz_coverage(self):
    method coverage_report (line 64) | def coverage_report(self):
    method corpora (line 69) | def corpora(self):
    method pruned_corpora (line 74) | def pruned_corpora(self):
    method sarif (line 79) | def sarif(self):
    method make_repo_for_sarif (line 83) | def make_repo_for_sarif(self, repo_manager):

FILE: infra/common_utils.py
  function get_project_build_subdir (line 53) | def get_project_build_subdir(project, subdir_name):
  function get_out_dir (line 62) | def get_out_dir(project=''):
  class Project (line 68) | class Project:
    method __init__ (line 72) | def __init__(
    method dockerfile_path (line 89) | def dockerfile_path(self):
    method language (line 94) | def language(self):
    method base_os_version (line 113) | def base_os_version(self):
    method coverage_extra_args (line 130) | def coverage_extra_args(self):
    method out (line 159) | def out(self):
    method work (line 164) | def work(self):
    method corpus (line 169) | def corpus(self):
  function is_base_image (line 174) | def is_base_image(image_name):
  function check_project_exists (line 179) | def check_project_exists(project):
  function get_command_string (line 193) | def get_command_string(command):
  function docker_build (line 198) | def docker_build(build_args):
  function docker_pull (line 213) | def docker_pull(image):
  function pull_images (line 227) | def pull_images(language=None):
  function build_image_impl (line 240) | def build_image_impl(project, cache=True, pull=False, architecture='x86_...

FILE: infra/experimental/SystemSan/PoEs/node-shell-quote-v1.7.3/target.js
  function fuzz (line 25) | function fuzz(buf) {

FILE: infra/experimental/SystemSan/PoEs/pytorch-lightning-1.5.10/fuzz_pytorch_lightning.py
  function prepare_fuzzing_input (line 35) | def prepare_fuzzing_input(data):
  function exploit_target (line 42) | def exploit_target(env_value, env_name):
  function TestOneInput (line 52) | def TestOneInput(data):  # pylint: disable=invalid-name
  function main (line 58) | def main():

FILE: infra/experimental/SystemSan/SystemSan.cpp
  type Tracee (line 137) | struct Tracee {
    method Tracee (line 141) | Tracee(pid_t pid) : pid(pid) {}
  function pid_t (line 144) | pid_t run_child(char **argv) {
  function read_string (line 159) | std::string read_string(pid_t pid, unsigned long reg, unsigned long leng...
  function inspect_for_injection (line 170) | void inspect_for_injection(pid_t pid, const user_regs_struct &regs) {
  function get_pathname (line 182) | std::string get_pathname(pid_t pid, const user_regs_struct &regs) {
  function identify_sh (line 192) | std::string identify_sh(std::string path) {
  function match_shell (line 210) | std::string match_shell(std::string binary_pathname) {
  function get_shell (line 237) | std::string get_shell(pid_t pid, const user_regs_struct &regs) {
  function match_error_pattern (line 243) | void match_error_pattern(std::string buffer, std::string shell, pid_t pi...
  function inspect_for_corruption (line 263) | void inspect_for_corruption(pid_t pid, const user_regs_struct &regs) {
  function log_file_open (line 270) | void log_file_open(std::string path, int flags, pid_t pid) {
  function has_unprintable (line 289) | bool has_unprintable(const std::string &value) {
  function inspect_for_arbitrary_file_open (line 298) | void inspect_for_arbitrary_file_open(pid_t pid, const user_regs_struct &...
  function trace (line 323) | int trace(std::map<pid_t, Tracee> pids) {
  function main (line 459) | int main(int argc, char **argv) {

FILE: infra/experimental/SystemSan/inspect_dns.cpp
  function inspect_for_arbitrary_dns_connect (line 40) | void inspect_for_arbitrary_dns_connect(pid_t pid, const user_regs_struct...
  type DnsHeader (line 51) | struct DnsHeader {
  function parse_dns_header (line 60) | struct DnsHeader parse_dns_header(std::vector<std::byte> data) {
  function dns_flags_standard_query (line 71) | bool dns_flags_standard_query(uint16_t flags) {
  type DnsRequest (line 88) | struct DnsRequest {
  function parse_dns_request (line 103) | struct DnsRequest parse_dns_request(std::vector<std::byte> data, size_t ...
  function log_dns_request (line 128) | void log_dns_request(struct DnsRequest r, std::vector<std::byte> data) {
  function inspect_for_arbitrary_dns_pkt (line 146) | void inspect_for_arbitrary_dns_pkt(std::vector<std::byte> data, pid_t pi...
  function inspect_for_arbitrary_dns_fdbuffer (line 170) | void inspect_for_arbitrary_dns_fdbuffer(pid_t pid, const user_regs_struc...
  function inspect_for_arbitrary_dns_iov (line 179) | void inspect_for_arbitrary_dns_iov(pid_t pid, unsigned long iov) {
  function inspect_for_arbitrary_dns_sendmsg (line 190) | void inspect_for_arbitrary_dns_sendmsg(pid_t pid, const user_regs_struct...
  function inspect_for_arbitrary_dns_sendmmsg (line 202) | void inspect_for_arbitrary_dns_sendmmsg(pid_t pid, const user_regs_struc...
  function inspect_dns_syscalls (line 214) | void inspect_dns_syscalls(pid_t pid, const user_regs_struct &regs) {

FILE: infra/experimental/SystemSan/inspect_utils.cpp
  function read_memory (line 37) | std::vector<std::byte> read_memory(pid_t pid, unsigned long long address,
  function report_bug (line 54) | void report_bug(std::string bug_type, pid_t tid) {

FILE: infra/experimental/SystemSan/target.cpp
  function LLVMFuzzerTestOneInput (line 23) | int LLVMFuzzerTestOneInput(char* data, size_t size) {

FILE: infra/experimental/SystemSan/target_dns.cpp
  function LLVMFuzzerTestOneInput (line 27) | int LLVMFuzzerTestOneInput(char* data, size_t size) {

FILE: infra/experimental/SystemSan/target_file.cpp
  function LLVMFuzzerTestOneInput (line 24) | int LLVMFuzzerTestOneInput(char* data, size_t size) {

FILE: infra/experimental/contrib/arvo/arvo_data.py
  function update_resource_info (line 16) | def update_resource_info(item_name: str, item_url: str,
  function dockerfile_cleaner (line 38) | def dockerfile_cleaner(dockerfile_path: str | Path) -> None:
  function fix_dockerfile (line 51) | def fix_dockerfile(dockerfile_path: str | Path,
  function fix_build_script (line 92) | def fix_build_script(file_path: Path, project_name: str) -> bool:
  function extra_scripts (line 115) | def extra_scripts(project_name: str, source_dir: Path) -> bool:
  function special_component (line 135) | def special_component(project_name: str, item_key: str, item: Dict[str, ...
  function skip_component (line 168) | def skip_component(project_name: str, item_name: str) -> bool:

FILE: infra/experimental/contrib/arvo/arvo_reproducer.py
  class BuildData (line 51) | class BuildData:
  function parse_oss_fuzz_report (line 58) | def parse_oss_fuzz_report(report_text: bytes,
  function fetch_issue (line 134) | def fetch_issue(local_id: int | str) -> dict[str, Any] | bool:
  function parse_job_type (line 192) | def parse_job_type(job_type: str) -> dict[str, Any]:
  function download_build_artifacts (line 230) | def download_build_artifacts(metadata: dict[str, Any], url: str,
  function get_project_name (line 335) | def get_project_name(issue: dict[str, Any], srcmap: str | Path) -> str |...
  function get_language (line 366) | def get_language(project_dir: Path) -> str | bool:
  function get_sanitizer (line 390) | def get_sanitizer(fuzzer_sanitizer: str) -> str | bool:
  function download_poc (line 404) | def download_poc(issue: dict[str, Any], path: Path, name: str) -> Path |...
  function prepare_ossfuzz (line 432) | def prepare_ossfuzz(project_name: str,
  function rebase_dockerfile (line 495) | def rebase_dockerfile(dockerfile_path: str | Path, commit_date: str) -> ...
  function update_revision_info (line 575) | def update_revision_info(dockerfile: str | Path, src_path: str,
  function build_fuzzers_impl (line 668) | def build_fuzzers_impl(local_id: int | str,
  function build_fuzzer_with_source (line 768) | def build_fuzzer_with_source(local_id: int | str, project_name: str,
  function build_from_srcmap (line 969) | def build_from_srcmap(srcmap: Path, issue: dict[str, Any], tag: str) -> ...
  function arvo_reproducer (line 1006) | def arvo_reproducer(local_id: int | str, tag: str) -> bool:
  function main (line 1065) | def main() -> None:

FILE: infra/experimental/contrib/arvo/arvo_reproducer_test.py
  class ArvoReproducingTest (line 30) | class ArvoReproducingTest(unittest.TestCase):
    method test_reproduce (line 33) | def test_reproduce(self) -> None:
  class ArvoUnitTests (line 60) | class ArvoUnitTests(unittest.TestCase):
    method test_fetch_issue (line 63) | def test_fetch_issue(self) -> None:
    method test_download_poc (line 97) | def test_download_poc(self) -> None:
    method test_rebase_dockerfile (line 107) | def test_rebase_dockerfile(self) -> None:

FILE: infra/experimental/contrib/arvo/arvo_utils.py
  function load_repo_map (line 27) | def load_repo_map(file_name: str) -> Dict[str, Any]:
  class CommandResult (line 72) | class CommandResult:
  function execute (line 78) | def execute(cmd: List[str],
  function check_call (line 111) | def check_call(cmd: List[str],
  function _git_pull (line 137) | def _git_pull(cwd: Path) -> bool:
  function _hg_pull (line 150) | def _hg_pull(cwd: Path) -> bool:
  function _svn_pull (line 163) | def _svn_pull(cwd: Path) -> bool:
  function clone (line 176) | def clone(url: str,
  function svn_clone (line 251) | def svn_clone(url: str,
  function hg_clone (line 291) | def hg_clone(url: str,
  class DockerfileModifier (line 333) | class DockerfileModifier:
    method __init__ (line 336) | def __init__(self, path: str | Path) -> None:
    method flush (line 360) | def flush(self) -> bool:
    method str_replace (line 373) | def str_replace(self, old: str, new: str) -> None:
    method str_replace_all (line 382) | def str_replace_all(self, pairs: Dict[str, str]) -> None:
    method replace_line_at (line 391) | def replace_line_at(self, pos: int, line: str) -> None:
    method replace (line 403) | def replace(self, old: str, new: str, flags: int = 0) -> None:
    method replace_once (line 413) | def replace_once(self, old: str, new: str) -> None:
    method insert_line_before (line 422) | def insert_line_before(self, target: str, newline: str) -> bool | None:
    method insert_line_after (line 438) | def insert_line_after(self, target: str, newline: str) -> bool | None:
    method insert_line_at (line 454) | def insert_line_at(self, pos: int, line: str) -> None:
    method remove_range (line 465) | def remove_range(self, starts: int, ends: int) -> None:
    method clean_comments (line 479) | def clean_comments(self) -> None:
    method locate_str (line 486) | def locate_str(self, keyword: str) -> int | bool:
    method get_line (line 501) | def get_line(self, keyword: str) -> Tuple[List[str], int]:
  class VersionControlTool (line 535) | class VersionControlTool:
    method __init__ (line 538) | def __init__(self,
    method pull (line 571) | def pull(self) -> bool:
    method clone (line 584) | def clone(self, url: str, revision: str | None = None) -> Path | bool:
    method commit_date (line 612) | def commit_date(self, commit: str) -> str | bool:
    method reset (line 647) | def reset(self, commit: str) -> bool:
  function docker_build (line 670) | def docker_build(args: List[str], log_file: Path | None = None) -> bool:
  function docker_run (line 693) | def docker_run(args: List[str],
  function clean_dir (line 723) | def clean_dir(directory: Path) -> bool:
  function leave_ret (line 743) | def leave_ret(return_val: Any, tmp_dirs: Path | list[Path]) -> Any:

FILE: infra/experimental/contrib/arvo/hacks/__init__.py
  class ProjectHack (line 20) | class ProjectHack(ABC):
    method __init__ (line 23) | def __init__(self):
    method set_commit_date (line 26) | def set_commit_date(self, commit_date):
    method apply_dockerfile_fixes (line 31) | def apply_dockerfile_fixes(self, dft: DockerfileModifier) -> bool:
    method apply_build_script_fixes (line 42) | def apply_build_script_fixes(self, dft: DockerfileModifier) -> bool:
    method apply_extra_fixes (line 54) | def apply_extra_fixes(self, source_dir: Path) -> bool:
  function get_project_hack (line 67) | def get_project_hack(project_name: str) -> ProjectHack | None:
  function x265_fix (line 89) | def x265_fix(dft: DockerfileModifier) -> None:

FILE: infra/experimental/contrib/arvo/hacks/cryptofuzz.py
  class CryptofuzzHack (line 6) | class CryptofuzzHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/dlplibs.py
  class DLPLibsHack (line 6) | class DLPLibsHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/duckdb.py
  class DuckDBHack (line 6) | class DuckDBHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:
    method apply_build_script_fixes (line 13) | def apply_build_script_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/ffmpeg.py
  class FFmpegHack (line 6) | class FFmpegHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/ghostscript.py
  class GhostscriptHack (line 6) | class GhostscriptHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:
    method apply_build_script_fixes (line 13) | def apply_build_script_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/gnutls.py
  class GnuTLSHack (line 6) | class GnuTLSHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/graphicsmagick.py
  class GraphicsMagickHack (line 6) | class GraphicsMagickHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/imagemagick.py
  class ImageMagickHack (line 7) | class ImageMagickHack(ProjectHack):
    method apply_dockerfile_fixes (line 10) | def apply_dockerfile_fixes(self, dft) -> bool:
    method apply_extra_fixes (line 17) | def apply_extra_fixes(self, source_dir: Path) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/jbig2dec.py
  class JBIG2DECHack (line 6) | class JBIG2DECHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:
    method apply_build_script_fixes (line 14) | def apply_build_script_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/lcms.py
  class LCMSHack (line 6) | class LCMSHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/libheif.py
  class LibHeifHack (line 6) | class LibHeifHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/libredwg.py
  class LibreDWGHack (line 6) | class LibreDWGHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:
    method apply_build_script_fixes (line 13) | def apply_build_script_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/libreoffice.py
  class LibreOfficeHack (line 6) | class LibreOfficeHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:
    method apply_build_script_fixes (line 26) | def apply_build_script_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/libyang.py
  class LibYangHack (line 6) | class LibYangHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/lwan.py
  class LwanHack (line 6) | class LwanHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/openh264.py
  class OpenH264Hack (line 6) | class OpenH264Hack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:
    method apply_build_script_fixes (line 13) | def apply_build_script_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/quickjs.py
  class QuickJSHack (line 6) | class QuickJSHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/radare2.py
  class Radare2Hack (line 6) | class Radare2Hack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/skia.py
  class SkiaHack (line 6) | class SkiaHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/uwebsockets.py
  class UWebSocketsHack (line 6) | class UWebSocketsHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:
    method apply_build_script_fixes (line 13) | def apply_build_script_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/wireshark.py
  class WiresharkHack (line 6) | class WiresharkHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/wolfssl.py
  class WolfSSLHack (line 6) | class WolfSSLHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/contrib/arvo/hacks/yara.py
  class YARAHack (line 6) | class YARAHack(ProjectHack):
    method apply_dockerfile_fixes (line 9) | def apply_dockerfile_fixes(self, dft) -> bool:

FILE: infra/experimental/mcp/client.py
  function run_agent_loop (line 179) | async def run_agent_loop(prompt: str) -> list:
  function initialize_oss_fuzz (line 213) | def initialize_oss_fuzz() -> None:
  function _get_oss_fuzz_filetree (line 226) | def _get_oss_fuzz_filetree(project_name: str) -> str:
  function _get_upstream_repo (line 241) | def _get_upstream_repo(project_name: str) -> str:
  function _detect_language (line 258) | def _detect_language(project_name: str) -> str:
  function prepare_oss_fuzz_project (line 294) | def prepare_oss_fuzz_project(project_name: str) -> bool:
  function does_project_build (line 334) | async def does_project_build(project: str) -> bool:
  function fix_project_build (line 367) | async def fix_project_build(project: str, max_tries: int = 3):
  function _get_all_broken_oss_fuzz_projects (line 422) | def _get_all_broken_oss_fuzz_projects(language: str = '') -> list[str]:
  function add_run_tests_command (line 475) | async def add_run_tests_command(project_name: str):
  function expand_existing_project (line 531) | async def expand_existing_project(project_name: str):
  function _log_nodes (line 566) | def _log_nodes(logfile, nodes, header_text=''):
  function fix_oss_fuzz_projects (line 577) | async def fix_oss_fuzz_projects(projects_to_fix=None,
  function initiate_project_creation (line 615) | async def initiate_project_creation(project: str, project_repo: str,
  function prepare_new_oss_fuzz_project (line 780) | def prepare_new_oss_fuzz_project(project_name: str, project_url: str) ->...
  function create_oss_fuzz_integration_for_project (line 803) | async def create_oss_fuzz_integration_for_project(project_url: str,
  function parse_arguments (line 880) | def parse_arguments():
  function main (line 946) | async def main():

FILE: infra/experimental/mcp/oss_fuzz_server.py
  function _internal_delay (line 52) | def _internal_delay():
  function clone_oss_fuzz_if_it_does_not_exist (line 57) | def clone_oss_fuzz_if_it_does_not_exist():
  function _prepare_target_project (line 77) | def _prepare_target_project():
  function check_if_oss_fuzz_project_builds (line 98) | async def check_if_oss_fuzz_project_builds() -> bool:
  function shorten_logs_if_needed (line 128) | def shorten_logs_if_needed(log_string: str) -> str:
  function build_and_get_build_logs_from_oss_fuzz (line 145) | async def build_and_get_build_logs_from_oss_fuzz() -> str:
  function get_sample_artifacts_from_oss_fuzz_project (line 186) | async def get_sample_artifacts_from_oss_fuzz_project(
  function check_run_tests (line 232) | async def check_run_tests(
  function check_oss_fuzz_fuzzers (line 286) | async def check_oss_fuzz_fuzzers() -> str:
  function list_files (line 352) | async def list_files(path: str = "") -> str:
  function get_file_size (line 383) | async def get_file_size(file_path) -> str:
  function read_file (line 409) | async def read_file(file_path: str, start_idx: int, end_idx: int) -> str:
  function write_file (line 456) | async def write_file(file_path: str, content: str) -> str:
  function delete_file (line 483) | async def delete_file(file_path: str) -> str:
  function search_project_filename (line 511) | async def search_project_filename(project_name: str, filename: str) -> str:
  function search_project_file_content (line 544) | async def search_project_file_content(project_name: str,
  function get_coverage_of_oss_fuzz_project (line 580) | async def get_coverage_of_oss_fuzz_project(project_name):
  function start_mcp_server (line 670) | def start_mcp_server():

FILE: infra/helper.py
  function _get_base_runner_image (line 50) | def _get_base_runner_image(args, debug=False):
  function main (line 116) | def main():  # pylint: disable=too-many-branches,too-many-return-statements
  function bool_to_retcode (line 186) | def bool_to_retcode(boolean):
  function parse_args (line 193) | def parse_args(parser, args=None):
  function _add_external_project_args (line 210) | def _add_external_project_args(parser):
  function get_parser (line 219) | def get_parser():  # pylint: disable=too-many-statements,too-many-locals
  function _check_fuzzer_exists (line 546) | def _check_fuzzer_exists(project, fuzzer_name, args, architecture='x86_6...
  function _normalized_name (line 565) | def _normalized_name(name):
  function _get_absolute_path (line 572) | def _get_absolute_path(path):
  function _add_architecture_args (line 577) | def _add_architecture_args(parser, choices=None):
  function _add_engine_args (line 586) | def _add_engine_args(parser, choices=None):
  function _add_sanitizer_args (line 595) | def _add_sanitizer_args(parser, choices=None):
  function _add_environment_args (line 605) | def _add_environment_args(parser):
  function _add_base_image_tag_args (line 612) | def _add_base_image_tag_args(parser):
  function _env_to_docker_args (line 618) | def _env_to_docker_args(env_list):
  function workdir_from_lines (line 623) | def workdir_from_lines(lines, default='/src'):
  function _workdir_from_dockerfile (line 639) | def _workdir_from_dockerfile(project):
  function prepare_aarch64_emulation (line 647) | def prepare_aarch64_emulation():
  function docker_run (line 655) | def docker_run(run_args, *, print_output=True, architecture='x86_64'):
  function build_image (line 686) | def build_image(args):
  function build_fuzzers_impl (line 715) | def build_fuzzers_impl(  # pylint: disable=too-many-arguments,too-many-l...
  function run_clusterfuzzlite (line 800) | def run_clusterfuzzlite(args):
  function build_fuzzers (line 867) | def build_fuzzers(args):
  function fuzzbench_build_fuzzers (line 893) | def fuzzbench_build_fuzzers(args):
  function _add_oss_fuzz_ci_if_needed (line 932) | def _add_oss_fuzz_ci_if_needed(env):
  function check_build (line 939) | def check_build(args):
  function _get_fuzz_targets (line 980) | def _get_fuzz_targets(project):
  function _get_latest_corpus (line 1002) | def _get_latest_corpus(project, fuzz_target, base_corpus_dir):
  function _get_latest_public_corpus (line 1044) | def _get_latest_public_corpus(args, fuzzer):
  function download_corpora (line 1086) | def download_corpora(args):
  function coverage (line 1140) | def coverage(args):  # pylint: disable=too-many-branches
  function _introspector_prepare_corpus (line 1215) | def _introspector_prepare_corpus(args):
  function introspector (line 1250) | def introspector(args):
  function run_fuzzer (line 1322) | def run_fuzzer(args):
  function fuzzbench_run_fuzzer (line 1366) | def fuzzbench_run_fuzzer(args):
  function fuzzbench_measure (line 1421) | def fuzzbench_measure(args):
  function reproduce (line 1446) | def reproduce(args):
  function reproduce_impl (line 1453) | def reproduce_impl(  # pylint: disable=too-many-arguments
  function _validate_project_name (line 1500) | def _validate_project_name(project_name):
  function _validate_language (line 1515) | def _validate_language(language):
  function _create_build_integration_directory (line 1523) | def _create_build_integration_directory(directory):
  function _template_project_file (line 1536) | def _template_project_file(filename, template, template_args, directory):
  function generate (line 1548) | def generate(args):
  function _get_current_datetime (line 1553) | def _get_current_datetime():
  function _base_builder_from_language (line 1558) | def _base_builder_from_language(language):
  function _generate_impl (line 1563) | def _generate_impl(project, language):
  function index (line 1594) | def index(args):
  function shell (line 1660) | def shell(args):

FILE: infra/helper_test.py
  class ShellTest (line 32) | class ShellTest(unittest.TestCase):
    method test_base_runner_debug (line 37) | def test_base_runner_debug(self, _, __):
  class BuildImageImplTest (line 48) | class BuildImageImplTest(unittest.TestCase):
    method test_no_cache (line 52) | def test_no_cache(self, mock_docker_build):
    method test_pull (line 60) | def test_pull(self, mock_pull_images, _):
    method test_base_image (line 68) | def test_base_image(self, mock_docker_build):
    method test_oss_fuzz_project (line 81) | def test_oss_fuzz_project(self, mock_docker_build):
    method test_external_project (line 95) | def test_external_project(self, mock_docker_build):
  class GenerateImplTest (line 114) | class GenerateImplTest(fake_filesystem_unittest.TestCase):
    method setUp (line 119) | def setUp(self):
    method _verify_templated_files (line 124) | def _verify_templated_files(self, template_dict, directory, language):
    method test_generate_oss_fuzz_project (line 139) | def test_generate_oss_fuzz_project(self, _):
    method test_generate_external_project (line 148) | def test_generate_external_project(self):
    method test_generate_swift_project (line 161) | def test_generate_swift_project(self, _):
  class ProjectTest (line 170) | class ProjectTest(fake_filesystem_unittest.TestCase):
    method setUp (line 173) | def setUp(self):
    method test_init_external_project (line 181) | def test_init_external_project(self):
    method test_init_internal_project (line 190) | def test_init_internal_project(self):
    method test_dockerfile_path_internal_project (line 197) | def test_dockerfile_path_internal_project(self):
    method test_dockerfile_path_external_project (line 204) | def test_dockerfile_path_external_project(self):
    method test_out (line 212) | def test_out(self):
    method test_work (line 220) | def test_work(self):
    method test_corpus (line 228) | def test_corpus(self):
    method test_language_internal_project (line 236) | def test_language_internal_project(self):
    method test_language_external_project (line 242) | def test_language_external_project(self):

FILE: infra/indexer/frontend/ast_visitor.cc
  type oss_fuzz (line 58) | namespace oss_fuzz {
    type indexer (line 59) | namespace indexer {
      function IsADefinition (line 76) | bool IsADefinition(const clang::Decl* decl) {
      function IsParentADefinition (line 99) | bool IsParentADefinition(const clang::Decl* decl) {
      function IsIncompleteFunction (line 242) | bool IsIncompleteFunction(const clang::FunctionDecl* function_decl) {
      function FormatTemplateParameters (line 331) | std::string FormatTemplateParameters(
      function FormatTemplateArguments (line 358) | std::string FormatTemplateArguments(const clang::TemplateParameterLi...
      function GetTemplateParameterSuffix (line 368) | std::string GetTemplateParameterSuffix(const clang::TemplateDecl* de...
      function GetTemplateParameterSuffix (line 372) | std::string GetTemplateParameterSuffix(
      function GetTemplateParameterSuffix (line 386) | std::string GetTemplateParameterSuffix(
      function GetTemplateParameterSuffix (line 405) | std::string GetTemplateParameterSuffix(
      function GetTemplateParameterSuffix (line 411) | std::string GetTemplateParameterSuffix(
      function GetName (line 426) | std::string GetName(const clang::Decl* decl) {
      function GetNameSuffix (line 465) | std::string GetNameSuffix(const clang::Decl* decl,
      function GetNamePrefixForDeclContext (line 548) | std::string GetNamePrefixForDeclContext(const clang::DeclContext* de...
      function GetNamePrefix (line 603) | std::string GetNamePrefix(const clang::Decl* decl,
      function IsIgnoredImplicitDecl (line 642) | bool IsIgnoredImplicitDecl(const clang::Decl* decl) {
      function IsNotInherited (line 649) | bool IsNotInherited(const clang::Decl* decl) {
      function CollectPotentialMemberNamesFromAncestors (line 666) | void CollectPotentialMemberNamesFromAncestors(
      function IsCompleteClass (line 701) | bool IsCompleteClass(const clang::CXXRecordDecl* class_decl) {
      function ForAllInheritedMembers (line 708) | void ForAllInheritedMembers(clang::Sema& sema,
      function ReportTranslationUnit (line 748) | void ReportTranslationUnit(llvm::raw_string_ostream& stream,
      function GetEnumValue (line 760) | std::string GetEnumValue(const clang::EnumConstantDecl* decl) {
      function AddVirtualMethodLinksImpl (line 775) | void AddVirtualMethodLinksImpl(
      function LocationId (line 1042) | LocationId AstVisitor::GetLocationId(clang::SourceLocation start,
      function LocationId (line 1048) | LocationId AstVisitor::GetLocationId(const clang::Decl* decl) {
      function EntityId (line 1209) | EntityId AstVisitor::GetEntityIdForDecl(const clang::Decl* decl,

FILE: infra/indexer/frontend/ast_visitor.h
  function namespace (line 34) | namespace oss_fuzz {

FILE: infra/indexer/frontend/common.cc
  type oss_fuzz (line 29) | namespace oss_fuzz {
    type indexer (line 30) | namespace indexer {
      function ToNormalizedAbsolutePath (line 32) | std::string ToNormalizedAbsolutePath(
      function LocationId (line 48) | LocationId GetLocationId(InMemoryIndex& index,

FILE: infra/indexer/frontend/common.h
  function namespace (line 26) | namespace oss_fuzz {

FILE: infra/indexer/frontend/frontend.cc
  type oss_fuzz (line 37) | namespace oss_fuzz {
    type indexer (line 38) | namespace indexer {
      type frontend_internal (line 39) | namespace frontend_internal {
        function ParseCommandLine (line 40) | std::vector<std::string> ParseCommandLine(absl::string_view comman...
      function RemoveClangArgumentsAdjuster (line 88) | clang::tooling::CommandLineArguments RemoveClangArgumentsAdjuster(
      function ExtraArgumentsAdjuster (line 107) | clang::tooling::CommandLineArguments ExtraArgumentsAdjuster(
      function GetIndexActions (line 119) | std::vector<std::pair<std::unique_ptr<clang::tooling::FrontendAction...

FILE: infra/indexer/frontend/frontend.h
  function namespace (line 29) | namespace oss_fuzz {

FILE: infra/indexer/frontend/frontend_test.cc
  type oss_fuzz (line 42) | namespace oss_fuzz {
    type indexer (line 43) | namespace indexer {
      type frontend_internal (line 44) | namespace frontend_internal {
        function TEST (line 47) | TEST(ParseCommandLineTest, BasicWhitespaceSeparation) {
        function TEST (line 52) | TEST(ParseCommandLineTest, SingleQuotedWords) {
        function TEST (line 57) | TEST(ParseCommandLineTest, DoubleQuotedWords) {
        function TEST (line 63) | TEST(ParseCommandLineTest, BackslashInsideSingleQuotes) {
        function TEST (line 68) | TEST(ParseCommandLineTest, BackslashInsideDoubleQuotes) {
        function TEST (line 74) | TEST(ParseCommandLineTest, EscapedDoubleQuoteInsideDoubleQuotes) {
        function TEST (line 80) | TEST(ParseCommandLineTest, UnterminatedDoubleQuote) {
        function TEST (line 85) | TEST(ParseCommandLineTest, EmptyQuotedStrings) {
        function TEST (line 90) | TEST(ParseCommandLineTest, HashInsideSingleQuotes) {
        function TEST (line 95) | TEST(ParseCommandLineTest, HashInsideDoubleQuotes) {
      function GetSnippetIndex (line 105) | std::unique_ptr<InMemoryIndex> GetSnippetIndex(
      function FlatIndex (line 143) | FlatIndex IndexSnippet(std::string code,
      function KindToString (line 148) | std::string KindToString(Entity::Kind kind) {
      function PrintRequiredEntityParameters (line 168) | void PrintRequiredEntityParameters(const FlatIndex& index,
      function PrintOptionalEntityParameters (line 179) | void PrintOptionalEntityParameters(const FlatIndex& index,
      function PrintAllEntityParameters (line 254) | void PrintAllEntityParameters(const FlatIndex& index, const Entity& ...
      function PrintValidExpectations (line 263) | void PrintValidExpectations(
      function PrintEntity (line 310) | void PrintEntity(std::ostream& stream, const FlatIndex& index,
      function DebugPrintIndex (line 355) | std::string DebugPrintIndex(const FlatIndex& index) {
      function DumpIndex (line 390) | void DumpIndex(const FlatIndex& index) { std::cerr << DebugPrintInde...
      function DumpAll (line 392) | [[maybe_unused]] void DumpAll(const FlatIndex& index) {
      function GetSubstituteRelationship (line 397) | std::optional<SubstituteRelationship> GetSubstituteRelationship(
      function FindEntity (line 425) | std::optional<Entity> FindEntity(
      function IndexHasEntity (line 472) | bool IndexHasEntity(
      function IndexHasReference (line 491) | bool IndexHasReference(
      function IndexHasVirtualMethodLink (line 560) | bool IndexHasVirtualMethodLink(const FlatIndex& index,
      function RequiredEntityId (line 575) | std::optional<EntityId> RequiredEntityId(const FlatIndex& index,
      function TEST (line 603) | TEST(FrontendTest, MacroDefinition) {
      function TEST (line 609) | TEST(FrontendTest, MultilineMacroDefinition) {
      function TEST (line 618) | TEST(FrontendTest, MacroArgsDefinition) {
      function TEST (line 624) | TEST(FrontendTest, MacroVarargsDefinition) {
      function TEST (line 630) | TEST(FrontendTest, MacroExpansion) {
      function TEST (line 638) | TEST(FrontendTest, MacroArgsExpansion) {
      function TEST (line 646) | TEST(FrontendTest, MacroVarargsExpansion) {
      function TEST (line 654) | TEST(FrontendTest, NestedMacroExpansion) {
      function TEST (line 665) | TEST(FrontendTest, MultipleMacroExpansion) {
      function TEST (line 686) | TEST(FrontendTest, EnumDeclaration) {
      function TEST (line 742) | TEST(FrontendTest, EnumClassDeclaration) {
      function TEST (line 775) | TEST(FrontendTest, NamespacedEnumDeclaration) {
      function TEST (line 819) | TEST(FrontendTest, NamespacedEnumClassDeclaration) {
      function TEST (line 865) | TEST(FrontendTest, VariableDeclaration) {
      function TEST (line 881) | TEST(FrontendTest, ArrayDeclaration) {
      function TEST (line 901) | TEST(FrontendTest, AnonymousStructDeclaration) {
      function TEST (line 914) | TEST(FrontendTest, ConstructorReference) {
      function TEST (line 953) | TEST(FrontendTest, NamespacedVariableDeclaration) {
      function TEST (line 971) | TEST(FrontendTest, FunctionDeclaration) {
      function TEST (line 983) | TEST(FrontendTest, FunctionDefinition) {
      function TEST (line 1010) | TEST(FrontendTest, MacroWrappedFunctionDefinition1) {
      function TEST (line 1026) | TEST(FrontendTest, MacroWrappedFunctionDefinition2) {
      function TEST (line 1038) | TEST(FrontendTest, VariadicFunctionDefinition) {
      function TEST (line 1048) | TEST(FrontendTest, CapturingLambdaDefinition) {
      function TEST (line 1075) | TEST(FrontendTest, NonCapturingLambdaDefinition) {
      function TEST (line 1098) | TEST(FrontendTest, ClassDefinition) {
      function TEST (line 1122) | TEST(FrontendTest, LocalClassDefinition) {
      function TEST (line 1148) | TEST(FrontendTest, Typedef) {
      function TEST (line 1168) | TEST(FrontendTest, Using) {
      function TEST (line 1187) | TEST(FrontendTest, TypeTemplateClass) {
      function TEST (line 1226) | TEST(FrontendTest, UsingTypeTemplateClass) {
      function TEST (line 1274) | TEST(FrontendTest, ValueTemplateClass) {
      function TEST (line 1332) | TEST(FrontendTest, TypeTemplateClassFullSpecialisation) {
      function TEST (line 1351) | TEST(FrontendTest, ValueTemplateClassFullSpecialisation) {
      function TEST (line 1370) | TEST(FrontendTest, TypeTemplateClassPartialSpecialisation) {
      function TEST (line 1400) | TEST(FrontendTest, ValueTemplateClassPartialSpecialisation) {
      function TEST (line 1426) | TEST(FrontendTest, TypeTemplateFunction) {
      function TEST (line 1458) | TEST(FrontendTest, ValueTemplateFunction) {
      function TEST (line 1492) | TEST(FrontendTest, TemplateTemplateFunction) {
      function TEST (line 1545) | TEST(FrontendTest, TemplateParameterPackFunction) {
      function TEST (line 1585) | TEST(FrontendTest, FunctionScopedClassDefinition) {
      function TEST (line 1598) | TEST(FrontendTest, OperatorOverloads) {
      function TEST (line 1645) | TEST(FrontendTest, NoIdentifierOperator) {
      function TEST (line 1676) | TEST(FrontendTest, PointerToStruct) {
      function TEST (line 1707) | TEST(FrontendTest, PointerToType) {
      function TEST (line 1735) | TEST(FrontendTest, ReferenceToStruct) {
      function TEST (line 1769) | TEST(FrontendTest, ReferenceToReturnType) {
      function TEST (line 1787) | TEST(FrontendTest, ReferenceToSizeof) {
      function TEST (line 1812) | TEST(FrontendTest, DeletedConstructor) {
      function TEST (line 1832) | TEST(FrontendTest, PureVirtualMethod) {
      function TEST (line 1849) | TEST(FrontendTest, OverriddenMethod) {
      function TEST (line 1940) | TEST(FrontendTest, CursedInheritance) {
      function TEST (line 2012) | TEST(FrontendTest, MoreCursedInheritance) {
      function TEST (line 2306) | TEST(FrontendTest, Devirtualization) {
      function TEST (line 2328) | TEST(FrontendTest, InheritanceThroughTemplateInstantiation) {
      function TEST (line 2383) | TEST(FrontendTest, Builtin) {
      function TEST (line 2401) | TEST(FrontendTest, RecursiveTemplateInstantiation) {
      function TEST (line 2477) | TEST(FrontendTest, IncompleteTemplate) {
      function TEST (line 2520) | TEST(FrontendTest, ConstrainedSpecialization) {
      function TEST (line 2542) | TEST(FrontendTest, MoreTemplateSpecialization) {
      function TEST (line 2615) | TEST(FrontendTest, FormatTemplateArgumentsOne) {
      function TEST (line 2641) | TEST(FrontendTest, FormatTemplateArgumentsTwo) {
      function TEST (line 2693) | TEST(FrontendTest, FormatTemplateArgumentsThree) {
      function TEST (line 2735) | TEST(FrontendTest, EvenMoreTemplates) {
      function TEST (line 2818) | TEST(FrontendTest, QualifiedTypeSpecialization) {
      function TEST (line 2875) | TEST(FrontendTest, QualifiedTypeSpecializationTwo) {
      function TEST (line 2953) | TEST(FrontendTest, QualifiedTypeSpecializationThree) {
      function TEST (line 2983) | TEST(FrontendTest, UsingSpecialization) {
      function TEST (line 3007) | TEST(FrontendTest, UsingSpecializationTwo) {
      function TEST (line 3025) | TEST(FrontendTest, BooleanParameter) {
      function TEST (line 3033) | TEST(FrontendTest, BooleanTemplate) {
      function TEST (line 3041) | TEST(FrontendTest, InheritanceReference) {
      function TEST (line 3053) | TEST(FrontendTest, MemberTemplateInstantiation) {
      function TEST (line 3116) | TEST(FrontendTest, ClassTemplateMemberReference) {
      function TEST (line 3179) | TEST(FrontendTest, AnonymousStructMemberCollision) {
      function TEST (line 3222) | TEST(FrontendTest, ImplicitThisOverload) {
      function TEST (line 3254) | TEST(FrontendTest, TemplatedConstructor) {
      function TEST (line 3276) | TEST(FrontendTest, UnknownPragmas) {
      function TEST (line 3325) | TEST(FrontendTest, TemplatedXRef) {
      function TEST (line 3347) | TEST(FrontendTest, TemplateMemberFn) {
      function TEST (line 3576) | TEST(FrontendTest, ImplicitCode) {
      function TEST (line 3716) | TEST(FrontendTest, ReferencedImplicitCode) {
      function TEST (line 3733) | TEST(FrontendTest, ImplicitComparisonInstantiation) {
      function TEST (line 3782) | TEST(FrontendTest, VarAndTypeAliasTemplates) {
      function TEST (line 3836) | TEST(FrontendTest, AbbreviatedFunctionTemplate) {
      function TEST (line 3843) | TEST(FrontendTest, CommandLineMacro) {
      function TEST (line 3860) | TEST(FrontendTest, AliasedSymbol) {
      function TEST (line 3871) | TEST(FrontendTest, GhostFileLocations) {

FILE: infra/indexer/frontend/index_action.cc
  type oss_fuzz (line 43) | namespace oss_fuzz {
    type indexer (line 44) | namespace indexer {
      class AstConsumer (line 45) | class AstConsumer : public clang::ASTConsumer {
        method AstConsumer (line 47) | explicit AstConsumer(InMemoryIndex& index, clang::CompilerInstance...
        method HandleTranslationUnit (line 51) | void HandleTranslationUnit(clang::ASTContext& context) override {

FILE: infra/indexer/frontend/index_action.h
  function namespace (line 29) | namespace oss_fuzz {

FILE: infra/indexer/frontend/pp_callbacks.cc
  type oss_fuzz (line 25) | namespace oss_fuzz {
    type indexer (line 26) | namespace indexer {
      function LocationId (line 27) | LocationId PpCallbacks::GetLocationId(clang::SourceLocation start,
      function EntityId (line 33) | EntityId PpCallbacks::GetEntityIdForMacro(llvm::StringRef name,

FILE: infra/indexer/frontend/pp_callbacks.h
  function namespace (line 25) | namespace oss_fuzz {

FILE: infra/indexer/index/file_copier.cc
  type oss_fuzz (line 29) | namespace oss_fuzz {
    type indexer (line 30) | namespace indexer {
      function PreparePath (line 33) | void PreparePath(std::string& path) {

FILE: infra/indexer/index/file_copier.h
  function namespace (line 27) | namespace oss_fuzz {

FILE: infra/indexer/index/file_copier_unittest.cc
  type oss_fuzz (line 25) | namespace oss_fuzz {
    type indexer (line 26) | namespace indexer {
      function CreateFile (line 28) | void CreateFile(const std::filesystem::path& path) {
      function GetFileContents (line 35) | std::optional<std::string> GetFileContents(const std::filesystem::pa...
      function TEST (line 46) | TEST(FileCopierTest, AbsoluteToIndexPath) {
      function TEST (line 60) | TEST(FileCopierTest, AbsoluteToIndexPathOutside) {
      function TEST (line 69) | TEST(FileCopierTest, FileCopying) {

FILE: infra/indexer/index/in_memory_index.cc
  type oss_fuzz (line 36) | namespace oss_fuzz {
    type indexer (line 37) | namespace indexer {
      function HasTheSameIdentity (line 45) | bool HasTheSameIdentity(const Entity& lhs, const Entity& rhs) {
      function MaybePrintLinkerMessage (line 50) | void MaybePrintLinkerMessage(absl::Span<const Entity> entities,
      type ComparePairFirst (line 103) | struct ComparePairFirst {
      function LocationId (line 195) | LocationId InMemoryIndex::GetLocationId(Location location) {
      function LocationId (line 203) | LocationId InMemoryIndex::GetIdForLocationWithIndexPath(
      function EntityId (line 216) | EntityId InMemoryIndex::GetEntityId(const Entity& entity) {
      function EntityId (line 241) | EntityId InMemoryIndex::GetExistingEntityId(const Entity& entity) co...
      function Entity (line 249) | const Entity& InMemoryIndex::GetEntityById(EntityId entity_id) const {
      function ReferenceId (line 255) | ReferenceId InMemoryIndex::GetReferenceId(const Reference& reference) {
      function VirtualMethodLinkId (line 263) | VirtualMethodLinkId InMemoryIndex::GetVirtualMethodLinkId(
      function FlatIndex (line 273) | FlatIndex InMemoryIndex::Export() && {

FILE: infra/indexer/index/in_memory_index.h
  function namespace (line 26) | namespace oss_fuzz {

FILE: infra/indexer/index/in_memory_index_unittest.cc
  type oss_fuzz (line 32) | namespace oss_fuzz {
    type indexer (line 33) | namespace indexer {
      function PopulateLocationFiles (line 35) | void PopulateLocationFiles(absl::Span<const Location> locations,
      function EnsureSorted (line 50) | std::vector<T> EnsureSorted(std::vector<T> items) {
      function GetTestLocations (line 57) | std::vector<Location> GetTestLocations() {
      function GetTestEntities (line 73) | std::vector<Entity> GetTestEntities() {
      function GetTestReferences (line 87) | std::vector<Reference> GetTestReferences() {
      function GetSecondTestLocations (line 96) | std::vector<Location> GetSecondTestLocations() {
      function EnsureSubstituteReferenceOrdering (line 110) | std::vector<Entity> EnsureSubstituteReferenceOrdering(
      function GetSecondTestEntities (line 121) | std::vector<Entity> GetSecondTestEntities() {
      function GetThirdTestEntities (line 140) | std::vector<Entity> GetThirdTestEntities() {
      function TEST (line 161) | TEST(InMemoryIndexTest, Locations) {
      function TEST (line 175) | TEST(InMemoryIndexTest, LocationsBasePath) {
      function TEST (line 199) | TEST(InMemoryIndexTest, Entities) {
      function TEST (line 220) | TEST(InMemoryIndexTest, SubstituteEntities) {
      function TEST (line 247) | TEST(InMemoryIndexTest, References) {
      function TEST (line 269) | TEST(InMemoryIndexTest, Merge) {
      function TEST (line 323) | TEST(InMemoryIndexTest, MergeWithSubstituteEntities) {

FILE: infra/indexer/index/sqlite.cc
  type oss_fuzz (line 29) | namespace oss_fuzz {
    type indexer (line 30) | namespace indexer {
      function InsertLocations (line 137) | bool InsertLocations(sqlite3* db, absl::Span<const Location> locatio...
      function InsertEntities (line 184) | bool InsertEntities(sqlite3* db, absl::Span<const Entity> entities) {
      function InsertReferences (line 272) | bool InsertReferences(sqlite3* db, absl::Span<const Reference> refer...
      function InsertVirtualMethodLinks (line 311) | bool InsertVirtualMethodLinks(sqlite3* db,
      function SaveAsSqlite (line 347) | bool SaveAsSqlite(const FlatIndex& index, const std::string& path,

FILE: infra/indexer/index/sqlite.h
  function namespace (line 22) | namespace oss_fuzz {

FILE: infra/indexer/index/types.cc
  type oss_fuzz (line 27) | namespace oss_fuzz {
    type indexer (line 28) | namespace indexer {
      function IsPositiveDecimalInteger (line 32) | bool IsPositiveDecimalInteger(const char* str) noexcept {
      function IsDecimalInteger (line 45) | bool IsDecimalInteger(const char* str) {

FILE: infra/indexer/index/types.h
  function namespace (line 32) | namespace oss_fuzz {

FILE: infra/indexer/index/types_unittest.cc
  type oss_fuzz (line 23) | namespace oss_fuzz {
    type indexer (line 24) | namespace indexer {
      function GetTestLocations (line 26) | std::vector<Location> GetTestLocations() {
      function GetTestEntities (line 36) | std::vector<Entity> GetTestEntities() {
      function GetTestReferences (line 51) | std::vector<Reference> GetTestReferences() {
      function TEST (line 61) | TEST(LocationTest, TestEquality) {
      function TEST (line 74) | TEST(LocationTest, TestStrictComparison) {
      function TEST (line 92) | TEST(LocationTest, TestComparison) {
      function TEST (line 110) | TEST(LocationTest, TestHash) {
      function TEST (line 114) | TEST(EntityTest, TestEquality) {
      function TEST (line 127) | TEST(EntityTest, TestStrictComparison) {
      function TEST (line 145) | TEST(EntityTest, TestComparison) {
      function TEST (line 163) | TEST(EntityTest, TestHash) {
      function TEST (line 167) | TEST(ReferenceTest, TestEquality) {
      function TEST (line 180) | TEST(ReferenceTest, TestStrictComparison) {
      function TEST (line 198) | TEST(ReferenceTest, TestComparison) {
      function TEST (line 216) | TEST(ReferenceTest, TestHash) {

FILE: infra/indexer/init.h
  function InitGoogle (line 24) | void InitGoogle(absl::string_view usage, int* argc, char*** argv,
  function InitGoogleExceptChangeRootAndUser (line 31) | void InitGoogleExceptChangeRootAndUser(absl::string_view usage, int* argc,

FILE: infra/indexer/main.cc
  function ABSL_FLAG (line 47) | ABSL_FLAG(int, index_threads, 4, "Number of parallel indexing threads");

FILE: infra/indexer/merge_queue.cc
  type oss_fuzz (line 31) | namespace oss_fuzz {
    type indexer (line 32) | namespace indexer {
      class SingleThreadMergeQueue (line 37) | class SingleThreadMergeQueue : public MergeQueue {
      class ParallelMergeQueue (line 167) | class ParallelMergeQueue : public MergeQueue {

FILE: infra/indexer/merge_queue.h
  function namespace (line 22) | namespace oss_fuzz {

FILE: infra/indexer/queue_state.cc
  type oss_fuzz (line 24) | namespace oss_fuzz {
    type indexer (line 25) | namespace indexer {

FILE: infra/indexer/queue_state.h
  function namespace (line 21) | namespace oss_fuzz {

FILE: infra/manifest.py
  function push_manifest (line 24) | def push_manifest(image):
  function main (line 46) | def main():

FILE: infra/pr_helper.py
  function get_criticality_score (line 37) | def get_criticality_score(repo_url):
  function is_known_contributor (line 58) | def is_known_contributor(content, email):
  function save_env (line 65) | def save_env(message, is_ready_for_merge, is_internal=False):
  function main (line 73) | def main():
  class GithubHandler (line 150) | class GithubHandler:
    method __init__ (line 153) | def __init__(self):
    method get_pr_author (line 164) | def get_pr_author(self):
    method get_projects_path (line 168) | def get_projects_path(self):
    method get_author_email (line 183) | def get_author_email(self):
    method get_project_yaml (line 200) | def get_project_yaml(self, project_path):
    method get_yaml_file_content (line 205) | def get_yaml_file_content(self, contents_url):
    method get_integrated_project_info (line 213) | def get_integrated_project_info(self):
    method get_pull_request_number (line 225) | def get_pull_request_number(self, commit):
    method get_past_contributors (line 233) | def get_past_contributors(self, project_path):
    method get_maintainers (line 266) | def get_maintainers(self):
    method is_author_internal_member (line 282) | def is_author_internal_member(self):
    method has_author_modified_project (line 286) | def has_author_modified_project(self, project_path):

FILE: infra/presubmit.py
  function _is_project_file (line 34) | def _is_project_file(actual_path, expected_filename):
  function _check_one_lib_fuzzing_engine (line 50) | def _check_one_lib_fuzzing_engine(build_sh_file):
  function check_lib_fuzzing_engine (line 68) | def check_lib_fuzzing_engine(paths):
  class ProjectYamlChecker (line 74) | class ProjectYamlChecker:
    method __init__ (line 113) | def __init__(self, filename):
    method do_checks (line 120) | def do_checks(self):
    method is_disabled (line 137) | def is_disabled(self):
    method error (line 141) | def error(self, message):
    method check_valid_project_name (line 146) | def check_valid_project_name(self):
    method check_project_yaml_constants (line 156) | def check_project_yaml_constants(self):
    method check_valid_section_names (line 178) | def check_valid_section_names(self):
    method check_required_sections (line 185) | def check_required_sections(self):
    method check_valid_emails (line 191) | def check_valid_emails(self):
    method check_valid_language (line 207) | def check_valid_language(self):
  function _check_one_project_yaml (line 217) | def _check_one_project_yaml(project_yaml_filename):
  function check_project_yaml (line 230) | def check_project_yaml(paths):
  function _check_one_seed_corpus (line 236) | def _check_one_seed_corpus(path):
  function check_seed_corpus (line 249) | def check_seed_corpus(paths):
  function _check_one_apt_update (line 255) | def _check_one_apt_update(path):
  function check_apt_update (line 274) | def check_apt_update(paths):
  function do_checks (line 279) | def do_checks(changed_files):
  function check_license (line 321) | def check_license(paths):
  function bool_to_returncode (line 345) | def bool_to_returncode(success):
  function is_nonfuzzer_python (line 355) | def is_nonfuzzer_python(path):
  function lint (line 360) | def lint(_=None):
  function yapf (line 369) | def yapf(paths, validate=True):
  function get_changed_files (line 385) | def get_changed_files():
  function run_build_tests (line 408) | def run_build_tests():
  function run_nonbuild_tests (line 420) | def run_nonbuild_tests(parallel):
  function run_tests (line 455) | def run_tests(_=None, parallel=False, build_tests=True, nonbuild_tests=T...
  function run_systemsan_tests (line 472) | def run_systemsan_tests(_=None):
  function get_all_files (line 480) | def get_all_files():
  function main (line 487) | def main():

FILE: infra/repo_manager.py
  class RepoManager (line 34) | class RepoManager:
    method __init__ (line 37) | def __init__(self, repo_dir):
    method _is_git_repo (line 40) | def _is_git_repo(self):
    method git (line 49) | def git(self, cmd, check_result=False):
    method commit_exists (line 63) | def commit_exists(self, commit):
    method commit_date (line 78) | def commit_date(self, commit):
    method get_git_diff (line 91) | def get_git_diff(self, base='origin...'):
    method get_current_commit (line 109) | def get_current_commit(self):
    method get_parent (line 118) | def get_parent(self, commit, count):
    method fetch_all_remotes (line 132) | def fetch_all_remotes(self):
    method get_commit_list (line 140) | def get_commit_list(self, newest_commit, oldest_commit=None, limit=None):
    method fetch_branch (line 183) | def fetch_branch(self, branch):
    method fetch_unshallow (line 188) | def fetch_unshallow(self):
    method checkout_pr (line 196) | def checkout_pr(self, pr_ref):
    method checkout_commit (line 208) | def checkout_commit(self, commit, clean=True):
    method remove_repo (line 229) | def remove_repo(self):
  function clone_repo_and_get_manager (line 235) | def clone_repo_and_get_manager(repo_url,
  function _clone (line 258) | def _clone(repo_url, base_dir, repo_name, username=None, password=None):

FILE: infra/repo_manager_test.py
  function get_oss_fuzz_repo (line 31) | def get_oss_fuzz_repo():
  class CloneTest (line 40) | class CloneTest(unittest.TestCase):
    method test_clone_valid_repo_integration (line 45) | def test_clone_valid_repo_integration(self):
    method test_clone_invalid_repo (line 51) | def test_clone_invalid_repo(self):
    method test_clone_with_username (line 59) | def test_clone_with_username(self, mock_execute):  # pylint: disable=n...
  class RepoManagerCheckoutTest (line 76) | class RepoManagerCheckoutTest(unittest.TestCase):
    method test_checkout_valid_commit (line 79) | def test_checkout_valid_commit(self):
    method test_checkout_invalid_commit (line 87) | def test_checkout_invalid_commit(self):
  class RepoManagerGetCommitListTest (line 101) | class RepoManagerGetCommitListTest(unittest.TestCase):
    method test_get_valid_commit_list (line 104) | def test_get_valid_commit_list(self):
    method test_get_invalid_commit_list (line 119) | def test_get_invalid_commit_list(self):
  class GitDiffTest (line 136) | class GitDiffTest(unittest.TestCase):
    method test_diff_exists (line 139) | def test_diff_exists(self):
    method test_diff_empty (line 149) | def test_diff_empty(self):
    method test_error_on_command (line 157) | def test_error_on_command(self):
    method test_diff_no_change (line 167) | def test_diff_no_change(self):
  class CheckoutPrIntegrationTest (line 177) | class CheckoutPrIntegrationTest(unittest.TestCase):
    method test_pull_request_exists (line 180) | def test_pull_request_exists(self):
    method test_checkout_invalid_pull_request (line 188) | def test_checkout_invalid_pull_request(self):

FILE: infra/retry.py
  function sleep (line 25) | def sleep(seconds):
  function get_delay (line 31) | def get_delay(num_try, delay, backoff):
  function wrap (line 36) | def wrap(retries,

FILE: infra/tools/hold_back_images.py
  function get_latest_docker_image_digest (line 34) | def get_latest_docker_image_digest(image):
  function get_args (line 48) | def get_args():
  function get_hold_image_digest (line 75) | def get_hold_image_digest(line, hold_image_digest, update_held):
  function hold_image (line 89) | def hold_image(project, hold_image_digest, update_held, issue_number):
  function main (line 119) | def main():

FILE: infra/tools/wycheproof/generate_job.py
  function main (line 21) | def main():

FILE: infra/tools/wycheproof/launcher.py
  function main (line 24) | def main():

FILE: infra/tools/wycheproof/run.py
  function get_args (line 24) | def get_args():
  function main (line 38) | def main():

FILE: infra/utils.py
  function chdir_to_root (line 36) | def chdir_to_root():
  function command_to_string (line 43) | def command_to_string(command):
  function execute (line 51) | def execute(command,
  function get_fuzz_targets (line 97) | def get_fuzz_targets(path):
  function get_container_name (line 118) | def get_container_name():
  function is_executable (line 133) | def is_executable(file_path):
  function is_fuzz_target_local (line 138) | def is_fuzz_target_local(file_path):
  function binary_print (line 171) | def binary_print(string):
  function url_join (line 181) | def url_join(*url_parts):
  function gs_url_to_https (line 193) | def gs_url_to_https(url):
  function remove_prefix (line 198) | def remove_prefix(string, prefix):

FILE: infra/utils_test.py
  class IsFuzzTargetLocalTest (line 30) | class IsFuzzTargetLocalTest(unittest.TestCase):
    method test_invalid_filepath (line 33) | def test_invalid_filepath(self):
    method test_valid_filepath (line 42) | def test_valid_filepath(self):
  class GetFuzzTargetsTest (line 52) | class GetFuzzTargetsTest(unittest.TestCase):
    method test_valid_filepath (line 55) | def test_valid_filepath(self):
    method test_invalid_filepath (line 68) | def test_invalid_filepath(self):
  class ExecuteTest (line 74) | class ExecuteTest(unittest.TestCase):
    method test_valid_command (line 77) | def test_valid_command(self):
    method test_error_command (line 99) | def test_error_command(self):
  class BinaryPrintTest (line 114) | class BinaryPrintTest(unittest.TestCase):
    method test_string (line 118) | def test_string(self):  # pylint: disable=no-self-use
    method test_binary_string (line 126) | def test_binary_string(self):  # pylint: disable=no-self-use
  class CommandToStringTest (line 134) | class CommandToStringTest(unittest.TestCase):
    method test_string (line 137) | def test_string(self):
    method test_list (line 143) | def test_list(self):

FILE: projects/abseil-cpp/string_escape_fuzzer.cc
  function LLVMFuzzerTestOneInput (line 21) | int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {

FILE: projects/abseil-cpp/string_utilities_fuzzer.cc
  function LLVMFuzzerTestOneInput (line 28) | int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {

FILE: projects/abseil-py/fuzz_argparse.py
  class FuzzEnum (line 24) | class FuzzEnum(enum.Enum):
  function TestOneInput (line 29) | def TestOneInput(data):
  function main (line 68) | def main():

FILE: projects/adal/fuzz_util.py
  function TestInput (line 22) | def TestInput(data):
  function main (line 65) | def main():

FILE: projects/adal/fuzz_xmlutil.py
  function generate_sample_xml (line 48) | def generate_sample_xml(fdp):
  function TestInput (line 65) | def TestInput(data):
  function main (line 86) | def main():

FILE: projects/aiohttp/fuzz_http_parser.py
  function TestOneInput (line 35) | def TestOneInput(data):
  function main (line 45) | def main():

FILE: projects/aiohttp/fuzz_http_payload_parser.py
  function TestOneInput (line 34) | def TestOneInput(data):
  function main (line 44) | def main():

FILE: projects/aiohttp/fuzz_multipart.py
  class FuzzStream (line 28) | class FuzzStream:
    method __init__ (line 29) | def __init__(self, content):
    method read (line 32) | async def read(self, size = None):
    method at_eof (line 35) | def at_eof(self):
    method readline (line 38) | async def readline(self):
    method unread_data (line 41) | def unread_data(self, data):
  function fuzz_bodypart_reader (line 46) | async def fuzz_bodypart_reader(data):
  function TestOneInput (line 59) | def TestOneInput(data):
  function main (line 65) | def main():

FILE: projects/aiohttp/fuzz_payload_url.py
  function TestOneInput (line 25) | def TestOneInput(data):
  function main (line 38) | def main():

FILE: projects/aiohttp/fuzz_web_request.py
  function fuzz_run_one_async (line 29) | async def fuzz_run_one_async(data):
  function TestOneInput (line 46) | def TestOneInput(data):
  function main (line 49) | def main():

FILE: projects/airflow/dag_fuzz.py
  function py_func (line 37) | def py_func():
  function TestInput (line 40) | def TestInput(input_bytes):
  function main (line 63) | def main():

FILE: projects/alembic/alembic_dump_info_fuzzer.cc
  function dumpAttributes (line 64) | void dumpAttributes(T const &schema) {
  function dumpPolyMesh (line 91) | void dumpPolyMesh(const IObject &node) {
  function dumpSubD (line 100) | void dumpSubD(const IObject &node) {
  function dumpFaceSet (line 112) | void dumpFaceSet(const IObject &node) {
  function dumpCurves (line 119) | void dumpCurves(const IObject &node) {
  function dumpXform (line 127) | void dumpXform(const IObject &node) {
  function dumpMaterial (line 136) | void dumpMaterial(const IObject &node) {
  function dumpNodes (line 157) | void dumpNodes(const IObject &node) {
  function dumpInfo (line 188) | void dumpInfo(const char *file) {
  function LLVMFuzzerTestOneInput (line 199) | int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {

FILE: projects/alembic/fuzzer_temp_file.h
  function fuzzer_release_tmpfile (line 57) | static void fuzzer_release_tmpfile(char *filename) {
  function class (line 67) | class FuzzerTemporaryFile {

FILE: projects/angle/fuzz_sha1.cc
  function LLVMFuzzerTestOneInput (line 21) | int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)

FILE: projects/angular/compiler/fuzz_tests/fuzz_parser.js
  function createParser (line 21) | function createParser() {
  function parseAction (line 24) | function parseAction(text, location = null, offset = 0) {
  function parseBinding (line 28) | function parseBinding(text, location = null, offset = 0) {
  function parseInterpolation (line 32) | function parseInterpolation(text, location = null, offset = 0) {
  function splitInterpolation (line 36) | function splitInterpolation(text, location = null) {
  function parseSimpleBinding (line 40) | function parseSimpleBinding(text, location = null, offset = 0) {

FILE: projects/angus-mail/ASCIIUtilityFuzzer.java
  class ASCIIUtilityFuzzer (line 24) | public class ASCIIUtilityFuzzer {
    method fuzzerTestOneInput (line 25) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/angus-mail/BASE64EncoderStreamFuzzer.java
  class BASE64EncoderStreamFuzzer (line 26) | public class BASE64EncoderStreamFuzzer {
    method fuzzerTestOneInput (line 27) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/aniso8601/fuzz_aniso8601.py
  function fuzz_date (line 26) | def fuzz_date(data):
  function fuzz_decimal_fraction (line 38) | def fuzz_decimal_fraction(data):
  function fuzz_duration (line 43) | def fuzz_duration(data):
  function fuzz_interval (line 55) | def fuzz_interval(data):
  function fuzz_time (line 67) | def fuzz_time(data):
  function TestOneInput (line 79) | def TestOneInput(data):
  function main (line 87) | def main():

FILE: projects/ansible/fuzz_encrypt.py
  function TestInput (line 28) | def TestInput(input_bytes):
  function main (line 44) | def main():

FILE: projects/ansible/fuzz_parse.py
  function TestInput (line 27) | def TestInput(input_bytes):
  function main (line 42) | def main():

FILE: projects/ansible/fuzz_task.py
  function TestInput (line 29) | def TestInput(input_bytes):
  function main (line 57) | def main():

FILE: projects/antlr3-java/GrammarFuzzer.java
  class GrammarFuzzer (line 22) | public class GrammarFuzzer {
    method fuzzerTestOneInput (line 23) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/antlr4-java/GrammarFuzzer.java
  class GrammarFuzzer (line 27) | public class GrammarFuzzer {
    method fuzzerTestOneInput (line 28) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-axis2/axis-axis2-java-core-fuzzer/src/main/java/org/apache/axis2/HttpInterfaceFuzzer.java
  class HttpInterfaceFuzzer (line 31) | public class HttpInterfaceFuzzer extends SimpleAxis2Server {
    method HttpInterfaceFuzzer (line 35) | public HttpInterfaceFuzzer(FuzzedDataProvider fuzzedDataProvider) thro...
    method test (line 42) | void test() {
    method fuzzerTestOneInput (line 72) | public static void fuzzerTestOneInput(FuzzedDataProvider fuzzedDataPro...
    method getPort (line 80) | private int getPort() {

FILE: projects/apache-axis2/axis-axis2-java-core-fuzzer/src/main/java/samples/quickstart/service/pojo/StockQuoteService.java
  class StockQuoteService (line 27) | public class StockQuoteService {
    method printMap (line 30) | void printMap(HashMap map) {
    method getPrice (line 38) | public double getPrice(String symbol) {
    method update (line 46) | public void update(String symbol, double price) {

FILE: projects/apache-commons-bcel/src/main/java/ossfuzz/BcelFuzzer.java
  class BcelFuzzer (line 26) | public class BcelFuzzer {
    method BcelFuzzer (line 28) | BcelFuzzer(FuzzedDataProvider fuzzedDataProvider) {
    method test (line 32) | void test(FuzzedDataProvider fuzzedDataProvider) throws Exception {
    method fuzzerTestOneInput (line 44) | public static void fuzzerTestOneInput(FuzzedDataProvider fuzzedDataPro...

FILE: projects/apache-commons-beanutils/src/main/java/ossfuzz/BeanutilsFuzzer.java
  class BeanutilsFuzzer (line 30) | public class BeanutilsFuzzer {
    method BeanutilsFuzzer (line 43) | BeanutilsFuzzer(int integer, String string, int[] intArray, boolean bo...
    method BeanutilsFuzzer (line 58) | BeanutilsFuzzer(FuzzedDataProvider fuzzedDataProvider) {
    method createDynaClass (line 73) | protected DynaClass createDynaClass() {
    method fuzzedIntArray (line 96) | int[] fuzzedIntArray(FuzzedDataProvider fuzzedDataProvider) {
    method fuzzedStringArray (line 105) | String[] fuzzedStringArray(FuzzedDataProvider fuzzedDataProvider) {
    method fuzzedMap (line 114) | Map<String, Object> fuzzedMap(FuzzedDataProvider fuzzedDataProvider) {
    method test (line 148) | void test() throws Exception {
    method fuzzerTestOneInput (line 201) | public static void fuzzerTestOneInput(FuzzedDataProvider fuzzedDataPro...

FILE: projects/apache-commons-cli/ParserFuzzer.java
  class ParserFuzzer (line 24) | public class ParserFuzzer {
    method fuzzerTestOneInput (line 25) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-commons-codec/BinaryEncodingFuzzer.java
  class BinaryEncodingFuzzer (line 33) | public class BinaryEncodingFuzzer {
    method fuzzerTestOneInput (line 34) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-commons-codec/ChecksumFuzzer.java
  class ChecksumFuzzer (line 26) | public class ChecksumFuzzer {
    method fuzzerTestOneInput (line 27) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-commons-codec/CryptFuzzer.java
  class CryptFuzzer (line 20) | public class CryptFuzzer {
    method fuzzerTestOneInput (line 21) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-commons-codec/DigestUtilsFuzzer.java
  class DigestUtilsFuzzer (line 25) | public class DigestUtilsFuzzer {
    method fuzzerTestOneInput (line 26) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-commons-codec/HmacUtilsFuzzer.java
  class HmacUtilsFuzzer (line 25) | public class HmacUtilsFuzzer {
    method fuzzerTestOneInput (line 26) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-commons-codec/LanguageStringEncoderFuzzer.java
  class LanguageStringEncoderFuzzer (line 35) | public class LanguageStringEncoderFuzzer {
    method fuzzerTestOneInput (line 36) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-commons-codec/MurmurHashFuzzer.java
  class MurmurHashFuzzer (line 26) | public class MurmurHashFuzzer {
    method fuzzerTestOneInput (line 27) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-commons-codec/NetCodecFuzzer.java
  class NetCodecFuzzer (line 34) | public class NetCodecFuzzer {
    method fuzzerTestOneInput (line 35) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-commons-codec/PhoneticEngineFuzzer.java
  class PhoneticEngineFuzzer (line 23) | public class PhoneticEngineFuzzer {
    method fuzzerTestOneInput (line 24) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-commons-collections/CollectionsBidiMapFuzzer.java
  class CollectionsBidiMapFuzzer (line 21) | public class CollectionsBidiMapFuzzer {
    method runTest (line 23) | void runTest(FuzzedDataProvider data) {
    method fuzzerTestOneInput (line 63) | public static void fuzzerTestOneInput(FuzzedDataProvider data) {

FILE: projects/apache-commons-compress/ArchiverArFuzzer.java
  class ArchiverArFuzzer (line 22) | public class ArchiverArFuzzer extends BaseTests {
    method fuzzerTestOneInput (line 23) | public static void fuzzerTestOneInput(byte[] data) {

FILE: projects/apache-commons-compress/ArchiverArjFuzzer.java
  class ArchiverArjFuzzer (line 22) | public class ArchiverArjFuzzer extends BaseTests {
    method fuzzerTestOneInput (line 23) | public static void fuzzerTestOneInput(byte[] data) {

FILE: projects/apache-commons-compress/ArchiverCpioFuzzer.java
  class ArchiverCpioFuzzer (line 22) | public class ArchiverCpioFuzzer extends BaseTests {
    method fuzzerTestOneInput (line 23) | public static void fuzzerTestOneInput(byte[] data) {

FILE: projects/apache-commons-compress/ArchiverDumpFuzzer.java
  class ArchiverDumpFuzzer (line 22) | public class ArchiverDum
Copy disabled (too large) Download .json
Condensed preview — 6768 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (12,903K chars).
[
  {
    "path": ".allstar/binary_artifacts.yaml",
    "chars": 101,
    "preview": "# Exemption reason: This repo uses binary artifacts for integration tests.\noptConfig:\n  optOut: true\n"
  },
  {
    "path": ".clusterfuzzlite/Dockerfile",
    "chars": 868,
    "preview": "# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": ".clusterfuzzlite/build.sh",
    "chars": 1890,
    "preview": "#!/bin/bash -eu\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": ".clusterfuzzlite/coverage_atheris_fuzzer.py",
    "chars": 1643,
    "preview": "#!/usr/bin/python3\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you"
  },
  {
    "path": ".clusterfuzzlite/project.yaml",
    "chars": 17,
    "preview": "language: python\n"
  },
  {
    "path": ".dockerignore",
    "chars": 138,
    "preview": ".git\n.venv\ninfra/cifuzz/test_data/*\ndocs/*\n\n# Copied from .gitignore.\n.vscode/\n*.pyc\nbuild\n*~\n.DS_Store\n*.swp\n.pytest_ca"
  },
  {
    "path": ".gitattributes",
    "chars": 104,
    "preview": "# Check out Linux shell scripts with LF (necessary when using Docker setup on Windows)\n*.sh text eol=lf\n"
  },
  {
    "path": ".github/header-checker-lint.yml",
    "chars": 283,
    "preview": "allowedCopyrightHolders:\n  - 'Google LLC'\nallowedLicenses:\n  - 'Apache-2.0'\nsourceFileExtensions:\n  - 'ts'\n  - 'js'\n  - "
  },
  {
    "path": ".github/workflows/cflite_pr.yml",
    "chars": 1841,
    "preview": "name: ClusterFuzzLite PR fuzzing\non:\n  pull_request:\n    paths:\n      - 'infra/**'\npermissions: read-all\njobs:\n  PR:\n   "
  },
  {
    "path": ".github/workflows/check_base_os.yml",
    "chars": 2134,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": ".github/workflows/codeql-analysis.yml",
    "chars": 1657,
    "preview": "name: \"CodeQL\"\n\non:\n  push:\n    branches: [ master ]\n    paths: [infra/**, .github/**]\n  pull_request:\n    # The branche"
  },
  {
    "path": ".github/workflows/index_build_tests.yml",
    "chars": 1144,
    "preview": "name: indexer tests\n\npermissions:\n  contents: read\n\non:\n  pull_request:\n    paths:\n      - 'infra/base-images/base-build"
  },
  {
    "path": ".github/workflows/indexer_build.yml",
    "chars": 687,
    "preview": "name: indexer build tests\n\npermissions:\n  contents: read\n\non:\n  pull_request:\n    paths:\n      - 'infra/indexer/**'\n    "
  },
  {
    "path": ".github/workflows/infra_tests.yml",
    "chars": 1548,
    "preview": "name: Infra tests\n\npermissions:\n  contents: read\n\non:\n  pull_request:\n    paths:\n      - 'infra/**'\n      - '.github/wor"
  },
  {
    "path": ".github/workflows/pr_helper.yml",
    "chars": 1964,
    "preview": "name: PR helper\non:\n  pull_request_target:\n    types: [opened]\n    branches:\n      - master\n    paths:\n      - 'projects"
  },
  {
    "path": ".github/workflows/presubmit.yml",
    "chars": 1071,
    "preview": "name: Presubmit checks\n\npermissions:\n  contents: read\n\non:\n  pull_request:\n    branches:\n    - master\n\njobs:\n  build:\n  "
  },
  {
    "path": ".github/workflows/project_tests.yml",
    "chars": 2534,
    "preview": "name: Project tests\n\npermissions:\n  contents: read\n\non:\n  pull_request:\n    branches:\n    - master\n\njobs:\n  build:\n    r"
  },
  {
    "path": ".github/workflows/ubuntu_version_sync.yml",
    "chars": 5206,
    "preview": "# Copyright 2023 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": ".gitignore",
    "chars": 218,
    "preview": "/.vscode/\n*.pyc\n/build/\n*~\n.DS_Store\n*.swp\n.venv\n.gdb_history\ninfra/base-images/base-builder/indexer/indexer\ninfra/base-"
  },
  {
    "path": ".pylintrc",
    "chars": 18080,
    "preview": "[MASTER]\n\n# A comma-separated list of package or module names from where C extensions may\n# be loaded. Extensions are lo"
  },
  {
    "path": ".style.yapf",
    "chars": 101,
    "preview": "[style]\nbased_on_style = google\ncolumn_limit = 80\nindent_width = 2\nsplit_before_named_assigns = true\n"
  },
  {
    "path": "AGENTS.md",
    "chars": 334,
    "preview": "* Use python3 infra/helper.py to build projects and run fuzzers.\n* If doing development on infra/ you should use a venv "
  },
  {
    "path": "CITATION.cff",
    "chars": 1450,
    "preview": "cff-version: 1.2.0\ntitle: OSS-Fuzz\nmessage: >-\n  If you use this software, please cite it using the\n  metadata from this"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 1727,
    "preview": "Want to contribute? Great! First, read this page (including the small print at\nthe end).\n\n### Before you contribute\nBefo"
  },
  {
    "path": "LICENSE",
    "chars": 11357,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "README.md",
    "chars": 4679,
    "preview": "# OSS-Fuzz: Continuous Fuzzing for Open Source Software\n\n[Fuzz testing] is a well-known technique for uncovering program"
  },
  {
    "path": "docs/.gitignore",
    "chars": 50,
    "preview": "_site\n.bundle\n.sass-cache\n.jekyll-metadata\nvendor\n"
  },
  {
    "path": "docs/404.html",
    "chars": 350,
    "preview": "---\nlayout: default\n---\n\n<style type=\"text/css\" media=\"screen\">\n  .container {\n    margin: 10px auto;\n    max-width: 600"
  },
  {
    "path": "docs/Gemfile",
    "chars": 98,
    "preview": "source \"https://rubygems.org\"\ngem 'github-pages', group: :jekyll_plugins\n\ngem \"webrick\", \"~> 1.8\"\n"
  },
  {
    "path": "docs/README.md",
    "chars": 371,
    "preview": "# Readme\n\nUse the following instructions to make documentation changes locally.\n\n## Prerequisites\n```bash\n$ sudo apt ins"
  },
  {
    "path": "docs/_config.yml",
    "chars": 1332,
    "preview": "# Welcome to Jekyll!\n#\n# This config file is meant for settings that affect your whole blog, values\n# which you are expe"
  },
  {
    "path": "docs/_sass/color_schemes/wider.scss",
    "chars": 56,
    "preview": "@import \"./color_schemes/light\";\n$content-width: 70rem;\n"
  },
  {
    "path": "docs/advanced-topics/advanced_topics.md",
    "chars": 127,
    "preview": "---\nlayout: default\ntitle: Advanced topics\nhas_children: true\nnav_order: 3\npermalink: /advanced-topics/\n---\n\n# Advanced "
  },
  {
    "path": "docs/advanced-topics/bug_fixing_guidance.md",
    "chars": 4572,
    "preview": "---\nlayout: default\ntitle: Bug fixing guidance\nnav_order: 6\npermalink: /advanced-topics/bug-fixing-guidance\n---\n\n# Bug f"
  },
  {
    "path": "docs/advanced-topics/code_coverage.md",
    "chars": 3953,
    "preview": "---\nlayout: default\ntitle: Code coverage\nparent: Advanced topics\nnav_order: 2\npermalink: /advanced-topics/code-coverage/"
  },
  {
    "path": "docs/advanced-topics/corpora.md",
    "chars": 2318,
    "preview": "---\nlayout: default\ntitle: Corpora\nparent: Advanced topics\nnav_order: 3\npermalink: /advanced-topics/corpora/\n---\n\n# Acce"
  },
  {
    "path": "docs/advanced-topics/debugging.md",
    "chars": 1194,
    "preview": "---\nlayout: default\ntitle: Debugging\nparent: Advanced topics\nnav_order: 4\npermalink: /advanced-topics/debugging/\n---\n\n# "
  },
  {
    "path": "docs/advanced-topics/fuzz_introspector.md",
    "chars": 5610,
    "preview": "---\nlayout: default\ntitle: Fuzz Introspector\nparent: Advanced topics\nnav_order: 2\npermalink: /advanced-topics/fuzz-intro"
  },
  {
    "path": "docs/advanced-topics/ideal_integration.md",
    "chars": 8179,
    "preview": "---\nlayout: default\ntitle: Ideal integration\nparent: Advanced topics\nnav_order: 1\npermalink: /advanced-topics/ideal-inte"
  },
  {
    "path": "docs/advanced-topics/reproducing.md",
    "chars": 6070,
    "preview": "---\nlayout: default\ntitle: Reproducing\nparent: Advanced topics\nnav_order: 5\npermalink: /advanced-topics/reproducing/\n---"
  },
  {
    "path": "docs/assets/css/just-the-docs-wider.scss",
    "chars": 73,
    "preview": "---\n---\n{% include css/just-the-docs.scss.liquid color_scheme=\"wider\" %}\n"
  },
  {
    "path": "docs/faq.md",
    "chars": 12281,
    "preview": "---\nlayout: default\ntitle: FAQ\nnav_order: 7\npermalink: /faq/\n---\n\n# Frequently Asked Questions\n\n- TOC\n{:toc}\n---\n\n## Whe"
  },
  {
    "path": "docs/further-reading/clusterfuzz.md",
    "chars": 2208,
    "preview": "---\nlayout: default\ntitle: ClusterFuzz\nparent: Further reading\nnav_order: 1\npermalink: /further-reading/clusterfuzz/\n---"
  },
  {
    "path": "docs/further-reading/further_reading.md",
    "chars": 127,
    "preview": "---\nlayout: default\ntitle: Further reading\nhas_children: true\nnav_order: 4\npermalink: /further-reading/\n---\n\n# Further r"
  },
  {
    "path": "docs/further-reading/fuzzer_environment.md",
    "chars": 3905,
    "preview": "---\nlayout: default\ntitle: Fuzzer environment\nparent: Further reading\nnav_order: 2\npermalink: /further-reading/fuzzer-en"
  },
  {
    "path": "docs/getting-started/accepting_new_projects.md",
    "chars": 2178,
    "preview": "---\nlayout: default\ntitle: Accepting new projects\nparent: Getting started\nnav_order: 1\npermalink: /getting-started/accep"
  },
  {
    "path": "docs/getting-started/bug_disclosure_guidelines.md",
    "chars": 1009,
    "preview": "---\nlayout: default\ntitle: Bug disclosure guidelines\nparent: Getting started\nnav_order: 4\npermalink: /getting-started/bu"
  },
  {
    "path": "docs/getting-started/continuous_integration.md",
    "chars": 10583,
    "preview": "---\nlayout: default\ntitle: Continuous Integration\nparent: Getting started\nnav_order: 5\npermalink: /getting-started/conti"
  },
  {
    "path": "docs/getting-started/getting_started.md",
    "chars": 223,
    "preview": "---\nlayout: default\ntitle: Getting started\nhas_children: true\nnav_order: 2\npermalink: /getting-started/\n---\n\n# Getting s"
  },
  {
    "path": "docs/getting-started/integration_rewards.md",
    "chars": 525,
    "preview": "---\nlayout: default\ntitle: Integration rewards\nparent: Getting started\nnav_order: 3\npermalink: /getting-started/integrat"
  },
  {
    "path": "docs/getting-started/new-project-guide/bazel.md",
    "chars": 4106,
    "preview": "---\nlayout: default\ntitle: Integrating a Bazel project\nparent: Setting up a new project\ngrand_parent: Getting started\nna"
  },
  {
    "path": "docs/getting-started/new-project-guide/go_lang.md",
    "chars": 4587,
    "preview": "---\nlayout: default\ntitle: Integrating a Go project\nparent: Setting up a new project\ngrand_parent: Getting started\nnav_o"
  },
  {
    "path": "docs/getting-started/new-project-guide/javascript_lang.md",
    "chars": 5703,
    "preview": "---\nlayout: default\ntitle: Integrating a JavaScript project\nparent: Setting up a new project\ngrand_parent: Getting start"
  },
  {
    "path": "docs/getting-started/new-project-guide/jvm_lang.md",
    "chars": 6475,
    "preview": "---\nlayout: default\ntitle: Integrating a Java/JVM project\nparent: Setting up a new project\ngrand_parent: Getting started"
  },
  {
    "path": "docs/getting-started/new-project-guide/lua_lang.md",
    "chars": 5828,
    "preview": "---\nlayout: default\ntitle: Integrating a Lua project\nparent: Setting up a new project\ngrand_parent: Getting started\nnav_"
  },
  {
    "path": "docs/getting-started/new-project-guide/python_lang.md",
    "chars": 5473,
    "preview": "---\nlayout: default\ntitle: Integrating a Python project\nparent: Setting up a new project\ngrand_parent: Getting started\nn"
  },
  {
    "path": "docs/getting-started/new-project-guide/rust_lang.md",
    "chars": 4684,
    "preview": "---\nlayout: default\ntitle: Integrating a Rust project\nparent: Setting up a new project\ngrand_parent: Getting started\nnav"
  },
  {
    "path": "docs/getting-started/new-project-guide/swift_lang.md",
    "chars": 1857,
    "preview": "---\nlayout: default\ntitle: Integrating a Swift project\nparent: Setting up a new project\ngrand_parent: Getting started\nna"
  },
  {
    "path": "docs/getting-started/new_project_guide.md",
    "chars": 26682,
    "preview": "---\nlayout: default\ntitle: Setting up a new project\nparent: Getting started\nhas_children: true\nnav_order: 2\npermalink: /"
  },
  {
    "path": "docs/glossary.md",
    "chars": 82,
    "preview": "This page has moved [here](https://google.github.io/oss-fuzz/reference/glossary/)\n"
  },
  {
    "path": "docs/ideal_integration.md",
    "chars": 96,
    "preview": "This page has moved [here](https://google.github.io/oss-fuzz/advanced-topics/ideal-integration)\n"
  },
  {
    "path": "docs/index.md",
    "chars": 4219,
    "preview": "---\nlayout: default\ntitle: OSS-Fuzz\npermalink: /\nnav_order: 1\nhas_children: true\nhas_toc: false\n---\n\n# OSS-Fuzz\n\n[Fuzz t"
  },
  {
    "path": "docs/new_project_guide.md",
    "chars": 97,
    "preview": "This page has moved [here](https://google.github.io/oss-fuzz/getting-started/new-project-guide/)\n"
  },
  {
    "path": "docs/oss-fuzz/architecture.md",
    "chars": 1961,
    "preview": "---\nlayout: default\ntitle: Architecture\npermalink: /architecture/\nnav_order: 1\nparent: OSS-Fuzz\n---\n\n# Architecture\n![OS"
  },
  {
    "path": "docs/reference/glossary.md",
    "chars": 4234,
    "preview": "---\nlayout: default\ntitle: Glossary\nnav_order: 1\npermalink: /reference/glossary/\nparent: Reference\n---\n\n# Glossary\n\nFor "
  },
  {
    "path": "docs/reference/reference.md",
    "chars": 109,
    "preview": "---\nlayout: default\ntitle: Reference\nhas_children: true\nnav_order: 6\npermalink: /reference/\n---\n\n# Reference\n"
  },
  {
    "path": "docs/reference/useful_links.md",
    "chars": 2802,
    "preview": "---\nlayout: default\ntitle: Useful links\nnav_order: 2\npermalink: /reference/useful-links/\nparent: Reference\n---\n\n# Useful"
  },
  {
    "path": "docs/reproducing.md",
    "chars": 90,
    "preview": "This page has moved [here](https://google.github.io/oss-fuzz/advanced-topics/reproducing)\n"
  },
  {
    "path": "docs/research/target_generation.md",
    "chars": 73353,
    "preview": "---\nlayout: default\nnav_exclude: true\npermalink: /research/llms/target_generation/\n---\n# Fuzz target generation using LL"
  },
  {
    "path": "infra/.dockerignore",
    "chars": 85,
    "preview": "cifuzz/test_data/*\n\n# Copied from .gitignore.\n.vscode/\n*.pyc\nbuild\n*~\n.DS_Store\n*.swp"
  },
  {
    "path": "infra/MAINTAINERS.csv",
    "chars": 293,
    "preview": "Name,Email,Github Username\nAdam Korcz,adam@adalogics.com,AdamKorcz\nDavid Korczynski,david@adalogics.com,DavidKorczynski\n"
  },
  {
    "path": "infra/README.md",
    "chars": 955,
    "preview": "# infra\n> OSS-Fuzz project infrastructure\n\nCore infrastructure:\n* [`base-images`](base-images/) - docker images for buil"
  },
  {
    "path": "infra/base-images/README.md",
    "chars": 2246,
    "preview": "# Base Images\n\nThis directory contains the base images used by OSS-Fuzz.\n\n## Building\n\nTo build all images, run:\n\n```bas"
  },
  {
    "path": "infra/base-images/all.sh",
    "chars": 2436,
    "preview": "#!/bin/bash -eux\n# Copyright 2016 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder/CHANGELOG.md",
    "chars": 1654,
    "preview": "# Docker Image Version Changelog: oss-fuzz/base-builder\n\n## Analysis Summary\n\nThe `ubuntu-20-04` and `ubuntu-24-04` imag"
  },
  {
    "path": "infra/base-images/base-builder/Dockerfile",
    "chars": 9688,
    "preview": "# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/README.md",
    "chars": 2925,
    "preview": "# base-builder\n> Abstract base image for project builders.\n\nEvery project image supports multiple commands that can be i"
  },
  {
    "path": "infra/base-images/base-builder/afl_llvm22_patch.diff",
    "chars": 1109,
    "preview": "diff --git a/GNUmakefile.llvm b/GNUmakefile.llvm\nindex 2cde89d9..7cafd3f5 100644\n--- a/GNUmakefile.llvm\n+++ b/GNUmakefil"
  },
  {
    "path": "infra/base-images/base-builder/bazel.bazelrc",
    "chars": 768,
    "preview": "# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/bazel_build_fuzz_tests",
    "chars": 3169,
    "preview": "#!/bin/bash -eu\n#\n# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder/bisect_clang.py",
    "chars": 8608,
    "preview": "#!/usr/bin/env python3\n# Copyright 2019 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "infra/base-images/base-builder/bisect_clang_test.py",
    "chars": 11288,
    "preview": "# Copyright 2019 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this "
  },
  {
    "path": "infra/base-images/base-builder/cargo",
    "chars": 2362,
    "preview": "#!/bin/bash -eu\n# Copyright 2020 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/compile",
    "chars": 15006,
    "preview": "#!/bin/bash -eu\n# Copyright 2016 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/compile_afl",
    "chars": 1856,
    "preview": "#!/bin/bash -eu\n# Copyright 2016 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/compile_centipede",
    "chars": 1237,
    "preview": "#!/bin/bash -eu\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/compile_fuzztests.sh",
    "chars": 5590,
    "preview": "#!/bin/bash -eu\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/compile_go_fuzzer",
    "chars": 3320,
    "preview": "#!/bin/bash -eu\n# Copyright 2020 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/compile_honggfuzz",
    "chars": 1766,
    "preview": "#!/bin/bash -eu\n# Copyright 2016 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/compile_javascript_fuzzer",
    "chars": 1453,
    "preview": "#!/bin/bash -eu\n# Copyright 2023 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/compile_libfuzzer",
    "chars": 1033,
    "preview": "#!/bin/bash -eu\n# Copyright 2016 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/compile_native_go_fuzzer",
    "chars": 1367,
    "preview": "#!/bin/bash -eu\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/compile_native_go_fuzzer_v2",
    "chars": 1736,
    "preview": "#!/bin/bash -eu\n# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/compile_python_fuzzer",
    "chars": 4213,
    "preview": "#!/bin/bash -eux\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/debug_afl",
    "chars": 1280,
    "preview": "#!/bin/bash\n# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may no"
  },
  {
    "path": "infra/base-images/base-builder/detect_repo.py",
    "chars": 5818,
    "preview": "# Copyright 2019 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/detect_repo_test.py",
    "chars": 4793,
    "preview": "# Copyright 2019 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/go_utils.sh",
    "chars": 4268,
    "preview": "#!/bin/bash -eu\n# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/indexer/README.md",
    "chars": 1865,
    "preview": "# Indexer snapshot builds\n\nThis directory provides the tooling to be able to build \"indexed\" OSS-Fuzz\nbuilds, which are "
  },
  {
    "path": "infra/base-images/base-builder/indexer/clang_wrapper.py",
    "chars": 22099,
    "preview": "#!/usr/bin/env python3\n# Copyright 2026 Google LLC.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "infra/base-images/base-builder/indexer/clang_wrapper_test.py",
    "chars": 5749,
    "preview": "#!/usr/bin/env python3\n# Copyright 2026 Google LLC.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "infra/base-images/base-builder/indexer/coverage.cc",
    "chars": 3805,
    "preview": "// Copyright 2026 Google LLC.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use t"
  },
  {
    "path": "infra/base-images/base-builder/indexer/dwarf_info.py",
    "chars": 5424,
    "preview": "#!/usr/bin/env python3\n# Copyright 2026 Google LLC.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "infra/base-images/base-builder/indexer/dwarf_info_diff.py",
    "chars": 2530,
    "preview": "#!/usr/bin/env python3\n# Copyright 2026 Google LLC.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "infra/base-images/base-builder/indexer/fuzzing_engine.cc",
    "chars": 2727,
    "preview": "// Copyright 2026 Google LLC.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use t"
  },
  {
    "path": "infra/base-images/base-builder/indexer/ignored_deps.json",
    "chars": 26,
    "preview": "{\n    \"deps\" : [\n    ]\n  }"
  },
  {
    "path": "infra/base-images/base-builder/indexer/index_build.py",
    "chars": 30525,
    "preview": "#!/usr/bin/env python3\n# Copyright 2026 Google LLC.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "infra/base-images/base-builder/indexer/index_build_test.py",
    "chars": 4444,
    "preview": "#!/usr/bin/env python3\n# Copyright 2026 Google LLC.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "infra/base-images/base-builder/indexer/manifest_constants.py",
    "chars": 1676,
    "preview": "#!/usr/bin/env python3\n# Copyright 2026 Google LLC.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "infra/base-images/base-builder/indexer/manifest_types.py",
    "chars": 20496,
    "preview": "#!/usr/bin/env python3\n# Copyright 2026 Google LLC.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "infra/base-images/base-builder/indexer/utils.py",
    "chars": 4857,
    "preview": "#!/usr/bin/env python3\n# Copyright 2026 Google LLC.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "infra/base-images/base-builder/install_deps.sh",
    "chars": 1127,
    "preview": "#!/bin/bash -eux\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/install_deps_ubuntu-20-04.sh",
    "chars": 1127,
    "preview": "#!/bin/bash -eux\n# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/install_deps_ubuntu-24-04.sh",
    "chars": 1704,
    "preview": "#!/bin/bash -eux\n# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/install_go.sh",
    "chars": 1669,
    "preview": "#!/bin/bash -eux\n# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/install_java.sh",
    "chars": 1658,
    "preview": "#!/bin/bash -eux\n# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/install_javascript.sh",
    "chars": 1204,
    "preview": "#!/bin/bash -eux\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/install_python.sh",
    "chars": 1035,
    "preview": "#!/bin/bash -eux\n# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/install_ruby.sh",
    "chars": 1192,
    "preview": "#!/bin/bash -eux\n# Copyright 2024 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/install_rust.sh",
    "chars": 973,
    "preview": "#!/bin/bash -eux\n# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/install_swift.sh",
    "chars": 2370,
    "preview": "#!/bin/bash -eux\n# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/install_swift_ubuntu-20-04.sh",
    "chars": 2370,
    "preview": "#!/bin/bash -eux\n# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/install_swift_ubuntu-24-04.sh",
    "chars": 3245,
    "preview": "#!/bin/bash -eux\n# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/jcc/build_jcc.bash",
    "chars": 927,
    "preview": "#!/bin/bash -eu\n#\n# Copyright 2023 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder/jcc/go.mod",
    "chars": 38,
    "preview": "module github.com/google/jcc\n\ngo 1.21\n"
  },
  {
    "path": "infra/base-images/base-builder/jcc/jcc.go",
    "chars": 2380,
    "preview": "// Copyright 2023 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "infra/base-images/base-builder/jcc/jcc2.go",
    "chars": 10393,
    "preview": "// Copyright 2024 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "infra/base-images/base-builder/jcc/jcc_test.go",
    "chars": 4570,
    "preview": "package main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"strings\"\n\t\"testing\"\n)\n\nfunc TestExtractMissingHeader(t *testing.T) {\n\tmissingHeade"
  },
  {
    "path": "infra/base-images/base-builder/jcc/testdata/.gitignore",
    "chars": 45,
    "preview": "jcc-corrected-cfile.c\njcc-corrected-cfile.cpp"
  },
  {
    "path": "infra/base-images/base-builder/jcc/testdata/cfile.c",
    "chars": 636,
    "preview": "// Copyright 2023 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "infra/base-images/base-builder/jcc/testdata/cpp.cc",
    "chars": 636,
    "preview": "// Copyright 2023 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "infra/base-images/base-builder/jcc/testdata/path/to/header.h",
    "chars": 604,
    "preview": "// Copyright 2023 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "infra/base-images/base-builder/llvmsymbol.diff",
    "chars": 1529,
    "preview": "diff --git a/llvm/lib/DebugInfo/Symbolize/CMakeLists.txt b/llvm/lib/DebugInfo/Symbolize/CMakeLists.txt\nindex acfb3bd0e.."
  },
  {
    "path": "infra/base-images/base-builder/make_build_replayable.py",
    "chars": 3966,
    "preview": "#!/usr/bin/env python3\n# Copyright 2025 Google LLC.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n"
  },
  {
    "path": "infra/base-images/base-builder/ossfuzz_coverage_runner.go",
    "chars": 1773,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "infra/base-images/base-builder/precompile_afl",
    "chars": 1066,
    "preview": "#!/bin/bash -eu\n# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/precompile_centipede",
    "chars": 1963,
    "preview": "#!/bin/bash -eu\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/precompile_honggfuzz",
    "chars": 1548,
    "preview": "#!/bin/bash -eu\n# Copyright 2019 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you m"
  },
  {
    "path": "infra/base-images/base-builder/precompile_honggfuzz_ubuntu_20_04",
    "chars": 1548,
    "preview": "#!/bin/bash -eux\n# Copyright 2019 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder/precompile_honggfuzz_ubuntu_24_04",
    "chars": 1607,
    "preview": "#!/bin/bash -eux\n# Copyright 2019 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder/python_coverage_helper.py",
    "chars": 4177,
    "preview": "# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/replay_build.sh",
    "chars": 808,
    "preview": "#!/bin/bash -x\n# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/.gitignore",
    "chars": 36,
    "preview": "dist\npysecsan.egg-info*\nbuild\n.venv\n"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/LICENSE",
    "chars": 575,
    "preview": "# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/README.md",
    "chars": 76,
    "preview": "# pysecsan\n\nSecurity sanitizers for vulnerability detection during runtime.\n"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/pyproject.toml",
    "chars": 654,
    "preview": "[build-system]\nrequires = [\"setuptools>=61.0\"]\nbuild-backend = \"setuptools.build_meta\"\n\n[project]\nname = \"pysecsan\"\nvers"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/pysecsan/__init__.py",
    "chars": 767,
    "preview": "# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/pysecsan/command_injection.py",
    "chars": 3938,
    "preview": "# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/pysecsan/redos.py",
    "chars": 3077,
    "preview": "# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/pysecsan/sanlib.py",
    "chars": 7304,
    "preview": "# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/pysecsan/yaml_deserialization.py",
    "chars": 1472,
    "preview": "# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/setup.py",
    "chars": 833,
    "preview": "# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/README.md",
    "chars": 36,
    "preview": "# Tests including Proof of Exploits\n"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/eval_command_injection.py",
    "chars": 1348,
    "preview": "#!/usr/bin/python3\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/os_command_injection.py",
    "chars": 1396,
    "preview": "#!/usr/bin/python3\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/ansible-runner-cve-2021-4041/build.sh",
    "chars": 895,
    "preview": "#!/bin/bash -eu\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/ansible-runner-cve-2021-4041/fuzz_ansible_runner.py",
    "chars": 1860,
    "preview": "#!/usr/bin/python3\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/libvcs-cve-2022-21187/build.sh",
    "chars": 771,
    "preview": "#!/bin/bash -eu\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/libvcs-cve-2022-21187/fuzz_libvcs.py",
    "chars": 1364,
    "preview": "#!/usr/bin/python3\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/python-ldap-GHSL-2021-117/build.sh",
    "chars": 885,
    "preview": "#!/bin/bash -eu\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/python-ldap-GHSL-2021-117/fuzz_ldap.py",
    "chars": 1228,
    "preview": "#!/usr/bin/python3\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/pytorch-lightning-1.5.10/build.sh",
    "chars": 858,
    "preview": "#!/bin/bash -eu\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you ma"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/pytorch-lightning-1.5.10/fuzz_pytorch_lightning.dict",
    "chars": 30,
    "preview": "\"os.system('exec-sanitizer')\"\n"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/poe/pytorch-lightning-1.5.10/fuzz_pytorch_lightning.py",
    "chars": 2295,
    "preview": "#!/usr/local/bin/python3\n#\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\""
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/subprocess_popen_injection.py",
    "chars": 1313,
    "preview": "#!/usr/bin/python3\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/yaml_deserialization_general.py",
    "chars": 1234,
    "preview": "#!/usr/bin/python3\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you"
  },
  {
    "path": "infra/base-images/base-builder/sanitizers/pysecsan/tests/yaml_deserialization_simple.py",
    "chars": 1470,
    "preview": "#!/usr/bin/python3\n# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you"
  },
  {
    "path": "infra/base-images/base-builder/srcmap",
    "chars": 2130,
    "preview": "#!/bin/bash -eux\n# Copyright 2016 Google Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder/test_data/culprit-commit.txt",
    "chars": 865,
    "preview": "ac9ee01fcbfac745aaedca0393a8e1c8a33acd8d is the first bad commit\ncommit ac9ee01fcbfac745aaedca0393a8e1c8a33acd8d\nAuthor:"
  },
  {
    "path": "infra/base-images/base-builder/ubuntu-20-04.Dockerfile",
    "chars": 9773,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/ubuntu-24-04.Dockerfile",
    "chars": 9785,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder/unshallow_repos.py",
    "chars": 1753,
    "preview": "#!/usr/bin/env python3\n# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n#"
  },
  {
    "path": "infra/base-images/base-builder/write_labels.py",
    "chars": 1227,
    "preview": "#!/usr/bin/env python3\n# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n#"
  },
  {
    "path": "infra/base-images/base-builder-fuzzbench/CHANGELOG.md",
    "chars": 1624,
    "preview": "# Docker Image Version Changelog: oss-fuzz/base-builder-fuzzbench\n\n## Analysis Summary\n\nThe `ubuntu-20-04` and `ubuntu-2"
  },
  {
    "path": "infra/base-images/base-builder-fuzzbench/Dockerfile",
    "chars": 941,
    "preview": "# Copyright 2023 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-fuzzbench/fuzzbench_build",
    "chars": 1232,
    "preview": "#! /bin/bash -eux\n# Copyright 2023 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder-fuzzbench/fuzzbench_install_dependencies",
    "chars": 998,
    "preview": "#! /bin/bash -eux\n# Copyright 2023 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder-fuzzbench/fuzzbench_install_dependencies_ubuntu_20_04",
    "chars": 997,
    "preview": "#! /bin/bash -eux\n# Copyright 2023 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder-fuzzbench/fuzzbench_install_dependencies_ubuntu_24_04",
    "chars": 1165,
    "preview": "#! /bin/bash -eux\n# Copyright 2023 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder-fuzzbench/fuzzbench_measure",
    "chars": 1070,
    "preview": "#! /bin/bash -eux\n# Copyright 2023 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder-fuzzbench/fuzzbench_run_fuzzer",
    "chars": 1425,
    "preview": "#! /bin/bash -eux\n# Copyright 2023 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you "
  },
  {
    "path": "infra/base-images/base-builder-fuzzbench/ubuntu-20-04.Dockerfile",
    "chars": 980,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-fuzzbench/ubuntu-24-04.Dockerfile",
    "chars": 980,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-go/CHANGELOG.md",
    "chars": 1352,
    "preview": "# Docker Image Version Changelog: oss-fuzz/base-builder-go\n\n## Analysis Summary\n\nThe `ubuntu-20-04` and `ubuntu-24-04` i"
  },
  {
    "path": "infra/base-images/base-builder-go/Dockerfile",
    "chars": 1154,
    "preview": "# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-go/gosigfuzz.c",
    "chars": 1476,
    "preview": "/*\n * Copyright 2023 Google LLC\n\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use t"
  },
  {
    "path": "infra/base-images/base-builder-go/ossfuzz_coverage_runner.go",
    "chars": 2000,
    "preview": "// Copyright 2020 Google LLC\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use th"
  },
  {
    "path": "infra/base-images/base-builder-go/ubuntu-20-04.Dockerfile",
    "chars": 1167,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-go/ubuntu-24-04.Dockerfile",
    "chars": 1169,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not a use this"
  },
  {
    "path": "infra/base-images/base-builder-javascript/CHANGELOG.md",
    "chars": 1334,
    "preview": "# Docker Image Version Changelog: oss-fuzz/base-builder-javascript\n\n## Analysis Summary\n\nThe `ubuntu-20-04` and `ubuntu-"
  },
  {
    "path": "infra/base-images/base-builder-javascript/Dockerfile",
    "chars": 725,
    "preview": "# Copyright 2022 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-javascript/ubuntu-20-04.Dockerfile",
    "chars": 738,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-javascript/ubuntu-24-04.Dockerfile",
    "chars": 738,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-jvm/CHANGELOG.md",
    "chars": 1510,
    "preview": "# Docker Image Version Changelog: oss-fuzz/base-builder-jvm\n\n## Analysis Summary\n\nThe `ubuntu-20-04` and `ubuntu-24-04` "
  },
  {
    "path": "infra/base-images/base-builder-jvm/Dockerfile",
    "chars": 2495,
    "preview": "# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-jvm/ubuntu-20-04.Dockerfile",
    "chars": 2476,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-jvm/ubuntu-24-04.Dockerfile",
    "chars": 2449,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-python/CHANGELOG.md",
    "chars": 1574,
    "preview": "# Docker Image Version Changelog: oss-fuzz/base-builder-python\n\n## Analysis Summary\n\nThe `ubuntu-20-04` and `ubuntu-24-0"
  },
  {
    "path": "infra/base-images/base-builder-python/Dockerfile",
    "chars": 721,
    "preview": "# Copyright 2021 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  },
  {
    "path": "infra/base-images/base-builder-python/ubuntu-20-04.Dockerfile",
    "chars": 734,
    "preview": "# Copyright 2025 Google LLC\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this f"
  }
]

// ... and 6568 more files (download for full content)

About this extraction

This page contains the full source code of the google/oss-fuzz GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 6768 files (25.1 MB), approximately 3.3M tokens, and a symbol index with 6751 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!