Back to Terminal

ProtoCrash

Coverage-Guided Protocol Fuzzer for Vulnerability Discovery. Distributed architecture with smart mutation engine.

01. Fuzzing Engine Architecture

ProtoCrash implements a coverage-guided feedback loop similar to AFL but optimized for protocols. It uses a smart mutation engine that understands protocol structures (HTTP, DNS, SMTP) to generate effective test cases.

  • Executions/Sec: ~350,000 (8 workers)
  • Code Coverage: 96%
  • Test Suite: 859 Passing Tests
Input Corpus → Smart Mutation → Target Execution
      ↑                                ↓
      └────── Coverage Feedback ───────┘

[Worker 1] ──┐
[Worker 2] ──┼── [Coordinator] ──→ [Report]
[Worker N] ──┘       (Sync)

Smart Mutation

Context-aware mutators for HTTP, DNS, and binary protocols. Bit flips, byte arithmetic, and dictionary-based strategies.

Distributed Fuzzing

Scalable master-worker architecture. Synchronizes interesting test cases across nodes for maximum throughput.

Crash Analysis

Automated crash deduplication and exploitability assessment. Generates detailed HTML reports with reproduction steps.

02. Technical Features

ProtoCrash is built for security researchers who need a reliable, extensible fuzzer for network services. It bridges the gap between dumb fuzzers and complex commercial tools.

Key Capabilities

  • Protocol Awareness: Built-in parsers for HTTP, DNS, and SMTP to ensure mutations are structurally valid.
  • Real-time Dashboard: Interactive terminal UI (TUI) showing exec/sec, coverage, and unique crashes.
  • Automated CI/CD: Full test suite with 96% coverage, automated PyPI publishing via GitHub Actions.
  • Crash Triage: Classifies crashes by signal (SEGV, ABRT) and uniqueness to reduce noise.

Installation & Usage

# Install from PyPI
$ pip install protocrash

# Fuzz a target
$ protocrash fuzz --target ./vuln_app --corpus ./seeds

# Distributed mode (8 workers)
$ protocrash fuzz --target ./vuln_app --workers 8

Project Stats

859
Passing Tests
96%
Code Coverage
350k
Execs/Sec
v1.0.0
Stable Release