-
Notifications
You must be signed in to change notification settings - Fork 20
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
Implement Python support (Atheris) #162
Comments
I think that would be nice in principle, but I would like to first see adoption (a few users) of the |
When you say adoption, do you mean of local fuzzing or of the OSS-Fuzz support? I don't know of many non-Google Java-based OSS projects using Bazel to begin with, so the OSS-Fuzz support built into On the other hand, local fuzzing support for Java (and potentially Python) for any, also closed source Bazel project is already very useful and was my primary motivation for adding the Jazzer integration. It is however more difficult to measure adoption for this use case. |
Either - basically any Bazel project defining
I believe it is important for the code to have real users, if only a handful. Otherwise, we essentially pay the engineering cost (added complexity, refactorings, etc.) while the code never runs in "real-life" to reap benefits. This was the approach when developing the C++ rules, too: Envoy is a very large early customer that was on board when we started developing the project.
I agree with this - local fuzzing support has always been a key feature of the project. But ultimately the proof of usefulness stays in actual usage, so this is why I'd like to make sure the rules end up being used (by Google or non-Google projects, for local fuzzing or OSS-Fuzz - any kind of use). |
As a first step, I will mention |
If there is interest, I could add
py_fuzz_test
backed by Atheris after the release forjava_fuzz_test
is done.As far as I can tell, this would require the following special steps for local Python fuzzing, everything else would be mostly analogous to the integration of Jazzer:
ubsan_standalone_cxx
to arbitrary sanitizer libraries and extract it into a separate repository rule.a) depending on clang >= 12 and
b) building libFuzzer from source.
OSS-Fuzz support for Python then requires a choice between
a) adding the CPython installation compiled in
base-builder
also tobase-runner
andb) crafting a packaging rule for
py_binary
backed bypyinstaller
or a similar tool that can bundle a Python target with a Python runtime (--build_python_zip
may do the job).The text was updated successfully, but these errors were encountered: