Commit Graph

122 Commits

Author SHA1 Message Date
van Hauser 878a05a092
afl++: increase forkserver timeout (#5784) 2021-05-24 13:43:34 -07:00
van Hauser e31055e486
fix afl++ for pie targets (#5691)
* output afl++ setup

* update commit id

* update afl++ commit id

* asan + cmplog fix

* update commit id

* update and enhance afl++

* update afl++ commit id, better run asan options

* fix linter

* add debug_afl script

* Update debug_afl

* Update compile_afl

* fix for karchive

* put debug_afl in the docker container

* asan poison fix

* fix asan settings for zeek

* update afl++ commit id

* fix

* update afl++ commit id

* final touches

* remove map size

* remove old comment

* llvm 13 fix

* enhance documentation

* fix capstone build.sh

* update doc

* add afl++ ctx-2 coverage option

* set to 30% chance for ctx-2

* fix afl++ pie targets

* gracefuly fail for qemu hook

Co-authored-by: jonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com>
2021-04-30 07:51:40 -07:00
van Hauser 4afd7f9c55
afl++: add CTX-2 coverage option (#5567) 2021-04-02 07:02:26 -07:00
Stefan Bucur 8c1a588bef
Implement the Bazel building recipe as a stand-alone script that can be invoked from build.sh. (#5548) 2021-03-31 19:45:00 +00:00
jonathanmetzman e34a03385f
Delete unneeded files from cargo-fuzz install (100MB) (#5436) 2021-03-22 12:29:23 -07:00
jonathanmetzman 0fba276516
[NFC][base-builder] Fix order so comment is in right place (#5445) 2021-03-21 07:02:30 -07:00
van Hauser 2b4af8f24a
[AFL++] llvm 13 fix (#5454) 2021-03-19 18:45:54 +00:00
jonathanmetzman cb083cb365
[base-builder] Fix temp dir deletion for atheris (#5434)
Add back /tmp dir deletion that was accidentally removed before #5344 was committed.
2021-03-19 08:36:14 -07:00
van Hauser df6dc548a9
remove map size for afl++ (#5433)
* output afl++ setup

* update commit id

* update afl++ commit id

* asan + cmplog fix

* update commit id

* update and enhance afl++

* update afl++ commit id, better run asan options

* fix linter

* add debug_afl script

* Update debug_afl

* Update compile_afl

* fix for karchive

* put debug_afl in the docker container

* asan poison fix

* fix asan settings for zeek

* update afl++ commit id

* fix

* update afl++ commit id

* final touches

* remove map size

* remove old comment

Co-authored-by: jonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com>
2021-03-18 14:49:58 +00:00
van Hauser a1135d001e
update afl++ commit id (#5402)
* output afl++ setup

* update commit id

* update afl++ commit id

* asan + cmplog fix

* update commit id

* update and enhance afl++

* update afl++ commit id, better run asan options

* fix linter

* add debug_afl script

* Update debug_afl

* Update compile_afl

* fix for karchive

* put debug_afl in the docker container

* asan poison fix

* fix asan settings for zeek

* update afl++ commit id

* fix

* update afl++ commit id

* final touches

Co-authored-by: jonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com>
2021-03-16 20:05:21 +00:00
jonathanmetzman 0475bfa16a
[base-builder] Remove unnecessary python files (58 MB) (#5348)
Related: #5170
2021-03-09 18:30:31 -08:00
jonathanmetzman 1233505600
[base-builder] Delete unneeded files from atheris install (#5344) 2021-03-09 12:08:09 -08:00
van Hauser 498b771b72
fix afl++ asan options (#5336) 2021-03-09 06:05:13 -08:00
Catena cyber c41e46ffc8
Rust coverage report (for Suricata) (#4697)
* Rust coverage test

* Workaround to get rust coverage for Suricata
2021-03-08 07:05:35 -08:00
van Hauser 6f19531812
add asan poison check to afl++ cmplog (#5311)
* output afl++ setup

* update commit id

* update afl++ commit id

* asan + cmplog fix

* update commit id

* update and enhance afl++

* update afl++ commit id, better run asan options

* fix linter

* add debug_afl script

* Update debug_afl

* Update compile_afl

* fix for karchive

* put debug_afl in the docker container

* asan poison fix

Co-authored-by: jonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com>
2021-03-06 07:02:29 -08:00
van Hauser 7bd9da63c8
fix karchive build for afl++ (#5305)
* output afl++ setup

* update commit id

* update afl++ commit id

* asan + cmplog fix

* update commit id

* update and enhance afl++

* update afl++ commit id, better run asan options

* fix linter

* add debug_afl script

* Update debug_afl

* Update compile_afl

* fix for karchive

* put debug_afl in the docker container

Co-authored-by: jonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com>
2021-03-05 07:10:34 -08:00
van Hauser c243108b6a
update afl++ commit id plus add afl++ debug script (#5297) 2021-03-04 14:19:53 +00:00
jonathanmetzman db02d9252e
[AFL++][base-builder] Precompile afl++ (#5290)
Precompile AFL like we already do for honggfuzz.
This saves about a minute in compilation time of AFL targets by doing it in base-builder
It only adds about 30 MB to the image size.
2021-03-03 19:10:35 -08:00
jonathanmetzman f5901265d1
[TSAN] Support TSAN (#5266)
We aren't planning on suppoting TSAN on ClusterFuzz.
But we can support in CIFuzz since Skia wants it.
2021-03-02 09:20:40 -08:00
van Hauser fee28b9695
update afl++ commit id (#5273)
* output afl++ setup

* update commit id

* update afl++ commit id

* asan + cmplog fix

* update commit id
2021-03-02 08:25:29 -08:00
van Hauser a6f244e9c5
afl++ commit id update (#5271)
* output afl++ setup

* update commit id

* update afl++ commit id

* asan + cmplog fix
2021-03-01 18:38:31 -08:00
van Hauser 697c0480dd
afl++ commit id update (#5258)
* output afl++ setup

* update commit id

* update afl++ commit id
2021-02-26 07:24:46 -08:00
van Hauser b5de0307a7
Fixes for afl++ (#5235)
* output afl++ setup

* update commit id
2021-02-22 07:41:49 -08:00
van Hauser 4bb61df790
Final afl++ integration (#5191)
* final afl++ integration

* remove afl++ cmplog tests

* update afl++ commit id

* support rebuild

* llvm 13 workaround

* apply fix for llvm 13

* fix nits

* Fix nits.

* Fix name nit.

* update commit id

* update commit id

* update commit id to stable

Co-authored-by: Abhishek Arya <inferno@chromium.org>
2021-02-18 12:55:07 -08:00
Fabian Meumertzheim 427f63c93c
Add Jazzer to base-builder and base-runner (#5166)
Jazzer is built from HEAD using Bazel and the clang toolchain provided
by base-clang. While it could be built with OpenJDK 8, which is
available as a package, JVM fuzz targets should not be forced to be
compatible with Java 8. For this reason, the official binary release of
OpenJDK 15 is pulled into both base-builder and base-runner and set as
JAVA_HOME. It is trimmed down in size by removing src.zip and the jmods
directory.

Jazzer consists of the following four components:

* The API (`jazzer_api_deploy.jar`), which is required for fuzz targets
  that use FuzzedDataProvider or custom method hooks, is made available
  in /usr/local/lib in base-builder.
* The driver (`jazzer_driver`), which links in libFuzzer and is reused
  across fuzz targets. Since it is used to run fuzz targets, it is
  included into base-runner.
* The ASanified driver (`jazzer_driver_asan`), which is obtained from
  `jazzer_driver` by linking in ASan.
* The agent (`jazzer_agent_deploy.jar`), which bundles the runtime
  instrumentation agent with the Jazzer API. It is loaded by the driver
  and thus also included into base-runner.

The changes to the infra scripts required by JVM fuzz targets will be
submitted as a separate PR.
2021-02-16 06:56:36 -08:00
van Hauser 458dd61bbb
afl++ CMPLOG test (#5130)
* afl++ CMPLOG test

* fixes
2021-02-07 09:42:13 -08:00
van Hauser 380687236a
optimal afl++ defaults (#5129)
* optimal afl++ defaults

* fixes
2021-02-06 22:58:58 +00:00
Stefan Bucur 50cb57808e
Simplify the Envoy integration by using the new rules_fuzzing primitives. (#5062)
* Simplify the Envoy integration by using the new rules_fuzzing primitives.

* Tweak ASAN instrumentation.
2021-02-03 08:09:04 -08:00
Abhishek Arya 0af227644e
Update afl++ to 1f71b85426f837ebcae8381897d44a3a67c73a4f (#5095)
For https://github.com/google/oss-fuzz/issues/4280#issuecomment-771495411
2021-02-02 08:37:12 -08:00
van Hauser 05cac485d3
Fixes afl++ installation (#5087)
* fix afl++ installation

* update to experimental afl++ checkout, setting afl-clang-fast

* update afl++ commit id to prevent unnecessary compile warnings

* Remove dictionary links addition.

Co-authored-by: Abhishek Arya <inferno@chromium.org>
2021-02-01 16:20:18 -08:00
Abhishek Arya b19e700192
Revert "Switch to using afl-clang-fast for afl++. (#5074)" (#5086)
This reverts commit 42018eeb1c.
2021-02-01 07:44:13 -08:00
Abhishek Arya 42018eeb1c
Switch to using afl-clang-fast for afl++. (#5074) 2021-01-31 09:11:42 -08:00
jonathanmetzman 665e489821
[afl++] Use AFL++ instead of AFL for fuzzing. (#5046) 2021-01-25 09:14:11 -08:00
Abhishek Arya 0dc7c358d8
Remove unneeded ADD layers in base-builder. (#5028)
See https://github.com/google/oss-fuzz/issues/5012#issue-789981845
2021-01-20 22:18:03 -08:00
Abhishek Arya c3087b7018
Install rust in base-builder with minimal profile. (#5015)
Remove docs and other unneeded stuff.
https://blog.rust-lang.org/2019/10/15/Rustup-1.20.0.html
2021-01-20 08:59:05 -08:00
Abhishek Arya 24d1b4e01e
Remove unneeded honggfuzz examples from base-builder. (#5011)
Save 177Mb.

root@eca2ea09a598:/src/honggfuzz/examples# du -h
16K	./glibc
8.0K	./libxml2
2.4M	./openssl/corpus_privkey
5.1M	./openssl/corpus_x509
18M	./openssl/corpus_client
27M	./openssl/corpus_server
52M	./openssl
16K	./externalfuzzers
12K	./libpng
25M	./bind/corpus
25M	./bind
29M	./linux_kernel_ip/corpus
30M	./linux_kernel_ip
16K	./libjpeg
20K	./terminal-emulators
33M	./apache-httpd/corpus_http1
39M	./apache-httpd/corpus_http2
72M	./apache-httpd
12K	./file
16K	./badcode/targets
8.0K	./badcode/inputfiles
36K	./badcode
177M	.
2021-01-20 05:51:08 -08:00
Stefan Bucur 54232af56f
Add the Bazel dependencies to the base builder image. (#4976)
* Add the Bazel dependencies to the base builder image.

* Removing Python 2 from the base image.

* Fix the Bazelisk fetching script.
2021-01-20 05:33:01 -08:00
Abhishek Arya a252dc2d3a
Use python3 in checkout_build_install_llvm.sh, revert python move patches. (#4974)
* Revert "Update Dockerfile"

This reverts commit 5eae19fb57.

* Revert "Move python 3 install to base-clang, needed for clang build. (#4967)"

This reverts commit 018314eefa.

* Use python3 in checkout_build_install_llvm.sh
2021-01-14 15:11:59 -08:00
Abhishek Arya 5eae19fb57
Update Dockerfile 2021-01-14 14:41:34 -08:00
Abhishek Arya 018314eefa
Move python 3 install to base-clang, needed for clang build. (#4967)
```
-- Looking for os_signpost_interval_begin - not found
CMake Error at /usr/local/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:218 (message):
  Could NOT find Python3 (missing: Python3_EXECUTABLE Interpreter)
Call Stack (most recent call first):
  /usr/local/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:582 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/share/cmake-3.19/Modules/FindPython/Support.cmake:3148 (find_package_handle_standard_args)
  /usr/local/share/cmake-3.19/Modules/FindPython3.cmake:398 (include)
  CMakeLists.txt:711 (find_package)

-- Configuring incomplete, errors occurred!
See also "/work/llvm-stage1/CMakeFiles/CMakeOutput.log".
See also "/work/llvm-stage1/CMakeFiles/CMakeError.log".
The command '/bin/sh -c /root/checkout_build_install_llvm.sh' returned a non-zero code: 1
```
2021-01-14 11:15:13 -08:00
Abhishek Arya e7921e7795
Python fuzzing fixes - disable leak checking, remove flags in atheris. (#4681)
* Python fuzzing fixes - disable leak checking, remove flags in atheris.

* Fix flags printing.

* Dont export, use directly.

* Try unset.

* Unset flags when python was built.
2020-11-20 11:10:51 -08:00
Catena cyber 217175212b
[infra] Use generic compile_go_fuzzer for golang projects (#4659)
* Use generic compile_go_fuzzer for golang projects

* fix the copyright in the new script

Co-authored-by: Max Moroz <mmoroz@chromium.org>
2020-11-19 14:18:25 -08:00
Abhishek Arya 772d0efef5
Add missing ldconfig for shared lib path of python libs (#4663) 2020-11-19 10:43:21 -08:00
Abhishek Arya 38b7c5e162
Enable shared build for python deps, needed for pyinstaller (#4661) 2020-11-19 09:54:21 -08:00
Catena cyber 07ea81ba3e
[infra] Add code coverage report generation for Go projects (#3142)
* Golang coverage report

* Enables golang coverage report for gonids and go-dns

* Generates summary for golang coverage reports

* Performance profile for golang projects
2020-11-19 00:14:30 -08:00
Abhishek Arya 43f768df01
Add pyinstaller to experiment with python fuzzer packaging (#4658) 2020-11-18 16:42:26 -08:00
Abhishek Arya 93214a5535
Move atheris install base builder where python3 is installed. (#4650) 2020-11-17 12:23:29 -08:00
Catena cyber f9f99a9604
Enables MSAN for Suricata (#4455)
* Enables MSAN for Suricata

* Move rustup std lib download to base-builder
2020-09-30 07:04:22 -07:00
Oliver Chang 95e66c619e
Move cmake install to base-clang. (#4240)
Clang now needs a newer cmake to build.
2020-07-31 16:55:30 +10:00
Abhishek Arya 1776bd3dec
Install latest cmake, make easy to install i386 packages (#3943)
Fixes #3124, #2751
2020-06-07 17:27:40 -07:00