name: radamsa description: "Auth/lab ref: General-purpose mutation engine for generating malformed test inputs." license: MIT compatibility: "Cross-platform builds; canonical source is GitLab." metadata: author: GitHub Copilot version: "1.1"
radamsa
Mutation-focused fuzzer/generator: excellent as an input transformer in pipelines.
Quick Start
# Example mutation from file -> stdout
radamsa seed.bin > mutated.bin
# Batch generate samples
radamsa -n 100 -o out-%n.bin seeds/*
Operator Flow
- Collect representative seed samples (multiple real-world variants).
- Generate mutations in deterministic mode when triaging (
--seed). - Pipe outputs into target/harness and monitor crash/timeout/resource metrics.
- Preserve crashing case + seed metadata.
- Replay with identical seed/options before root-cause analysis.
Best Pattern
- Use Radamsa as a feeder into:
- web fuzzers,
- API clients,
- parser harnesses,
- protocol replay tools.
- Keep reproducibility via controlled seeds when triaging (
--seedpatterns).
Practical Tricks
- Use
%noutput patterns with-oto preserve one-file-per-testcase workflows. - Prefer many diverse seeds over one huge synthetic seed.
- For network workflows, pair with replay harnesses or server/client output modes supported by Radamsa.
- Start broad first, then constrain mutator options only if throughput or relevance requires it.
Common Pitfalls
- Treating Radamsa as coverage-guided: it is mutation-focused, not coverage-native.
- Ignoring seed quality; weak seeds produce weak campaigns.
- Running unreproducible random campaigns without seed tracking.
Notes
- GitHub mirror is stale; upstream moved to GitLab.
- Strong complement to coverage-guided engines (AFL++/libFuzzer/honggfuzz).