moodmosaic

Blog

Arbitrary Models vs Raw Bytes

2023-06-09

Part of the Input Coverage series, comparing two fuzzing strategies: sharing Arbitrary models for domain logic vs using raw bytes for broader input coverage.

Read more →

From Crash To Test

2023-06-02

Part of the Input Coverage series, showing how to preserve crashes by turning them into unit tests to prevent regression and maintain a permanent record of discovered bugs.

Read more →

One Function To Fuzz Them All

2023-05-19

Part of the Input Coverage series, demonstrating how to create a single entry point that allows tests and fuzzers to share behavior and logic consistently.

Read more →

Panics Are Not Crashes

2023-05-12

Part of the Input Coverage series, explaining the difference between Rust panics and crashes in fuzzing contexts, and how to force crashes for proper fuzzer detection.

Read more →

Fuzzing The CSV CLI With AFL++

2023-04-28

Part of the Input Coverage series, showing how to fuzz the CSV CLI binary with AFL++ using persistent harnesses and panic=abort configuration.

Read more →

Enterprise Case 2: CSV Import CLI, Unbounded Header

2023-04-21

Part of the Input Coverage series, demonstrating how a CSV CLI trusts unbounded header values, leading to memory allocation aborts that property tests miss.

Read more →

Fuzzing The Money Parser With libFuzzer

2023-04-07

Part of the Input Coverage series, demonstrating how to add a minimal libFuzzer target to discover Unicode minus bugs in money parsing logic.

Read more →