[project] name = "fuzzforge-cargo-fuzzer" version = "0.1.0" description = "Runs continuous coverage-guided fuzzing on Rust targets using cargo-fuzz" authors = [] readme = "README.md" requires-python = ">=3.14" dependencies = [ "fuzzforge-modules-sdk==0.0.1", "pydantic==2.12.4", "structlog==25.5.0", ] [project.optional-dependencies] lints = [ "bandit==1.8.6", "mypy==1.18.2", "ruff==0.14.4", ] tests = [ "pytest==9.0.2", ] [project.scripts] module = "module.__main__:main" [tool.uv.sources] fuzzforge-modules-sdk = { workspace = true } [tool.uv] package = true # FuzzForge module metadata for AI agent discovery [tool.fuzzforge.module] identifier = "fuzzforge-cargo-fuzzer" category = "fuzzer" language = "rust" pipeline_stage = "fuzzing" pipeline_order = 3 suggested_predecessors = ["fuzzforge-harness-tester"] continuous_mode = true typical_duration = "continuous" use_cases = [ "Run continuous coverage-guided fuzzing with libFuzzer", "Execute cargo-fuzz on validated harnesses", "Produce crash artifacts for analysis", "Long-running fuzzing campaign" ] common_inputs = [ "validated-harnesses", "Cargo.toml", "rust-source-code" ] output_artifacts = [ "crashes/", "coverage-data/", "corpus/", "fuzzing-stats.json" ] output_treatment = "Show fuzzing-stats.json as a live summary with total_executions, exec/sec, coverage_percent, and crashes_found. List files in crashes/ directory if any crashes found. The corpus/ and coverage-data/ directories are artifacts for downstream modules, don't display their contents."