Hasty Briefsbeta

Bilingual

Show HN: Autarkie – Instant Grammar Fuzzing Using Rust Macros

a year ago
  • #Rust
  • #Grammar
  • #Fuzzing
  • Autarkie is a native grammar fuzzer built in Rust, inspired by nautilus.
  • Acts as a drop-in replacement for arbitrary with actual grammar fuzzing.
  • Supports AFL++ and cargo-fuzz, enabling fuzzing for both Rust and C/C++ projects.
  • Easy to use with abstracted complexity and trivial integration with other fuzzers.
  • Features include no grammar maintenance, exhaustive grammar coverage, and reusable corpus.
  • Can learn from other fuzzers and has native cmplog support (almost implemented).
  • Two main walkthroughs: fuzzing AFL++ instrumented C/C++ projects and Rust projects using cargo-fuzz.
  • Example of fuzzing sqlite3 using grammar from datafusion-sqlparser-rs, showcasing Autarkie's efficiency.
  • Example of fuzzing Solana's sbpf interpreter in Rust, highlighting cargo-fuzz integration.
  • Autarkie is in beta; types must own all their data without lifetimes, limited to nightly Rust.
  • Contributions, questions, and feedback are encouraged.