Skip to content
A fuzzing library in JavaScript.
Branch: master
Clone or download
Latest commit 7278aed Sep 18, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Skip failing test at TravisCI Sep 18, 2018
.gitignore Update .travis.yml Sep 18, 2018
LICENSE Add LICENSE Apr 22, 2017 Update Sep 18, 2018
index.js Add linter fixes Mar 19, 2018
package.json v2.0.0 Sep 18, 2018


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


Usage in Node

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

// Common Operations

// WebCrypto

// WebGL

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.


yarn lint
yarn test
yarn build


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

yarn test

API Documentation


yarn docs

What do the developers say?

You can’t perform that action at this time.