High-performance offensive security framework built for authorized reconnaissance, endpoint discovery, and tactical fuzzing. Engineered where throughput and memory safety matter.
$ crabkit \
--target https://api.internal.example \
--wordlist ./wordlists/endpoints.txt \
--concurrency 80 \
--filter-status 200,204,301
[200] /api/v1/users 42ms 1842 bytes
[403] /admin 51ms 721 bytes
[301] /dashboard 38ms 128 bytes
Built around one engineering principle: do more work with less overhead, without sacrificing control.
Rust's ownership model eliminates entire classes of memory-related bugs at compile time.
No GC pauses. Tighter control over allocations and a deterministic async runtime.
Tokio-powered task scheduling for maximum network throughput with semaphore-based backpressure.
Wordlists processed incrementally via BufReader, supporting large files without loading them fully into RAM.
Explicit error propagation using Rust's type system. Silent failures are not an option.
Designed for fast operational workflows. Pipeline-friendly JSON output included.
Modular by design — each tactical capability can evolve independently.
src/core/engine.rsRequest orchestration, concurrency control, retries, and execution flow. Powered by Tokio runtime.
src/net/client.rsHTTP/S transport abstraction and configuration. Built on Reqwest with timeout and retry policies.
src/io/streamer.rsHigh-performance wordlist reader using BufReader for incremental, low-RAM processing.
src/logic/mutator.rsPayload generation and mutation logic. Produces candidate paths and controlled variant sets.
src/output/reporter.rsNormalizes results for terminal and machine-readable JSON output via stdout.
Requires Rust stable 1.70+ and Cargo. Works on Linux, macOS, and Windows.
git clone https://github.com/CyberStill-GmbH/crabkit.git
cd crabkit
cargo build --release
cargo install --path .
crabkit --help
If the command isn't found, ensure $HOME/.cargo/bin is in your PATH.
CLI-first. Every flag is intentional.
| Flag | Type | Description |
|---|---|---|
--target | URL | Base URL to probe |
--wordlist | PATH | Path to wordlist file |
--concurrency | INT | Max parallel tasks |
--timeout | INT | Request timeout in seconds |
--retries | INT | Retry count on unstable responses |
--filter-status | LIST | Comma-separated status codes to include |
crabkit \
--target https://api.internal.example \
--wordlist ./wordlists/endpoints.txt \
--concurrency 80 \
--timeout 5 \
--retries 2 \
--filter-status 200,204,301,302,403
{
"target": "https://api.internal.example",
"path": "/api/v1/users",
"status": 200,
"latency_ms": 42,
"content_length": 1842
}