question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

No fuzzer binaries found

See original GitHub issue

I created a job and uploaded my zip, however it’s complaining with:

2019-02-08 13:51:08,359 - run_bot - INFO - Checking for bad build.
2019-02-08 13:51:08,654 - run_bot - ERROR - Error occurred while working on task.
Traceback (most recent call last):
  File "src/python/bot/startup/run_bot.py", line 98, in task_loop
    commands.process_command(task)
  File "/home/vadi/Programs/Mudlet/mudlet1/clusterfuzz/src/python/bot/tasks/commands.py", line 147, in wrapper
    return func(task)
  File "/home/vadi/Programs/Mudlet/mudlet1/clusterfuzz/src/python/bot/tasks/commands.py", line 360, in process_command
    run_command(task_name, task_argument, job_name)
  File "/home/vadi/Programs/Mudlet/mudlet1/clusterfuzz/src/python/bot/tasks/commands.py", line 190, in run_command
    task_module.execute_task(task_argument, job_name)
  File "/home/vadi/Programs/Mudlet/mudlet1/clusterfuzz/src/python/bot/tasks/fuzz_task.py", line 1342, in execute_task
    data_directory, testcase_count)
  File "/home/vadi/Programs/Mudlet/mudlet1/clusterfuzz/src/python/bot/tasks/fuzz_task.py", line 742, in run_fuzzer
    testcase_count)
  File "/home/vadi/Programs/Mudlet/mudlet1/clusterfuzz/src/python/bot/fuzzers/builtin.py", line 72, in run
    'No fuzzer binaries found in |BUILD_DIR| directory.')
BuiltinFuzzerException: No fuzzer binaries found in |BUILD_DIR| directory.

What exactly is it talking about?

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:14

github_iconTop GitHub Comments

2reactions
jonathanmetzmancommented, Mar 8, 2019

To clarify since I think this issue has caused some confusion, for a binary to be recognized as a fuzzer it should have a function called LLVMFuzzerTestOneInput. The logic for determining if a binary is a fuzzer is here.

The libFuzzer target someone gives to ClusterFuzz doesn’t necessarily need to be compiled with -fsanitize=fuzzer but it should be a working libFuzzer target. -fsanitize=fuzzer-no-link does not do this, -fsanitize=fuzzer can do this but it is not the only way.

0reactions
jonathanmetzmancommented, Feb 8, 2019

With -fsanitize=address,fuzzer-no-link specifically (it complained about main() already defined).

Ah this is the issue. The program you give to ClusterFuzz must be compiled with -fsanitize=fuzzer at some point (assuming you aren’t doing blackbox fuzzing or AFL).

I strongly recommend libFuzzer though. Probably best to read the libFuzzer docs so you understand how to make a libFuzzer-based target. Once you have one, you can upload it to ClusterFuzz.

Nope, haven’t done that, wanted to see what would happen / did not understand the contept of the glue code program at that time. Perhaps this is just the resulting error then.

Maybe we should make this clearer in the docs.

Good luck and let us know if you run into other trouble.

Read more comments on GitHub >

github_iconTop Results From Across the Web

36C3 - No source, no problem! High speed binary fuzzing
Fuzzing is the method of choice for finding security vulnerabilities in ... but it struggles to find deep paths in complex programs, ...
Read more >
Vulnerability-oriented directed fuzzing for binary programs
In this paper, we propose a vulnerability-oriented directed greybox fuzzing method on binary program whose source code is not available. To ...
Read more >
Fuzzing with afl-fuzz — AFL 2.53b documentation
Non -instrumented binaries can be fuzzed in the QEMU mode (add -Q in the command line) or in a traditional, blind-fuzzer mode (specify...
Read more >
Fuzzing binary-only programs with AFL++ - AFLplusplus
However, if there is only the binary program and no source code available, then standard afl-fuzz -n (non-instrumented mode) is not effective.
Read more >
ANTIFUZZ: Impeding Fuzzing Audits of Binary Executables
state-of-the-art fuzzers cannot find bugs in binary executables protected with ANTIFUZZ anymore. Moreover, we find that our approach introduces no ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found