Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade base images, benchmark images, and Python. #1526

Merged
merged 54 commits into from
Dec 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
0c4570a
Upgrade Ubuntu version to focal (20.04)
jonathanmetzman Aug 9, 2021
0c7c3ad
Merge branch 'master' into upgrade-base-image
DonggeLiu Oct 14, 2022
40ef5bc
Some additional fixes to upgrade Ubuntu
DonggeLiu Oct 14, 2022
57481ae
Update python (to 3.10.4), packages, and implementation
DonggeLiu Oct 17, 2022
c068796
Install google-cloud-cli
DonggeLiu Oct 17, 2022
1c3b0fe
Remove png (from an existing commit)
DonggeLiu Oct 17, 2022
7908284
Remove redundant python&pip install
DonggeLiu Oct 19, 2022
72c16df
Manually merging #1493 to this branch
DonggeLiu Oct 19, 2022
6b536a1
Manually merging #1441
DonggeLiu Oct 19, 2022
b22a15f
Remove redundant print
DonggeLiu Oct 20, 2022
33f1757
Merge branch 'master' into upgrade-base-image
DonggeLiu Oct 20, 2022
8f16bdd
Merge branch 'master' into upgrade-base-image
DonggeLiu Oct 20, 2022
071f98e
Update python version
DonggeLiu Oct 20, 2022
8c07672
Update ubuntu version
DonggeLiu Oct 20, 2022
0e8793d
Merge branch 'update_documentation' into upgrade-base-image
DonggeLiu Oct 21, 2022
6a8ad4b
Install Python3.10 in BenchmarkBuilder
DonggeLiu Oct 21, 2022
b81472d
Merge branch 'master' into upgrade-base-image
DonggeLiu Oct 26, 2022
d9142e8
Upgrade python in files that missed earlier
DonggeLiu Oct 27, 2022
b8db2b7
Upgrade python version checking
DonggeLiu Oct 27, 2022
48719fc
Upgrade dockerfile
DonggeLiu Oct 27, 2022
331f245
Add back base-image to build it automatically
DonggeLiu Oct 28, 2022
aac6b63
Not create symlink that may cause CI failures
DonggeLiu Oct 28, 2022
c57901d
Unify python version to 3.10.8
DonggeLiu Oct 28, 2022
fbbe624
Fix afl++ build
DonggeLiu Oct 28, 2022
2086711
Fix aflsmart
DonggeLiu Oct 28, 2022
2c2745e
Fix Centipede
DonggeLiu Oct 28, 2022
1314c13
Fix libfuzzer update
DonggeLiu Oct 31, 2022
3c0fb9a
Fix libfuzzer dataflow variations
DonggeLiu Oct 31, 2022
d4a48b5
Fix libFuzzer other variations
DonggeLiu Oct 31, 2022
d8a7125
Fixing dataflow variants
DonggeLiu Oct 31, 2022
65635f8
A new exp for libFuzzer
DonggeLiu Oct 31, 2022
41055e0
Merge branch 'fix_libfuzzer' into upgrade-base-image
DonggeLiu Oct 31, 2022
c287cb2
Upgrade honggfuzz
DonggeLiu Oct 31, 2022
d5193ca
Fix NEUZZ
DonggeLiu Oct 31, 2022
ff62bb6
Omit Python installation outputs
DonggeLiu Nov 1, 2022
7656a38
Dump Python output
DonggeLiu Nov 1, 2022
cd60b7e
Fix benchmark libxslt
DonggeLiu Nov 1, 2022
754f334
Merge branch 'master' into upgrade-base-image
DonggeLiu Nov 1, 2022
4f2a965
Fix merge master
DonggeLiu Nov 1, 2022
94cc1d3
Fix & update benchmarks and fuzzers (#1541)
DonggeLiu Nov 22, 2022
a1307ea
Merge branch 'master' into upgrade-base-image
DonggeLiu Nov 22, 2022
e87097d
Benchmark popper does not support wingfuzz
DonggeLiu Nov 23, 2022
3878b68
Do not report unused args as errors (#1559)
DonggeLiu Nov 23, 2022
9e67151
Remove wingfuzz from systemd
DonggeLiu Nov 23, 2022
2ba4957
Fix lint (#1529)
DonggeLiu Nov 24, 2022
aee441d
Merge branch 'master' into upgrade-base-image
DonggeLiu Nov 24, 2022
63f0eaa
Fix test_build_all_measurers
DonggeLiu Nov 25, 2022
a011d7a
Fix typing hint
DonggeLiu Nov 25, 2022
ce36cc9
Temporarily convert bug/oss-fuzz benchmarks to code
DonggeLiu Nov 25, 2022
3d9c7f1
Update libpng's name in tests
DonggeLiu Nov 25, 2022
aa904aa
Update the new list of core fuzzers
DonggeLiu Nov 30, 2022
5e03dc9
Merge branch 'master' into upgrade-base-image
DonggeLiu Dec 2, 2022
042ee4f
Reorganise fuzzer list
DonggeLiu Dec 4, 2022
92504da
Merge branch 'master' into upgrade-base-image
DonggeLiu Dec 4, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build_and_test_run_fuzzer_benchmarks.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ def make_builds(benchmarks, fuzzer):
# Sort benchmarks so that they get built in a deterministic order.
fuzzer_benchmark_pairs = sorted(fuzzer_benchmark_pairs,
key=lambda pair: pair[1])
print('Building fuzzer-benchmark pairs: {}'.format(fuzzer_benchmark_pairs))
print(f'Building fuzzer-benchmark pairs: {fuzzer_benchmark_pairs}')
for _, benchmark in fuzzer_benchmark_pairs:
make_target = get_make_target(fuzzer, benchmark)
make_command = ['make', 'RUNNING_ON_CI=yes', '-j', make_target]
Expand All @@ -116,7 +116,7 @@ def do_build(build_type, fuzzer, always_build):
elif build_type == 'bug':
benchmarks = benchmark_utils.get_bug_benchmarks()
else:
raise Exception('Invalid build_type: %s' % build_type)
raise Exception(f'Invalid build_type: {build_type}')

if always_build:
# Always do a build if always_build is True.
Expand All @@ -138,7 +138,7 @@ def do_build(build_type, fuzzer, always_build):
def main():
"""Build OSS-Fuzz or standard benchmarks with a fuzzer."""
if len(sys.argv) != 3:
print('Usage: %s <build_type> <fuzzer>' % sys.argv[0])
print(f'Usage: {sys.argv[0]} <build_type> <fuzzer>')
return 1
build_type = sys.argv[1]
fuzzer = sys.argv[2]
Expand Down
158 changes: 81 additions & 77 deletions .github/workflows/fuzzers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,97 +17,101 @@ jobs:
fail-fast: false
matrix:
fuzzer:
# Default fuzzers general comparison evaluation.
- afl
- aflfast
- afl_um_prioritize
- afl_um_random
- afl_um_parallel
- aflplusplus
- aflplusplus_optimal
- aflplusplus_tracepc
- aflplusplus_muttfuzz
- aflplusplus_um_prioritize
- aflplusplus_um_prioritize_75
- aflplusplus_um_random
- aflplusplus_um_random_75
- aflplusplus_um_random_3
- aflplusplus_um_random_6
- aflplusplus_um_parallel
- aflsmart
- centipede
- entropic
- eclipser
- fairfuzz
- honggfuzz
- honggfuzz_um_random
- honggfuzz_um_random_75
- honggfuzz_um_prioritize
- honggfuzz_um_prioritize_75
- honggfuzz_um_parallel
- lafintel
- klee
- libafl
- libfuzzer
- libfuzzer_um_random
- libfuzzer_um_random_75
- libfuzzer_um_prioritize
- libfuzzer_um_prioritize_75
- libfuzzer_um_parallel
- libfuzzer_dataflow
- libfuzzer_dataflow_load
- libfuzzer_dataflow_store
- libfuzzer_dataflow_pre
- mopt
- neuzz
- libafl
- libafl_text
- pythia_effect_bb
- pythia_bb
- fafuzz
- tortoisefuzz
# Greybox fuzzers.
- wingfuzz
# Binary-only (greybox) fuzzers.
- eclipser
- eclipser_um_prioritize
- eclipser_um_prioritize_75
- eclipser_um_random
- eclipser_um_random_75
- eclipser_um_parallel
- afl_qemu
- honggfuzz_qemu
- weizz_qemu
- aflplusplus_qemu
- aflplusplus_frida
# Concolic execution
- fuzzolic_aflplusplus_z3
- fuzzolic_aflplusplus_fuzzy
- eclipser_aflplusplus
- symqemu_aflplusplus
- symcc_aflplusplus
- symcc_aflplusplus_single
- symcc_afl
- symcc_afl_single
# Grammar fuzzers
- nautilus
- gramatron
- token_level
- grimoire
# - tortoisefuzz # To Be Fixed.
# Symbolic ececution.
# - klee # To Be Fixed.
# Concolic execution.
# - symcc_aflplusplus # To Be Fixed.
# Grammar fuzzers.
# - nautilus # To Be Fixed.
# - gramatron # To Be Fixed.
# - token_level # To Be Fixed.
# - grimoire # To Be Fixed.
# Temporary variants.
- aflplusplus_dict2file
- afl_2_52_b
- aflplusplus_cmplog
- aflplusplus_cmplog_r
- aflplusplus_cmplog_1587
- aflplusplus_cmplog_1585
- afl_random_favored
- entropic_execute_final
- libfuzzer_exeute_final
- introspector_driven_focus
- libfuzzer_fork_parallel
- centipede_function_filter
# - aflplusplus_um_prioritize
# - aflplusplus_um_prioritize_75
# - aflplusplus_um_random
# - aflplusplus_um_random_3
# - aflplusplus_um_random_6
# - aflplusplus_um_random_75
# To be Removed.
# - introspector_driven_focus
# - centipede_function_filter
# - aflplusplus_dict2file
# - afl_2_52_b
# - aflplusplus_cmplog
# - afl_random_favored
# - entropic_execute_final
# - libfuzzer_exeute_final
# - libfuzzer_fork_parallel
# - afl_um_prioritize
# - afl_um_random
# - afl_um_parallel
# - aflplusplus_optimal
# - aflplusplus_tracepc
# - aflplusplus_um_parallel
# - honggfuzz_um_random
# - honggfuzz_um_random_75
# - honggfuzz_um_prioritize
# - honggfuzz_um_prioritize_75
# - honggfuzz_um_parallel
# - libfuzzer_um_random
# - libfuzzer_um_random_75
# - libfuzzer_um_prioritize
# - libfuzzer_um_prioritize_75
# - libfuzzer_um_parallel
# - libfuzzer_dataflow
# - libfuzzer_dataflow_load
# - libfuzzer_dataflow_store
# - libfuzzer_dataflow_pre
# - libafl_text
# - pythia_effect_bb
## Binary-only (greybox) fuzzers.
# - eclipser_um_prioritize
# - eclipser_um_prioritize_75
# - eclipser_um_random
# - eclipser_um_random_75
# - eclipser_um_parallel
## Binary-only (greybox) fuzzers.
# - afl_qemu
# - honggfuzz_qemu
# - weizz_qemu
# - aflplusplus_qemu
# - aflplusplus_frida
## Concolic fuzzers.
# - fuzzolic_aflplusplus_z3
# - fuzzolic_aflplusplus_fuzzy
# - eclipser_aflplusplus
# - symqemu_aflplusplus
# - symcc_aflplusplus_single
# - symcc_afl
## Concolic execution
# - symcc_afl_single
## Deprecated.
# - entropic
# - lafintel
# - neuzz
# - pythia_bb
# - fafuzz

benchmark_type:
- oss-fuzz
- standard
- bug
# - bug

steps:
- uses: actions/checkout@v2
Expand All @@ -126,7 +130,7 @@ jobs:
- name: Setup Python environment
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.10.8

# Copied from:
# https://docs.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/presubmit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Setup Python environment
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.10.8

# Copied from:
# https://docs.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions
Expand Down
Loading