aboutsummaryrefslogtreecommitdiffhomepage
path: root/infra/base-images/base-builder
Commit message (Collapse)AuthorAge
* Remove build support for dataflow sanitizer. (#7972)Gravatar jonathanmetzman2022-07-12
| | | Related: #7964
* infra: have timeout per fuzz target for coverage (#7831)Gravatar Catena cyber2022-07-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * infra: have timeout per fuzz target for coverage As is done for other languages * ngolo-fuzzing: remove temporary workaround now that https://github.com/golang/go/issues/53190 is closed * ngolo-fuzzing: use built go toolchain in its directory without copying it to /root/.go/ in order to get coverage for std lib in the end * infra: ability to get coverage for additional golang package And uses it with ngolo-fuzzing : ngolo-fuzzing fuzz targets live in a different repository than the code being fuzzed, and we we want to get the coverage, for both the fuzz target and the package being fuzzed * fixup bash unbound * fixup ngolo-fuzzing only match at beginning for std package * stricter check for every additional go package
* infra: add proj name to env for fuzz introspector (#7856)Gravatar DavidKorczynski2022-06-14
| | | | | | | | | | | | | * infra: add proj name to env for fuzz introspector Depends on https://github.com/ossf/fuzz-introspector/pull/327 Ref: https://github.com/ossf/fuzz-introspector/issues/317 * lint fix * update introspector commit Co-authored-by: Navidem <navid.emamdoost@gmail.com>
* infra: fix env checking in base-builder (#7833)Gravatar DavidKorczynski2022-06-09
| | | Ref: https://github.com/google/oss-fuzz/pull/7828#discussion_r893332700
* Set flags to use old pass manger (#7828)Gravatar Navidem2022-06-09
| | | | | | | | | | | * Set flags to use old pass manger * nit * Add comment to Dockerfile * More informative comment * nit
* Upgrade infra and projects to go1.18 (#7791)Gravatar Navidem2022-06-06
| | | | | | | | | | | * Replace go get with go install in the scritp * Remove go get from projects * Replace gotip with go * Fix CI * Add missing dependency for cryptofuzz
* Remove unnecessary step in fuzz introspector (#7793)Gravatar Navidem2022-06-01
| | | Remove unncessary step in fuzz introspector
* infra: set fuzz-introspector to work with O0 (#7788)Gravatar DavidKorczynski2022-06-01
| | | | -O0 will skip fuzz-introspector when -flegacy-pass-manager is used, but not when the new pass manager is used.
* infra: use only valid targets for python coverage (#7746)Gravatar DavidKorczynski2022-05-26
| | | | | | | | | | * infra: use only valid targets for python coverage Some python coverage reports gets clobbered because non-fuzz targets are included in FUZZ_TARGETS. The consequence of this is that some reports will have erroneous data. This commit ensures only valid targets are used when running coverage, which consequently fixes the reports. * Move executable logic into python fuzzer builder instead
* Add commands to collect branch coverage (#7709)Gravatar Navidem2022-05-24
| | | | | | | | | | | * Add commands to collect branch coverage * Add -g flag * Switch branch coverage option placement * Set guarding env variable Co-authored-by: Oliver Chang <oliverchang@users.noreply.github.com>
* infra: fix python coverage (#7711)Gravatar DavidKorczynski2022-05-17
| | | | | | | | The current implementation will append rather than overwrite coverage_wrapper.py which holds the coverage stub. The effect of the appending is that the coverage_wrapper.py will include X amount of coverage stubs when a project has X amount of fuzzers. We just need a single coverage stub at the top of each fuzzer. This ensure we only add a single coverage stub.
* infra: upgrade pyinstaller from 4.1 to 5.0.1 (#7680)Gravatar DavidKorczynski2022-05-09
| | | | | This is needed to pack projects e.g. numpy. Co-authored-by: jonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com>
* infra: enable argument passing to compile_python_fuzzer (#7628)Gravatar DavidKorczynski2022-04-28
| | | | | | | | | | * infra: enable argument passing to compile_python_fuzzer Enable passing arguments to pyinstaller. This is used by, e.g. Django. Ref: https://github.com/google/oss-fuzz/commit/0cb820e5af64f279f66d0c0d3c93b7437ecabe91#commitcomment-72063587 * only unzip real files
* Roll AFL++ (#7595)Gravatar jonathanmetzman2022-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Roll AFL++ * Adapt to us-central1 * fix * test faster * All projects * all * All * fix * start small * bigger * print dbg * handle sanitizers * handle sanitizers * all means all * handle flake * Fix * fix
* infra: fix fuzz-introspector linker flags (#7583)Gravatar DavidKorczynski2022-04-20
| | | | | | | | | | | | | Moves -fuse-ld=gold to compile flags and removes -flto from linker flags. Should fix a number of the projects https://github.com/google/oss-fuzz/issues/7540#issuecomment-1101823684 Ref: https://github.com/google/oss-fuzz/issues/7540#issuecomment-1101868436 Ref: https://github.com/google/oss-fuzz/issues/7540#issuecomment-1101882757
* fuzz-introspector: remove use of LDFLAGS (#7573)Gravatar DavidKorczynski2022-04-15
| | | | | | | | | * fuzz-introspector: remove use of LDFLAGS The use of LDFLAGS does not really follow the policy of OSS-Fuzz. This moves the linker flags into the sanitizer flags. Ref: https://github.com/google/oss-fuzz/issues/7540#issuecomment-1094500094
* fuzz-introspector: force use of llvm-nm instead of nm (#7533)Gravatar DavidKorczynski2022-04-11
| | | | This fixes various current build failures across projects that use nm as part of their build process.
* fuzz-introspector: add -lto to ldflags (#7547)Gravatar DavidKorczynski2022-04-11
|
* infra: add Python coverage support (#7298)Gravatar DavidKorczynski2022-04-06
| | | | | | | | | | | | | | | | | | | | | | | * infra: add Python coverage support * update python coverage helper script * nits * switch from commands to python * pin coverage package * switch to single quote strings throughout * nit * fix style * fix style * fix ci * fix ci
* infra: fuzz-introspector: ensure COVERAGE_URL exists (#7502)Gravatar DavidKorczynski2022-04-04
| | | | | | | | | | | | | | | | * infra: fuzz-introspector: ensure COVERAGE_URL exists This is to make sure fuzz-introspector can run in local builds. Ref: https://github.com/ossf/fuzz-introspector/issues/48#issuecomment-1087513497 Ref: https://github.com/ossf/fuzz-introspector/issues/67#issuecomment-1087518856 * refactor fuzz-introspector command generation This is to shorten the long line that runs fuzz-introspector and also in anticipation that down the line we will have more oss-fuzz specific commands in fuzz-introspector
* infra: fuzz-introspector updates and bump (#7497)Gravatar DavidKorczynski2022-04-04
| | | | | | | | | * infra: remove use of git_repo_url to fuzz-introspector * libarchive,fluent-bit: add fuzz-introspector exclusion config * fuzz-introspector: bump Co-authored-by: Oliver Chang <oliverchang@users.noreply.github.com>
* Revert "Pin Jazzer to older revision. (#7484)" (#7486)Gravatar Fabian Meumertzheim2022-04-01
| | | | | This reverts commit 86a4d9d11f4bd7d9de9b2b82e9257ab130ebf20c. The build issue has been fixed on Jazzer's main branch.
* Pin Jazzer to older revision. (#7484)Gravatar Oliver Chang2022-03-31
|
* Revert "infra: fuzz-introspector: force no inline (#7413)" (#7455)Gravatar Navidem2022-03-24
| | | | | | | * Revert "infra: fuzz-introspector: force no inline (#7413)" This reverts commit ba7f8eb9bfd49eba410cef8ae73b2cc4a1ac8cc5. * put back no function inlining
* infra: fuzz-introspector: force no inline (#7413)Gravatar DavidKorczynski2022-03-22
| | | Ref: https://github.com/ossf/fuzz-introspector/pull/136
* [infra] Add test script for infra changes (#7388)Gravatar jonathanmetzman2022-03-21
| | | | | | | | | | | | This adds ci.py a script that can be used to test changes to the base-images. The script does the following: 1. Builds and pushes a test image for each base image. This will be used in step 3. 2. Finds which projects are buildable based on user specifications of: projects, build type (e.g. sanitizer/fuzzing engine) and which of these succeeded in production. 3. Submits builds for those projects. 4. Polls GCB to check which builds succeeded and which failed. 5. Returns 0 if all builds succeeded. Currently this script is only useful to run locally. Related: https://github.com/google/oss-fuzz/issues/7145
* Pin Go back to 1.17 (#7409)Gravatar Oliver Chang2022-03-21
| | | A bit more work is required to upgrade to Go 1.18
* [base-builder-swift] Reduce size 1.6GB and misc improvements (#7387)Gravatar jonathanmetzman2022-03-16
| | | | | 1. Reduce image size by 1.6GB by deleting unneeded directory containing swift tools that were already copied to /usr. 2. Use apt-get instead of apt to avoid warnings.
* Pin LLVM revision used for Swift llvm-symbolzier patch. (#7384)Gravatar Oliver Chang2022-03-15
|
* Pass FuzzIntrospector environment variables to bazel builds (#7367)Gravatar Navidem2022-03-08
| | | | | | | | | * Using bazelrc to pass env vars * place bazelrc in /root/.bazelrc * Setting spawn strategy to standalone * undo changes in Dockerfile
* handle wildcard label applying to all fuzz targets in a project (#7359)Gravatar asraa2022-03-04
| | | Signed-off-by: Asra Ali <asraa@google.com>
* move environment var to Dockerfile to make it visible to bazel builds and ↵Gravatar Navidem2022-03-03
| | | | bump FI (#7356)
* update compile to reflect changes in introspector code (#7341)Gravatar Navidem2022-03-01
|
* native go fuzzing: Remove installation of dependencies (#7259)Gravatar AdamKorcz2022-02-10
|
* [draft] Integrate native go fuzzing (#7055)Gravatar AdamKorcz2022-02-09
|
* Add Code Intelligence go114-fuzz-build fork (#7221)Gravatar Khaled Yakdan2022-02-07
| | | | | | | | The patched Go versions adds a new runtime function to register 8bit counters when initializing the fuzz target. This is needed to register those counters with libfuzzer and get real edge coverage. This change is meant to be a temporary change until the Go patches are accepted upstream. Then, we will create a pull request for go114-fuzz-build
* Base builder go experimental (#7240)Gravatar Dongge Liu2022-02-04
| | | | | | | | | * Remove trailing lines * Correct copyright year * Avoid cding & using relative directory. * To include go-codeintelligencetesting to auto-checks.
* Fix codeintelligencetesting image. (#7223)Gravatar Oliver Chang2022-02-02
| | | - Include ossfuzz_coverage_runner.go again.
* Fuzz introspector build fixes. (#7211)Gravatar Oliver Chang2022-02-01
| | | | | | | | - Point `compile` to the right `fuzz-introspector` location (since it's no longer checked out in $SRC). - Rename build tag to "introspector" to be more consistent with other tags. - Fix bad merge in deploy.sh script. - Add introspector setup to project sync. - Enable more logging for project sync cron.
* Clean up build infra issues. (#7199)Gravatar jonathanmetzman2022-01-31
| | | | | | | | | | | * Clean up build infra issues. 0. Don't clone fuzz-introspector to /src since it breaks builds. 1. Install packages in python install script properly. Previously pip install atheris>=2.0.6 was interpreted as "redirect the output from pip install atheris" to the file "=2.0.6". 3. Clean up some miscellanious issues. * Include removal
* Integrating CodeIntelligenceTesting Go (#7191)Gravatar Dongge Liu2022-01-31
| | | | | | | | | Integrating *CodeIntelligenceTesting* `Go` to support more informative instrumentation (for [this issue](https://github.com/google/oss-fuzz/issues/7164)): 1. A script to install the new `Go` * Bootstrap from the existing `Go` * Install `Go` from [CodeIntelligenceTesting](https://github.com/CodeIntelligenceTesting/go/tree/dev.libfuzzer.18) * Skip the built-in test case in CodeIntelligenceTesting because they take too long and one of them erroneously fails. 2. Create a new directory & `Dockerfile` dedicated to the new Go 3. Add the new base directory name to [base_images.py](https://github.com/google/oss-fuzz/blob/master/infra/build/functions/base_images.py)
* Adjust to coverage reports dir renaming (#7200)Gravatar Navidem2022-01-31
|
* Revert "Pin Jazzer to pre-Bazel 5 update (#7192)" (#7194)Gravatar Fabian Meumertzheim2022-01-27
| | | | | | | This reverts commit d3d1e1f838e2d996671db14ef650250aba06f094. Also fixes a typo in the Java runtime version specifier for Bazel 5: localjdk_15 should have been local_jdk_15, see also https://github.com/bazelbuild/bazel/issues/7849#issuecomment-1022932563
* Pin Jazzer to pre-Bazel 5 update (#7192)Gravatar Oliver Chang2022-01-27
| | | | | * Update install_java.sh * Update install_java.sh
* small afl++ bugfix (#7159)Gravatar van Hauser2022-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * update afl++ commit id * update afl++ commit id * fix for afl++ * attempt fix for curl * allow easy reproducable afl++ builds * new commit id * fixes * another afl++ commit increase * not a relevant update, but why not * two afl++ fixes * add debug script * update commit id (not relevant though) * add wget * update afl++ commit id * just afl++ doc updates, but maybe this results in some attention * ignore afl++ fuzz setup problems during building * update afl++ commit id * fix laf-intel implementation * ensure fuzz tests are running without issues for afl++ * update afl++ commit id * update afl++ commit id * temporarily disable afl++ option randomization and make it safe
* apply patches needed for fuzz introspector integration (#7122)Gravatar Navidem2022-01-20
|
* Ignore fuzz setup problem detection during building with afl++ (#7127)Gravatar van Hauser2022-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * update afl++ commit id * update afl++ commit id * fix for afl++ * attempt fix for curl * allow easy reproducable afl++ builds * new commit id * fixes * another afl++ commit increase * not a relevant update, but why not * two afl++ fixes * add debug script * update commit id (not relevant though) * add wget * update afl++ commit id * just afl++ doc updates, but maybe this results in some attention * ignore afl++ fuzz setup problems during building * update afl++ commit id * fix laf-intel implementation * ensure fuzz tests are running without issues for afl++ * update afl++ commit id
* afl++ fixes (#7026)Gravatar van Hauser2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * update afl++ commit id * update afl++ commit id * fix for afl++ * attempt fix for curl * allow easy reproducable afl++ builds * new commit id * fixes * another afl++ commit increase * not a relevant update, but why not * two afl++ fixes * add debug script * update commit id (not relevant though) * add wget * update afl++ commit id * just afl++ doc updates, but maybe this results in some attention
* Revert "Update afl++ (#7008)" (#7022)Gravatar jonathanmetzman2021-12-16
| | | This reverts commit 95e437c59982cf242d01c53af44181e81a03e4ce.
* Update afl++ (#7008)Gravatar van Hauser2021-12-14
| | | | | | | | | | | | | | | | | | | * update afl++ commit id * update afl++ commit id * fix for afl++ * attempt fix for curl * allow easy reproducable afl++ builds * new commit id * fixes * another afl++ commit increase * not a relevant update, but why not