Grammar-based mutation
Umberto
Structured-data mutator for JSON, XML, X.509, and other grammar-shaped inputs.
View on GitHub
trailofbits/umberto
Best for
Fuzzing scenarios where preserving structure is more valuable than raw noise.
Surface
Grammar-based mutation
Catalog group
Model strange files, parsers, and data flow
Repository
trailofbits/umberto
From the README
Umberto is a library designed for mutating generic structured data (e.g., JSON, XML, X.509) and a command line application wrapping this functionality. It can apply a variety of mutations, synthesize totally new values, and apply existing mutators (e.g. Radamsa) to structure components. If you're trying to perform grammar-based fuzzing, you might find it very useful.Read the full README on GitHub ↗
Related tools · Model strange files, parsers, and data flow
- Graphtage Semantic diff and merge tooling for tree-shaped data such as JSON, YAML, HTML, plist, and CSS.
- Polyfile Maps the semantic structure of files, including polyglots and other intentionally confusing inputs.
- PolyTracker LLVM-based data-flow and control-flow analysis that records how program logic touches specific input bytes.
- mishegos Differential fuzzer for x86 decoders built to expose disagreements between analysis tools.
- Honeybee Intel Processor Trace capture and decoding suite tuned for high-throughput source and blackbox fuzzing.