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

SIMPLE_FILES macro necessary with KLEE #7

Open
rachelcleaveland opened this issue Jul 9, 2020 · 1 comment
Open

SIMPLE_FILES macro necessary with KLEE #7

rachelcleaveland opened this issue Jul 9, 2020 · 1 comment

Comments

@rachelcleaveland
Copy link

Hello, when I run Savior I get the following error:

Traceback (most recent call last):
  File "../../coordinator/moriarty.py", line 278, in <module>
    init(args.target, args.config);
  File "../../coordinator/moriarty.py", line 268, in init
    moriarty.start()
  File "../../coordinator/moriarty.py", line 241, in start
    utils.loop_every(self.epoch, self.poke_switch_oracle)
  File "/root/savior/ml_fuzzing/savior-source/coordinator/utils/utils.py", line 226, in loop_every
    func();
  File "../../coordinator/moriarty.py", line 158, in poke_switch_oracle
    self.se_factory.run(deduplicated_list, self.explorer_cov_file_list, self.batch_run_seed_num)
  File "/root/savior/ml_fuzzing/savior-source/coordinator/SEs/klee_explorer.py", line 63, in run
    _.run(input_list[input_base : input_base + batch_run_input_num], cov_file_list[explorer_base : explorer_base + self.se_num][i])
  File "/root/savior/ml_fuzzing/savior-source/coordinator/SEs/klee_conc_explorer.py", line 152, in run
    if max_input_size < os.path.getsize(afl_input):
  File "/usr/lib/python2.7/genericpath.py", line 57, in getsize
    return os.stat(filename).st_size
OSError: [Errno 2] No such file or directory: 'obj-savior/out/master/queue/id_000181'

When the coordinator tries to get the seed files specified in coverage.csv to give to KLEE, it cannot find them unless the SIMPLE_FILES macro in AFL/config.h is uncommented (since the file names written in coverage.csv are only the simple versions). Is this normal? Is there a way to get Savior to run while allowing the file names to be their longer versions?

@evanmak
Copy link
Owner

evanmak commented Jul 12, 2020

Hi, sorry for the inconvenience, the naming convention is implemented by the KLEE's converter that converts .ktest files to concrete input. It is probably difficult to alter the behavior without touching the KLEE source.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants