Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gamozolabs/cookie_dough
A fuzzing introspection tool
https://github.com/gamozolabs/cookie_dough
Last synced: 22 days ago
JSON representation
A fuzzing introspection tool
- Host: GitHub
- URL: https://github.com/gamozolabs/cookie_dough
- Owner: gamozolabs
- License: mit
- Created: 2020-07-29T11:07:15.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-09-13T13:43:30.000Z (about 4 years ago)
- Last Synced: 2024-08-05T17:42:51.425Z (4 months ago)
- Language: Rust
- Size: 3.13 MB
- Stars: 160
- Watchers: 7
- Forks: 20
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hacking-lists - gamozolabs/cookie_dough - A fuzzing introspection tool (Rust)
README
# Summary
This is a environment for measuring and observing the behaviors of fuzzers from
inside the fuzzer itself.This allows for comparing fuzzers without having to worry about them having
different definitions of performance and coverage.# Visualizations
![](_assets/example_data.gif)
This tool provides real-time visualizations of coverage as it happens, so you
can not only see what was hit, but what is being hit frequently!It's important to note, while this tool currently mainly does visualizations,
we'll likely start working on analyizing results statistically rather than
eyeballing images!# Usage
To use this, simply run `cargo run` in `prog_gen` to create a random program.
This random program expects a filename as the argument once compiled which is
then used as the fuzz input for the randomly generated program.This program then reports status via shared memory to a file which can be
observed and monitored in a web browser by using `coverage_server`. Run `cargo
run` in coverage server and it will monitor the shared memory for changes on an
interval, and when new changes are observed the information will be pushed over
a websocket to a website which will visualize the coverage in realtime via
graphviz SVG.## TL;DR
Run `cargo run` in `prog_gen` to generate a random program.
Run `cargo run` in `coverage_server` to monitor coverage events.
Run `python3 -m http.server` in `coverage_server` to host the coverage viewer
website, and navigate to the locally hosted website.