Files
optimclaw/fuzz/README.md
T
OutBack Dingo 6d9dbbb3b9 fork: rename IronClaw → OptimClaw
Full rename of all identifiers, filenames, and references:
  ironclaw → optimclaw
  IronClaw → OptimClaw
  IRONCLAW → OPTIMCLAW
  ironclaw_common → optimclaw_common
  ironclaw_safety → optimclaw_safety

Upstream: nearai/ironclaw
2026-03-29 06:27:52 +07:00

38 lines
1.1 KiB
Markdown

# OptimClaw Fuzz Targets
Fuzz testing for OptimClaw code paths that depend on the full crate, using [cargo-fuzz](https://github.com/rust-fuzz/cargo-fuzz) (libFuzzer).
> **Note:** Safety-specific fuzz targets (sanitizer, validator, leak detector, credential detect) have moved to `crates/optimclaw_safety/fuzz/`. See that directory's README for details.
## Targets
| Target | What it exercises |
|--------|-------------------|
| `fuzz_tool_params` | Tool parameter and schema JSON validation |
## Setup
```bash
cargo install cargo-fuzz
rustup install nightly
```
## Running
```bash
# Run a specific target (runs until stopped or crash found)
cargo +nightly fuzz run fuzz_tool_params
# Run with a time limit (5 minutes)
cargo +nightly fuzz run fuzz_tool_params -- -max_total_time=300
```
## Adding New Targets
1. Create `fuzz/fuzz_targets/fuzz_<name>.rs` following the existing pattern
2. Add a `[[bin]]` entry in `fuzz/Cargo.toml`
3. Create `fuzz/corpus/fuzz_<name>/` for seed inputs
4. Exercise real OptimClaw code paths, not just generic serde
For safety-only targets, add them to `crates/optimclaw_safety/fuzz/` instead.