Scheduler and triager for 24/7 fuzzing.
Fuzzwizard is a continuous fuzzing system that automatically manages fuzzing tasks, detects crashes, and sends notifications. It consists of:
- scheduler: Library to collect and manage fuzzing targets, detect updates, and send crashes to the backend
- backend: REST API to store and analyze crashes in PostgreSQL
- notificator: Sends alerts (Slack, file, etc.) when new crashes are detected
- fuzztui: Terminal UI to monitor and manage all components
- Rust (latest stable)
- PostgreSQL
- Docker/Podman (for database setup)
- Setup the database:
cd backend
cargo install diesel_cli --no-default-features --features postgres
docker compose up
export DATABASE_URL=postgres://postgres:postgres@127.0.0.1:5432/fuzzwizard
diesel setup- Run the launcher:
RUST_LOG=info cargo run -p fuzztui -- config.jsonThe launcher will start all components (backend, notificator, schedulers) and provide a TUI interface for monitoring.
See doc/install.md for complete installation documentation.
See doc/config.md for complete configuration documentation.
DATABASE_URL: PostgreSQL connection string (e.g.postgres://user:pass@localhost:5432/fuzzwizard)
Complete documentation is available in the doc/ directory:
Licensed under the MIT License (see LICENSE). © 2026 LEDGER SAS and contributors.
The project follows the REUSE 3.3 specification; every file carries an SPDX-License-Identifier header.
Fuzzwizard depends on third-party open-source components listed (with their respective licences) in doc/THIRD_PARTY_LICENSES.html, automatically generated from Cargo.lock via cargo-about. An SPDX SBOM is also published with each release.