What problem does it solve?
This Skill helps you reliably test Nim code against unexpected, malformed, or adversarial byte inputs by wiring your code to libFuzzer and turning failures into actionable crash artifacts.
Core Features & Use Cases
- libFuzzer harness wiring: Builds the required Nim
initialize() and testOneInput() procs so fuzz inputs reach your parsing or protocol/format handler.
- Correct mutation integration: Supports raw byte-to-typed extraction patterns and optional structure-aware
customMutator / customCrossOver to improve discovery for structured formats.
- End-to-end crash triage: Reproduces crashes in standalone mode, minimizes failing inputs, isolates with ASan/UBSan, and guides how to classify findings.
Use case: When adding a parser for a custom binary protocol, use this Skill to catch out-of-bounds reads, integer overflows, and assertion failures by fuzzing the handler with a seed corpus and iterating on harness and mutators.
Quick Start
Use the nim-fuzzing skill to create a libFuzzer-enabled Nim harness that exposes the required initialize and testOneInput exports for your untrusted input entry point.