Lines Matching +full:oss +full:- +full:fuzz
1 ---
7 permalink: /getting-started/new-project-guide/python-lang/
8 ---
13 - TOC
15 ---
18 The process of integrating a project written in Python with OSS-Fuzz is very
20 [Setting up a new project]({{ site.baseurl }}/getting-started/new-project-guide/)
25 Python fuzzing in OSS-Fuzz depends on
27 `atheris` package, and dependencies are pre-installed on the OSS-Fuzz base
34 We recommend viewing [ujson](https://github.com/google/oss-fuzz/tree/master/projects/ujson) as an
35 example of a simple Python fuzzing project, with both plain-Atheris and
52 - libfuzzer
54 - address
55 - undefined
60 The Dockerfile should start by `FROM gcr.io/oss-fuzz-base/base-builder-python`
62 Because most dependencies are already pre-installed on the images, no
65 files, or install any project-specific dependencies here as you normally would.
79 for fuzzer in $(find $SRC -name '*_fuzzer.py'); do
80 fuzzer_basename=$(basename -s .py $fuzzer)
84 # over time on the OSS-Fuzz bots, we use pyinstaller to create a standalone
86 # required to keep fuzzers working properly in OSS-Fuzz.
87 pyinstaller --distpath $OUT --onefile --name $fuzzer_package $fuzzer
91 # test case reproduction. Since this helper script is what OSS-Fuzz will
93 # NOTE: If you are fuzzing python-only code and do not have native C/C++
100 ASAN_OPTIONS=\$ASAN_OPTIONS:symbolize=1:external_symbolizer_path=\$this_dir/llvm-symbolizer:detect_…
109 [property-based testing](https://hypothesis.works/articles/what-is-property-based-testing/),
110 makes it really easy to generate complex inputs - whether in traditional test suites
111 or [by using test functions as fuzz harnesses](https://hypothesis.readthedocs.io/en/latest/details.…
118 command to generate a starter fuzz harness. This "ghostwritten" code may be usable as-is,
123 or [here for a variety of third-party extensions](https://hypothesis.readthedocs.io/en/latest/strat…
126 Hypothesis' integrated test-case reduction also makes it trivial to report a canonical minimal
127 example for each distinct failure discovered while fuzzing - just run the test function!
129 To use Hypothesis in OSS-Fuzz, install it in your Dockerfile with
135 See [the `ujson` structured fuzzer](https://github.com/google/oss-fuzz/blob/master/projects/ujson/h…
137 or run with OSS-Fuzz as a fuzz harness.