Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Forkfuzz

FreeNot checked

Mainnet-fork invariant fuzzer that replays your contract against live state and stateful sequences to break protocol invariants before deploy.

GitHubEmbed

About

Mainnet-fork invariant fuzzer that replays your contract against live state and stateful sequences to break protocol invariants before deploy.

README

FORKFUZZ

FORKFUZZ

Mainnet-fork invariant fuzzer that replays your contract against live state and stateful sequences to break protocol invariants before deploy.

PyPI CI License: COCL 1.0 Suite

Web3 & Smart-Contract Security — on-chain safety and analytics.

pip install cognis-forkfuzz
forkfuzz scan .            # → prioritized findings in seconds

🔎 Example output

Real, reproducible output from the tool — runs offline:

$ forkfuzz-emit --version
forkfuzz 0.1.0
$ forkfuzz-emit --help
usage: forkfuzz [-h] [--version] [--format {table,json}] {check} ...

FORKFUZZ - one-command invariant fuzzing for contract specs. Runs generated call sequences against a JSON spec and reports the smallest sequence that breaks an invariant.

positional arguments:
  {check}
    check               fuzz a contract spec for invariant violations

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --format {table,json}
                        output format (default: table)

example: python -m forkfuzz check demos/01-basic/vault.json
example: python -m forkfuzz check spec.json --format json --seed 7

Blocks above are real forkfuzz output — reproduce them from a clone.

Sample result format (illustrative values — run on your own data for real findings):

{
"findings": [
    {
        "id": "123456",
        "title": "Suspicious Activity",
        "description": "Potential malicious activity detected on IP 192.0.2.1",
        "severity": "high",
        "created_at": "2023-02-15T14:30:00Z"
    },
    {
        "id": "789012",
        "title": "Malware Detection",
        "description": "Malware identified on system with IP 192.0.2.2",
        "severity": "medium",
        "created_at": "2023-02-15T14:31:00Z"
    }
]
}

Usage — step by step

  1. Install the CLI:

    pipx install "git+https://github.com/cognis-digital/forkfuzz.git"
    
  2. Check a JSON contract spec for invariant violations (primary command):

    forkfuzz check spec.json
    
  3. Scale the search — more random sequences, longer call sequences, and a fixed seed for reproducibility:

    forkfuzz check spec.json --runs 5000 --max-calls 50 --seed 42
    
  4. Read the output — a table of violations, or JSON for triage and diffing:

    forkfuzz check spec.json --format json > violations.json
    
  5. Automate in CI — fail the job (non-zero exit) when any invariant breaks, using a fixed seed so runs are deterministic:

    forkfuzz check spec.json --runs 2000 --seed 1 --format json
    

Contents

Why forkfuzz?

One-command 'fuzz my contract against real mainnet liquidity' lowers the Echidna learning curve to zero; CI-friendly corpus caching is the hook.

forkfuzz is single-purpose, scriptable, and self-hostable: point it at a target, get prioritized results in the format your workflow already speaks (table · JSON · SARIF), gate CI on it, and let agents drive it over MCP.

Features

  • ✅ Safe Eval
  • ✅ Parse Spec
  • ✅ Load Spec
  • ✅ Run Sequence
  • ✅ Fuzz
  • ✅ Runs on Linux/macOS/Windows · Docker · devcontainer
  • ✅ Ports in Python, JavaScript, Go, and Rust (ports/)

Quick start

pip install cognis-forkfuzz
forkfuzz --version
forkfuzz scan .                       # scan current project
forkfuzz scan . --format json         # machine-readable
forkfuzz scan . --fail-on high        # CI gate (non-zero exit)

Example

$ forkfuzz scan .
  [HIGH    ] FOR-001  example finding             (./src/app.py)
  [MEDIUM  ] FOR-002  another signal              (./config.yaml)

  2 findings · risk score 5 · 38ms

Architecture

flowchart LR
  IN[input] --> P[forkfuzz<br/>analyze + score]
  P --> OUT[report]

Use it from any AI stack

forkfuzz is interoperable with every popular way of using AI:

  • MCP serverforkfuzz mcp (Claude Desktop, Cursor, Cognis.Studio, uncensored-fleet)
  • OpenAI-compatible / JSON — pipe forkfuzz scan . --format json into any agent or LLM
  • LangChain · CrewAI · AutoGen · LlamaIndex — wrap the CLI/JSON as a tool in one line
  • CI / scripts — exit codes + SARIF for non-AI pipelines

How it compares

Cognis forkfuzz Foundry (forge) invariant testing
Self-hostable, no account varies
Single command, zero config ⚠️
JSON + SARIF for CI varies
MCP-native (AI agents)
Polyglot ports (JS/Go/Rust)
Open license ✅ COCL varies

Built in the spirit of Foundry (forge) invariant testing / Echidna, re-framed the Cognis way. Missing a credit? Open a PR.

Integrations

Pipes into your stack: SARIF for code-scanning, JSON for anything, an MCP server (forkfuzz mcp) for AI agents, and a webhook forwarder for SIEM/Slack/Jira. See docs/INTEGRATIONS.md.

Install — every way, every platform

