zeroclaw/.github
Alex Gorevski 217a700bfa
ci: add fuzz testing workflow and harnesses (#629)
Problem: Security-critical parsing surfaces (config loading, tool
parameter deserialization) have no fuzz testing coverage. Malformed
inputs to these surfaces could cause panics, memory issues, or
unexpected behavior in production.

Solution: Add a weekly cargo-fuzz CI workflow with two initial
harnesses:
- fuzz_config_parse: fuzzes TOML config deserialization
- fuzz_tool_params: fuzzes JSON tool parameter parsing

The workflow runs each target for 300 seconds (configurable via
workflow_dispatch input), uses nightly Rust toolchain (required by
libfuzzer), and uploads crash artifacts for triage with 30-day
retention. Step summaries report pass/fail status per target.

Files added:
- .github/workflows/fuzz.yml (scheduled + manual dispatch)
- fuzz/Cargo.toml (fuzz crate manifest)
- fuzz/fuzz_targets/fuzz_config_parse.rs
- fuzz/fuzz_targets/fuzz_tool_params.rs

Testing: Validated YAML syntax and Cargo.toml structure. Fuzz
harnesses use standard libfuzzer-sys patterns. Actual fuzzing
will execute on first scheduled or manual CI run.

Ref: zeroclaw-labs/zeroclaw#618 (item 4 — Fuzz Testing)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-17 15:12:08 -05:00
..
codeql Standardize security workflow and enhance CodeQL analysis (#479) 2026-02-17 00:10:46 -05:00
ISSUE_TEMPLATE fix(templates): quote Yes/No dropdown options in feature_request.yml (#575) 2026-02-17 13:31:12 -05:00
workflows ci: add fuzz testing workflow and harnesses (#629) 2026-02-17 15:12:08 -05:00
actionlint.yaml fix(actionlint): adjust indentation for self-hosted runner labels 2026-02-16 17:59:32 -05:00
CODEOWNERS chore: update CODEOWNERS for memory, docs and CI governance 2026-02-18 00:56:55 +08:00
dependabot.yml ci(dependabot): add Docker ecosystem monitoring (#633) 2026-02-17 15:11:31 -05:00
label-policy.json ci(workflows): consolidate policy and rust workflow setup (#564) 2026-02-17 11:35:20 -05:00
labeler.yml docs: strengthen collaboration governance and AGENTS engineering protocol (#263) 2026-02-16 05:59:04 -05:00
pull_request_template.md chore(labeler): normalize module labels and backfill contributor tiers (#462) 2026-02-17 08:25:50 -05:00