• Stars
    star
    116
  • Rank 302,098 (Top 6 %)
  • Language
    JavaScript
  • License
    Mozilla Public Li...
  • Created over 7 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A fuzzing library in JavaScript. ✨

Logo

A unified shared library which aids in building fuzzers for browsers or as complement for an already existing fuzzing framework.

JavaScript Style Guide Build Status Current Release Coverage Status Dependencies Status Dev Dependencies Status IRC

Octo.js bundles core functions and generic boilerplate code commonly used in most frameworks for fuzzing browsers. It is designed for the sharing of improvements between our individual fuzzers, and with the purpose of reducing the maintainability of those core features with minimal effort.

Octo's future aims to be a stable, well-tested and well-documented standard library for fuzzing in a JavaScript environment.

Table of Contents

Playbook

https://npm.runkit.com/@mozillasecurity/octo

Usage in Node

yarn add @mozillasecurity/octo
const { random, make } = require("@mozillasecurity/octo");
random.init();

// Common Operations
make.number.any();
make.text.any();

// WebCrypto
make.crypto.randomAlgorithm();

// WebGL
make.webgl.randomSamplerParameter();

Take a look into the API documentation for further use cases.

Usage in the Browser

yarn install
yarn build

A bundled production build (octo.js) is placed into the local dist directory.

Development

yarn lint
yarn test
yarn build

Testing

Octo.js uses Jest for testing. Each directory should contain a __tests__ folder containing the tests.

yarn test

API Documentation

or

yarn docs

What do the developers say?

More Repositories

1

funfuzz

A collection of fuzzers in a harness for testing the SpiderMonkey JavaScript engine.
Python
628
star
2

fuzzdata

Fuzzing resources for feeding various fuzzers with input. πŸ”§
HTML
493
star
3

dharma

Generation-based, context-free grammar fuzzer. Refer to https://github.com/posidron/dharma for a maintained version.
Python
475
star
4

peach

Peach is a fuzzing framework which uses a DSL for building fuzzers and an observer based architecture to execute and monitor them.
Python
399
star
5

grizzly

A cross-platform browser fuzzing framework
Python
301
star
6

FuzzManager

A fuzzing management tools collection
HTML
183
star
7

lithium

Line-based testcase reducer
Python
94
star
8

libfuzzer-python-bridge

A Python3 bridge for implementing custom libFuzzer mutators
C++
74
star
9

orion

CI/CD pipeline for building and publishing multiple 🐳 containers as microservices within a mono repository.
Python
45
star
10

quokka

Quokka is a utility to launch and monitor application for faults.
Python
40
star
11

fuzzfetch

Downloader for Firefox/jsshell builds for fuzzing.
Python
35
star
12

ffpuppet

A Python module that aids in the automation of Firefox at the process level
Python
30
star
13

avalanche

Avalanche is a document generator which uses context-free grammars to generate randomized outputs for fuzz-testing.
Python
29
star
14

laniakea

Laniakea is a utility for managing instances at various cloud providers and aids in setting up a fuzzing cluster.
Python
27
star
15

virgo

Crowdsourced fuzzing cluster. πŸš€
JavaScript
22
star
16

framboise

Framboise is a fuzzer for in-depth testing of WebAPIs.
JavaScript
21
star
17

ec2SpotPrices

[Deprecated and unmaintained] Uses boto to retrieve current spot instance prices on Amazon EC2.
Python
19
star
18

corpus-replicator

A corpus generation tool
Python
18
star
19

domfuzz

DOM fuzzers - not maintained anymore
JavaScript
16
star
20

snapshot-fuzzing

Custom Agent and Tooling for using Nyx with Firefox
C
15
star
21

marifuzz

[Deprecated and unmaintained] A user interaction fuzzer for Firefox OS, based on the Marionette framework.
Python
12
star
22

site-scout

Python
11
star
23

prefpicker

Manage & generate prefs.js files
Python
9
star
24

bugmon

Automatic analysis of SpiderMonkey and Firefox bugs on Bugzilla
Python
9
star
25

openh264fuzz

A lightweight fuzzer for the encoder and decoder of OpenH264
Python
9
star
26

autobisect

Automatic Bisection Firefox and SpiderMonkey Bugs
C++
7
star
27

faulty

Bucket repository of infrastructure and managment scripts for fuzzing IPC Protocol Definition Language (IPDL) protocols.
JavaScript
6
star
28

dolly

A Cookiecutter project template for projects in Python.
Python
5
star
29

orangfuzz

[Deprecated and unmaintained] An experimental UI fuzzer based on the orangutan framework for Firefox OS devices
Python
5
star
30

reachable

Repository for Project Reachable
Python
3
star
31

photon

A utility for managing RAM disks.
Python
3
star
32

hedwig

Hedwig is a commit monitor for GitHub using the GitHub REST API.
Python
3
star
33

hermes

Hermes is the codename for the integrated Message Manager fuzzer in Firefox.
2
star
34

guided-fuzzing-daemon

Python
2
star
35

mozilla-build-configs

Build configurations of Firefox for Fuzzing and Sanitizer builds.
2
star
36

fuzzing-tc

Code for Taskcluster Tasks in Fuzzing
Python
2
star
37

psbootstrap

psbootstrap assists in creating files needed to bootstrap a Windows machine for Mozilla development in EC2.
PowerShell
2
star
38

fuzzpriv

JavaScript
1
star
39

bugmon-tc

Tools for running Bugmon in TaskCluster
Python
1
star