pip install "git+https://github.com/cognis-digital/forkfuzz.git"    # pip (works today)
pipx install "git+https://github.com/cognis-digital/forkfuzz.git"   # isolated CLI
uv tool install "git+https://github.com/cognis-digital/forkfuzz.git" # uv
pip install cognis-forkfuzz                                          # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/forkfuzz:latest --help        # Docker
brew install cognis-digital/tap/forkfuzz                             # Homebrew tap
curl -fsSL https://raw.githubusercontent.com/cognis-digital/forkfuzz/main/install.sh | sh
Linux macOS Windows Docker Cloud
scripts/setup-linux.sh scripts/setup-macos.sh scripts/setup-windows.ps1 docker run ghcr.io/cognis-digital/forkfuzz DEPLOY.md (AWS/Azure/GCP/k8s)

Related Cognis tools

  • reentryx — Static + symbolic detector that flags reentrancy, cross-function, and read-only reentrancy paths in Solidity/Vyper with CI-gating SARIF output.
  • approvewarden — Scans any wallet for dangerous ERC-20/721/1155 token approvals and infinite allowances, scoring drainer exposure and emitting revoke transactions.
  • mevscope — Replays a tx or address history to attribute sandwich, frontrun, and backrun MEV extraction with per-trade loss accounting.
  • rugradar — Token contract risk scanner detecting honeypots, hidden mint/blacklist functions, owner backdoors, and unlocked liquidity before you ape.
  • storagelens — Diffs and decodes contract storage layouts across proxy upgrades to catch storage-collision and uninitialized-slot bugs.
  • sigsleuth — Decodes raw calldata and EIP-712 typed-data into human-readable intent, flagging blind-signing and malicious permit/Permit2 payloads.

Explore the suite → 🗂️ all 170+ tools · ⭐ awesome-cognis · 🔗 cognis-sources · 🤖 uncensored-fleet · 🧠 engram

Contributing

PRs, new rules, and demo scenarios are welcome under the collaboration-pull model — see CONTRIBUTING.md and SECURITY.md.

⭐ If forkfuzz saved you time, star it — it genuinely helps others find it.

Interoperability

{} composes with the 300+ tool Cognis suite — JSON in/out and a shared OpenAI-compatible /v1 backbone. See INTEROP.md for the suite map, composition patterns, and reference stacks.

License

Source-available under the Cognis Open Collaboration License (COCL) v1.0 — free for personal, internal-evaluation, research, and educational use; commercial / production use requires a license ([email protected]). See LICENSE.


Cognis Digital · one of 170+ tools in the Cognis Neural Suite · Making Tomorrow Better Today

from github.com/cognis-digital/forkfuzz

Install Forkfuzz in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install forkfuzz

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add forkfuzz -- uvx --from git+https://github.com/cognis-digital/forkfuzz cognis-forkfuzz

Step-by-step: how to install Forkfuzz

FAQ

Is Forkfuzz MCP free?

Yes, Forkfuzz MCP is free — one-click install via Unyly at no cost.

Does Forkfuzz need an API key?

No, Forkfuzz runs without API keys or environment variables.

Is Forkfuzz hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Forkfuzz in Claude Desktop, Claude Code or Cursor?

Open Forkfuzz on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

$5

Stripe

Payments, customers, subscriptions

Stripeby Stripe

malamutemayhem/unclick-agent-native-endpoints

110+ tools for AI agents spanning social media, finance, gaming, music, AU-specific services, and utilities. Zero-config local tools plus platform connectors. n

malamutemayhemby malamutemayhem

whiteknightonhorse/APIbase

Unified API hub for AI agents with 56+ tools across travel (Amadeus, Sabre), prediction markets (Polymarket), crypto, and weather. Pay-per-call via x402 micropa

whiteknightonhorseby whiteknightonhorse

trackerfitness729-jpg/sitelauncher-mcp-server

Deploy live HTTPS websites in seconds. Instant subdomains ($1 USDC) or custom .xyz domains ($10 USDC) on Base chain. Templates for crypto tokens and AI agent pr

trackerfitness729-jpgby trackerfitness729-jpg

embeddedlayers/mcp-analytics

Statistical analysis, forecasting, and ML for business data (Shopify, Stripe, WooCommerce, eBay, GA4, Search Console). Upload a CSV or connect live data sources

embeddedlayersby embeddedlayers

carrierone/verilexdata-mcp

20 structured datasets (NPI healthcare, SEC filings, OFAC sanctions, crypto whales, Polymarket signals, patents, economic indicators) via x402 pay-per-query wit

carrieroneby carrierone

tipdotmd/tip-md-x402-mcp-server

MCP server for cryptocurrency tipping through AI interfaces using x402 payment protocol and CDP Wallet.

tipdotmdby tipdotmd

laundromatic/shopgraph

Structured product data from the open web — Schema.org + AI extraction for e-commerce enrichment. Pay per call via Stripe. [shopgraph.dev](https://shopgraph.dev

laundromaticby laundromatic

mrslbt/xendit-mcp

Xendit payment gateway for Southeast Asia. Invoices, disbursements, balance checks, and bank transfers across Indonesia, Philippines, Thailand, Vietnam, and Mal

mrslbtby mrslbt

@arbitova/mcp-server

Non-custodial on-chain escrow + AI dispute arbitration for agent-to-agent USDC payments on Base. Seven tools covering the full EscrowV1 contract surface: create

jiayuanliang0716-maxby jiayuanliang0716-max

Compare Forkfuzz with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All finance MCPs