Skip to main content

FFPuppet

CI codecov Matrix PyPI

FFPuppet is a Python module that automates browser process related tasks to aid in fuzzing. Happy bug hunting!

Are you fuzzing the browser? Grizzly can help.

Installation

To install the latest version from PyPI
pip install ffpuppet
Xvfb on Linux

On Linux xvfb can be used in order to run headless (this is not the same as Firefox's -headless mode).

To install xvfb on Ubuntu run:

apt-get install xvfb
Install minidump-stackwalk

minidump-stackwalk is used to collect crash reports from minidump files. More information can be found here.

Browser Builds

If you are looking for builds to use with FFPuppet there are a few options.

Download a build

fuzzfetch is the recommended method for obtaining builds and is also very helpful in automation.

Taskcluster has a collection of many different build types for multiple platforms and branches. An index of the latest mozilla-central builds can be found here.

Create your own build

If you would like to compile your own, build instructions can be found here. When using minidump-stackwalk breakpad symbols are required for symbolized stacks.

Usage

Once installed FFPuppet can be run using the following command:

ffpuppet <firefox_binary>
Replaying a test case
ffpuppet <firefox_binary> -p <custom_prefs.js> -d -u <testcase>

This will open the provided test case file in Firefox using the provided prefs.js file. Any log data (stderr, stdout, ASan logs... etc) will be dumped to the console if a failure is detected. Grizzly Replay is recommended for replaying test cases.

Prefs.js files

prefs.js files that can be used for fuzzing or other automated testing can be generated with PrefPicker.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ffpuppet-1.1.0.tar.gz (90.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ffpuppet-1.1.0-py3-none-any.whl (102.7 kB view details)

Uploaded Python 3

File details

Details for the file ffpuppet-1.1.0.tar.gz.

File metadata

  • Download URL: ffpuppet-1.1.0.tar.gz
  • Upload date:
  • Size: 90.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ffpuppet-1.1.0.tar.gz
Algorithm Hash digest
SHA256 1359237b8f136bc234848789b2bfe4f09580f232181a50213c7550037278ac79
MD5 dd107e6e4351dfc3dba4bfede46da85e
BLAKE2b-256 753119ad540e6854f5a3ed4ef297fecf37cdb43f53b5d7d66ea43c96b87ce542

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffpuppet-1.1.0.tar.gz:

Publisher: ci.yml on MozillaSecurity/ffpuppet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ffpuppet-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: ffpuppet-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 102.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ffpuppet-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75dfb39532d8bb483507e1aedcbce0849259fb12972366f6aaf8229899784508
MD5 b303c58b4a3b714c894a9c70f8809a7d
BLAKE2b-256 e41e3ff3454ffaec010cbe915d92894b68ac2fe2437ef0e6ff326a5116bc604b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ffpuppet-1.1.0-py3-none-any.whl:

Publisher: ci.yml on MozillaSecurity/ffpuppet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page