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.