octo-deno/README.md

2.5 KiB

Logo

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

JavaScript Style Guide 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.

Note

The ES6 branch is under active development while we are incorporating it with our existing fuzzers.

Playbook

https://runkit.com/posidron/octo-js-playbook

Node

npm i @mozillasecurity/octo
const {random} = require('@mozillasecurity/octo')
random.init()

Browser

We have not yet merged ES6 to master, hence the browser version which was released on master is not up-to-date. Use the dist/octo.js version of this branch by running the following command.

npm run build

Development

npm install
npm run build
npm run watch
npm run test:lint

Testing

Tests live in the tests/ subdirectory, and are written for QUnit. To run tests locally, open tests/index.html in a browser. The automated tests are run in Firefox or Chrome using Karma. To run the automated tests:

npm test