-
openapi-fuzzer
Black-box fuzzer that fuzzes APIs based on OpenAPI specification. Find bugs for free!
Hi, I'm working on a fuzzer, that fuzzes APIs based on OpenAPI specification. I'd like to implement shrinking. It means that when an interesting input (for the API) is found, I'd like to create the smallest possible input that still causes the same behaviour of the API. I'd like to implement a payload generation via proptest, because it already has the shrinking ability. I'm having issues implementing the JSON object as a proptest strategy. Here is what I tried so far. I explained it in a detail in stackoverflow question but it did not reach many people. Thanks for your help!
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Hi, I'm working on a fuzzer, that fuzzes APIs based on OpenAPI specification. I'd like to implement shrinking. It means that when an interesting input (for the API) is found, I'd like to create the smallest possible input that still causes the same behaviour of the API. I'd like to implement a payload generation via proptest, because it already has the shrinking ability. I'm having issues implementing the JSON object as a proptest strategy. Here is what I tried so far. I explained it in a detail in stackoverflow question but it did not reach many people. Thanks for your help!
-
It seems the cursors API is still considered experimental: https://github.com/rust-lang/rust/issues/58533, presumably because there's still some disagreement about what the API should be.
-
Ah right they have an example right there that uses crossterm to get user input: https://github.com/fdehau/tui-rs/blob/master/examples/user_input.rs
-
-
tokio
A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
Tokio is a popular and well supported async runtime for rust. You can go to the Learn page to start browsing the tutorials. There are tutorials on I/O and Framing. The Framing section should address your points 2+3, as it also demonstrates some usage of the bytes crate, which is the common solution to handling growable byte buffers with minimal copying.