Skip to content

A cross-platform browser fuzzing framework

License

Notifications You must be signed in to change notification settings

rick1314/grizzly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grizzly

Build Status IRC

Grizzly is a general purpose browser fuzzing harness made up of multiple modules. The intention is to create a platform that can be extended by the creation of adapters and target platforms to support different fuzzers that target browsers. An adapter is used to wrap an existing fuzzer to allow it to be run via Grizzly. Adapters take the content output by fuzzers and transform it (if needed) into a format that can be served to and processed by the browser. Cross platform compatibility should be maintained for Windows, Linux and OSX. However not all features may be available.

For additional information please check out the wiki.

Installation

The following modules are required:

The FuzzManager module is required to support reporting results via FM:

FFPuppet must be installed first. Steps can be found here

To install after cloning the repository
pip install --user -e <grizzly_repository>

Fuzzing builds & prefs.js

Fuzzing builds can be found in taskcluster or the fuzzfetch (recommended) tool can be used to download a build.

prefs.js files can be found here in the fuzzdata repository along with other fuzzing input and configuration files.

NOTE: prefs.js files must be used when running with Mozilla browsers.

Example

To verify everything is installed and working correctly run the no-op adapter. If everything is working correctly the browser should launch and open the harness in the first tab and a second tab should open and close rapidly.

python -m grizzly /path/to/browser/firefox no-op -p prefs/prefs-default-e10s.js

Target platforms

Other target platforms can be defined as setuptools entry-points, using the name "grizzly_targets". Targets must implement grizzly.target.Target.

About

A cross-platform browser fuzzing framework

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.4%
  • HTML 0.6%