Skip to content

v2: cobra CLI, worker pool, AI filter & wordlist, MCP server#18

Merged
ariary merged 17 commits into
mainfrom
feature/v2
Apr 21, 2026
Merged

v2: cobra CLI, worker pool, AI filter & wordlist, MCP server#18
ariary merged 17 commits into
mainfrom
feature/v2

Conversation

@ariary
Copy link
Copy Markdown
Owner

@ariary ariary commented Apr 21, 2026

Summary

  • B1 Fix off-by-one in cartesianProduct (first entry of second wordlist was silently skipped)
  • C1 Bounded worker pool via -j/--threads (default 50) — replaces unbounded goroutine spawning
  • C3 Live progress bar ([done/total] pct%) printed to stderr
  • A1 --ai-filter flag — natural-language filter evaluated by Claude per result
  • A2 cfuzz wordlist subcommand — AI-generated wordlists piped directly into cfuzz
  • A3 cfuzz mcp subcommand — exposes cfuzz as a Model Context Protocol tool for Claude Desktop

Full CLI rewrite using cobra. Short multi-char flags (-omin, -to, -if, -sw, -oc, -ec, -Hb) replaced by long-form only (--stdout-min, --timeout, etc.).

Breaking changes

  • Removed short aliases for filter/display flags (see README)
  • go 1.23.0 minimum (required by anthropic-sdk-go)

Test plan

  • go test ./pkg/fuzz/ — cartesianProduct and PerformFuzzing tests pass
  • cfuzz -w wordlist.txt echo FUZZ — basic fuzzing works, progress bar shows
  • cfuzz -w wordlist.txt --stdout-min 5 echo FUZZ — filter works
  • cfuzz wordlist "common web paths" -n 10 — AI wordlist generation (needs ANTHROPIC_API_KEY)
  • cfuzz -w wordlist.txt --ai-filter "output is non-empty" echo FUZZ — AI filter (needs ANTHROPIC_API_KEY)
  • cfuzz mcp — MCP server starts and responds to JSON-RPC initialize

🤖 Generated with Claude Code

ariary and others added 17 commits April 21, 2026 10:42
Replace the flag-based cfuzz.go with a cobra root command split across
main.go (entry point) and root.go (flag definitions + runFuzz handler).
Also promote github.com/spf13/cobra to a direct dependency in go.mod.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ariary ariary merged commit 0c91286 into main Apr 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant