A fuzzing module for the UDS protocol, as a CaringCaribou contribution. It includes the following sub-functions:
seed_randomness_fuzzer: Supply the seed request process used by the target ECU and fuzz it to test for possible duplicates after a supplied Hard ECUReset (with flexibility on the reset method implementation), which means that the device is possibly vulnerable.
delay_fuzzer: This is more of an exploitation sub-function, where a seed request process is supplied, alongside the seed from a single seed/key pair that a tester has acquired. The fuzzer repeats the process by incrementing the delay after each iteration and stops when the correct seed is requesting, giving the delay which was used.