A Python module that aids in the automation of Firefox at the process level
Project description
FFPuppet
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ffpuppet-1.0.0.tar.gz.
File metadata
- Download URL: ffpuppet-1.0.0.tar.gz
- Upload date:
- Size: 89.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
997b97cd6e988a0d73aa1afa0e41d854a2e816f0e4dcb8db21f7fce24d3eaec6
|
|
| MD5 |
286ab0d420cf1098e13f289ae55c446b
|
|
| BLAKE2b-256 |
1cc653684d79f0ee149667a845240de8c6c2c883414a6ffc8e8c1868b579b147
|
File details
Details for the file ffpuppet-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ffpuppet-1.0.0-py3-none-any.whl
- Upload date:
- Size: 102.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5d3db5bb831bd783aa0a865e906b209d0df80b1670096768e489cc4377e24ed
|
|
| MD5 |
f2900fb536003a5ec25d706e84bdeb53
|
|
| BLAKE2b-256 |
d8b599b5da978bcaf1e097de98d0d1983dece37a56d46c37c5f3fadb8f59f4d5
|