Skip to content

MozillaSecurity/grizzly

Repository files navigation

Grizzly

Task Status codecov Matrix PyPI

Grizzly is a modular general purpose browser fuzzing framework. The goal is to create a platform that can be extended via the creation of plug-ins to support multiple combinations of browsers and fuzzers. An Adapter is used to add support for a fuzzer and a Target to add support for a browser. Generated test cases are intended to be standalone and not require Grizzly.

Cross platform compatibility is available for Windows, Linux and MacOS. However not all features may be available.

For additional information please check out the wiki or the announcement.

Quick Start

Install the latest version from PyPI. For more details see getting started on the wiki.

python3 -m pip install grizzly-framework --upgrade

Fuzzing - Run the no-op test adapter to check everything is working.

python3 -m grizzly <browser-binary> no-op

Reduce - Grizzly Reduce can reduce a test case.

python3 -m grizzly.reduce <browser-binary> <testcase>

Replay - Grizzly Replay can replay a test case with different builds and debuggers.

python3 -m grizzly.replay <browser-binary> <testcase>

Bugzilla is also supported by Grizzly Replay. Bugs can be replayed via a bug ID:

python3 -m grizzly.replay.bugzilla <browser-binary> <bug_id>

Questions

Common questions can be found on the Q&A page. Questions can also be asked in the #fuzzing channel.

Please be sure you are using the latest version Grizzly before reporting issues.