rusty-FUME is a fuzzer inspired by FUME. The idea is to have a fuzzer that can fuzz any MQTT Broker with high performance, leading it to crash, meaning we have found a bug. To do this we transform MQTT Packets, applying transformations on them like adding, removing or replacing bytes.
I originally intended the base to be fairly protocol independent, relying on AsyncRead and AsyncWrite but as can probably be seen by the code in the network module i struggled with that for a bit due to either AsyncWrite not being object safe, traits not being implemented for some protocols or TLS errors without documentation. However even without utilizing different protocols the broker still successfully found a few bugs in the MQTT brokers tested.
Any code feedback(also general feedback) is welcome. I'd love to hear what i can improve!