{"id":13799820,"url":"https://github.com/mozillasecurity/octo","last_synced_at":"2026-02-01T17:06:33.290Z","repository":{"id":19852737,"uuid":"87410738","full_name":"MozillaSecurity/octo","owner":"MozillaSecurity","description":"A fuzzing library in JavaScript. ✨","archived":false,"fork":false,"pushed_at":"2024-10-16T17:52:39.000Z","size":4307,"stargazers_count":117,"open_issues_count":6,"forks_count":19,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-10-30T06:27:33.749Z","etag":null,"topics":["browser","fuzzing","fuzzing-framework","generators","library","node","random"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MozillaSecurity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-06T09:21:05.000Z","updated_at":"2024-10-09T14:29:41.000Z","dependencies_parsed_at":"2023-02-18T02:45:26.600Z","dependency_job_id":"8f85087d-1ad7-4566-86f3-47da8e21814a","html_url":"https://github.com/MozillaSecurity/octo","commit_stats":{"total_commits":408,"total_committers":9,"mean_commits":"45.333333333333336","dds":0.625,"last_synced_commit":"855556dad5450e9827e0017e4e14a9112ea4c3e8"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MozillaSecurity%2Focto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MozillaSecurity%2Focto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MozillaSecurity%2Focto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MozillaSecurity%2Focto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MozillaSecurity","download_url":"https://codeload.github.com/MozillaSecurity/octo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248544027,"owners_count":21121878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","fuzzing","fuzzing-framework","generators","library","node","random"],"created_at":"2024-08-04T00:01:06.381Z","updated_at":"2026-02-01T17:06:33.251Z","avatar_url":"https://github.com/MozillaSecurity.png","language":"JavaScript","funding_links":[],"categories":["Fuzzing"],"sub_categories":["DHCP"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/posidron/posidron.github.io/raw/master/static/images/octo.png\" alt=\"Logo\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nA unified shared library which aids in building fuzzers for browsers or as complement for an already existing fuzzing framework.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://standardjs.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/code_style-standard-brightgreen.svg\" alt=\"JavaScript Style Guide\"\u003e\u003c/a\u003e\n\u003ca href=\"https://travis-ci.com/MozillaSecurity/octo\"\u003e\u003cimg src=\"https://api.travis-ci.com/MozillaSecurity/octo.svg?branch=master\" alt=\"Build Status\"\u003e\u003c/a\u003e\n\u003ca href=\"https://img.shields.io/github/release/mozillasecurity/octo.svg\"\u003e\u003cimg src=\"https://img.shields.io/github/release/mozillasecurity/octo.svg\" alt=\"Current Release\"\u003e\u003c/a\u003e\n\u003ca href=\"https://coveralls.io/github/MozillaSecurity/octo?branch=master\"\u003e\u003cimg src=\"https://coveralls.io/repos/github/MozillaSecurity/octo/badge.svg?branch=master\" alt=\"Coverage Status\"\u003e\u003c/a\u003e \u003ca href=\"https://david-dm.org/mozillasecurity/octo\"\u003e\u003cimg src=\"https://img.shields.io/david/mozillasecurity/electron-genesis.svg?style=flat-square\" alt=\"Dependencies Status\"\u003e\u003c/a\u003e \u003ca href=\"https://david-dm.org/mozillasecurity/octo.svg?style=flat-square?type=dev\"\u003e\u003cimg src=\"https://img.shields.io/david/dev/mozillasecurity/octo.svg?style=flat-square.svg?style=flat-square\" alt=\"Dev Dependencies Status\"\u003e\u003c/a\u003e \u003ca href=\"https://www.irccloud.com/invite?channel=%23fuzzing\u0026amp;hostname=irc.mozilla.org\u0026amp;port=6697\u0026amp;ssl=1\"\u003e\u003cimg src=\"https://img.shields.io/badge/IRC-%23fuzzing-1e72ff.svg?style=flat\" alt=\"IRC\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nOcto.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.\n\nOcto's future aims to be a stable, well-tested and well-documented standard library for fuzzing in a JavaScript environment.\n\n## Table of Contents\n\n- [Table of Contents](#table-of-contents)\n  - [Playbook](#playbook)\n  - [Usage in Node](#usage-in-node)\n  - [Usage in Browser](#usage-in-browser)\n  - [Development](#development)\n  - [Testing](#testing)\n  - [API Documentation](#api-documentation)\n  - [What do the developers say?](#what-do-the-developers-say)\n\n### Playbook\n\nhttps://npm.runkit.com/@mozillasecurity/octo\n\n### Usage in Node\n\n```\nyarn add @mozillasecurity/octo\n```\n\n```js\nconst { random, make } = require(\"@mozillasecurity/octo\");\nrandom.init();\n\n// Common Operations\nmake.number.any();\nmake.text.any();\n\n// WebCrypto\nmake.crypto.randomAlgorithm();\n\n// WebGL\nmake.webgl.randomSamplerParameter();\n```\n\nTake a look into the API documentation for further use cases.\n\n### Usage in the Browser\n\n```\nyarn install\nyarn build\n```\n\nA bundled production build (`octo.js`) is placed into the local `dist` directory.\n\n### Development\n\n```\nyarn lint\nyarn test\nyarn build\n```\n\n### Testing\n\nOcto.js uses Jest for testing. Each directory should contain a `__tests__` folder containing the tests.\n\n```\nyarn test\n```\n\n### API Documentation\n\n- https://mozillasecurity.github.io/octo\n\nor\n\n```\nyarn docs\n```\n\n### What do the developers say?\n\n- [Divide-by-zero in [@webrtc::I420Buffer::CropAndScaleFrom]](https://bugzilla.mozilla.org/show_bug.cgi?id=1490700#c1)\n\n  \u003e Impressive that the fuzzer found such a high multiple of 65536. I'd expect it to start with common edge cases like -1, 0, 1, etc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozillasecurity%2Focto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmozillasecurity%2Focto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozillasecurity%2Focto/lists"}