fuzzbench icon indicating copy to clipboard operation
fuzzbench copied to clipboard

Seed experiment

Open tokatoka opened this issue 1 year ago • 31 comments

This is a experiment to see how five fuzzers (afl, aflpp, libfuzzer, honggfuzz, libafl) behaves when supplied with a empty seeds and saturated seed corpus.

First I want do an empty seed experiment. Later i will change it to use ossfuzz corpus

tokatoka avatar Aug 13 '24 13:08 tokatoka

The command is

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-14-empty_seeds-1 --fuzzers aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds
/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-14-empty_seeds-2 --fuzzers aflplusplus libafl honggfuzz libfuzzer afl

@DonggeLiu Could you run the command?

tokatoka avatar Aug 13 '24 13:08 tokatoka

gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-empty_seeds --fuzzers aflplusplus libafl honggfuzz libfuzzer afl aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds

Sure, but there are 2 issues:

  1. Could you please follow the same date format in experiment names? 2024-08-14. This help us keep the cloud storage more organized.
  2. Like last time, this experiment requests too many fuzzers. Could you please split them into 2 experiments. Let's keep #fuzzers <= 5 in each exp.

DonggeLiu avatar Aug 13 '24 14:08 DonggeLiu

ok i edited and fixed the issues https://github.com/google/fuzzbench/pull/2025#issuecomment-2286274645

tokatoka avatar Aug 13 '24 14:08 tokatoka

this is dependent on #2023 #2021

tokatoka avatar Aug 13 '24 15:08 tokatoka

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-15-empty_seeds-1 --fuzzers aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds

DonggeLiu avatar Aug 15 '24 00:08 DonggeLiu

Ops, experiment name cannot contain _.

DonggeLiu avatar Aug 15 '24 00:08 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-15-empty-seeds-1 --fuzzers aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds

DonggeLiu avatar Aug 15 '24 00:08 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-14-empty-seeds-2 --fuzzers aflplusplus libafl honggfuzz libfuzzer afl

DonggeLiu avatar Aug 15 '24 00:08 DonggeLiu

it looks like it didn't run can you check what is the reason?

tokatoka avatar Aug 16 '24 10:08 tokatoka

2024-08-14-empty-seeds-2

it looks like it didn't run can you check what is the reason?

I think it is because of the same issue I fixed in #2023 Now that you have updated your branch, let me re-run the exp.

DonggeLiu avatar Aug 17 '24 01:08 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-17-empty-seeds-1 --fuzzers aflplusplus libafl honggfuzz libfuzzer afl

DonggeLiu avatar Aug 17 '24 01:08 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-17-empty-seeds-2 --fuzzers aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds

DonggeLiu avatar Aug 17 '24 01:08 DonggeLiu

Experiment 2024-08-17-empty-seeds-1 data and results will be available later at: The experiment data. The experiment report. The experiment report(experimental).

Experiment 2024-08-17-empty-seeds-2 data and results will be available later at: The experiment data. The experiment report. The experiment report(experimental).

DonggeLiu avatar Aug 17 '24 01:08 DonggeLiu

Hi @tokatoka, I started two test exp above. If they work well, could you please rebase to adopt this change? I forgot to revert temp changes in a previous PR.

Thanks!

DonggeLiu avatar Aug 17 '24 01:08 DonggeLiu

hi, i merged the master branch to revert it. now it's ready

tokatoka avatar Aug 19 '24 10:08 tokatoka

now it's truly okay (with the green ci) could you run the same command? @DonggeLiu

tokatoka avatar Aug 20 '24 14:08 tokatoka

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-21-empty-seeds-1 --fuzzers aflplusplus libafl honggfuzz libfuzzer afl

DonggeLiu avatar Aug 20 '24 23:08 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-21-empty-seeds-2 --fuzzers aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds

DonggeLiu avatar Aug 20 '24 23:08 DonggeLiu

hmm the experiment-data has data in its folder but the report is not generated do you know the reason? @DonggeLiu

tokatoka avatar Aug 21 '24 06:08 tokatoka

Let's debug this on the other PR #2028 This experiment also had many runtime crashes, for example.

DonggeLiu avatar Aug 22 '24 00:08 DonggeLiu

I updated libafl commit here too. Can we start the experiment here?

tokatoka avatar Aug 26 '24 12:08 tokatoka

I updated libafl commit here too. Can we start the experiment here?

Sure, I wonder if that heisenbug will haunt us here. Let's run for once, and if the bug reappears, I will create a new PR with my debug logs.

DonggeLiu avatar Aug 26 '24 21:08 DonggeLiu

/gcbrun run_experiment.py -a --experiment-config /opt/fuzzbench/service/experiment-config.yaml --experiment-name 2024-08-27-empty-seeds-1 --fuzzers aflplusplus_empty_seeds libafl_empty_seeds honggfuzz_empty_seeds libfuzzer_empty_seeds afl_empty_seeds

DonggeLiu avatar Aug 26 '24 21:08 DonggeLiu

No it doesn't work. Just like before. The experiment-data is there but the report is missing

tokatoka avatar Aug 27 '24 08:08 tokatoka

@DonggeLiu How can I help to debug this stuff..?

tokatoka avatar Aug 27 '24 10:08 tokatoka

@DonggeLiu How can I help to debug this stuff..?

https://github.com/google/fuzzbench/pull/2000#issuecomment-2272406883 Could it be related to this? maybe you can try run just zlib on it's own and see if there's the same error?

DanBlackwell avatar Aug 27 '24 15:08 DanBlackwell

@DonggeLiu Can you create a debug branch for this too..? For this one, 0 reports were created

tokatoka avatar Aug 28 '24 00:08 tokatoka

yep I saw a lot of "Fuzz target binary not found." errors: image

It's likely the same error again. Weird that it stopped occurring for a year and suddenly came back.

DonggeLiu avatar Aug 28 '24 01:08 DonggeLiu

@DonggeLiu How can I help to debug this stuff..?

#2000 (comment) Could it be related to this? maybe you can try run just zlib on it's own and see if there's the same error?

Thanks for helping @DanBlackwell . We will investigate more in a new PR.

DonggeLiu avatar Aug 28 '24 01:08 DonggeLiu

@DonggeLiu Can you create a debug branch for this too..? For this one, 0 reports were created

I will need your help to resolve the conflict before I can rebase and create a new PR : )

Auto-merging fuzzers/libafl/builder.Dockerfile
CONFLICT (content): Merge conflict in fuzzers/libafl/builder.Dockerfile
error: could not apply 8b14d84f... Update LibAFL (#2036)
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Disable this message with "git config advice.mergeConflict false"
Could not apply 8b14d84f... Update LibAFL (#2036)

Or you could cherry-pick my commits from https://github.com/google/fuzzbench/pull/2038.

DonggeLiu avatar Aug 28 '24 01:08 DonggeLiu