Test descriptor parsing with fuzzed descriptors
We recently learned the hard way that there exist descriptors that are valid according to the specification that our descriptor parsers have trouble with. We should throw a bunch of fuzzed descriptors into a local Metrics instance to see if anything breaks.
This could be a trivial reader application using metrics-lib, or it could be a local Onionoo or metrics-web or ExoneraTor instance.
I'm putting this into Metrics/Library for now, because that's likely be responsible for the bulk of descriptor-parsing issues, even though there's also some parsing code in other components.
According to teor, Tor has a collection of valid and invalid directory documents. Part of the challenge here will be to tell valid and invalid documents apart. That might be a manual process.
And according to atagar, Stem now supports descriptor creation (and should have all capabilities Leekspin did). This is just in case we run out of descriptors above and feel like creating even more would be a good idea.