Skip to content

Conversation

AdamKorcz
Copy link
Contributor

This PR adds a fuzzer.

Fuzzing is a way of testing programs whereby pseudo-random data is passed to a target function with the goal of finding bugs and vulnerabilities.

I have been working on running this fuzzer continuously on OSS-fuzz's platform, and I will be happy to integrate go-redis into the project so that this fuzzer can run continuously. OSS-fuzz is a free service for open source projects, and if bugs are found an email with a link to a detailed bug report is sent out to the maintainers on the mailing list. The mailing list is public and can be changed at any time, and there is a public disclosure policy of 90 days.

@AdamKorcz
Copy link
Contributor Author

I have setup the integration with OSS-fuzz on the OSS-fuzz side here: google/oss-fuzz#4750.

Once the fuzzer is merged here on the go-redis repository, I will run the tests on the OSS-fuzz side so they can complete successfully.

Once go-redis has setup continuous fuzzing by way of OSS-fuzz, Google will run all go-redis' fuzzers continuously and send out bug reports in case any bugs should be found. While the service is free, it is offered with an implied expectation that bugs are fixed, so that the resources spent on fuzzing go-redis are put to good use.

OSS-fuzz has a public disclosure policy of 90 days.

@vmihailenco
Copy link
Collaborator

@AdamKorcz First sorry for not responding earlier.

I am not sure I will have much time fixing issues that can be found by this fuzzer. But I don't mind to try this out. So if you are still interested - please ping me on this thread.

@AdamKorcz
Copy link
Contributor Author

@vmihailenco Sounds good, let's give it a go!

@@ -0,0 +1,46 @@
// +build gofuzz

package redis
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am going to move this go redis/fuzz sub-package just in case. Hopefully it does not break anything.

@vmihailenco vmihailenco merged commit 0abfa60 into redis:master Feb 4, 2021
@vmihailenco
Copy link
Collaborator

Merged but with one change

renamed:    fuzz.go -> fuzz/fuzz.go

Let me know if I need to add a tag or make a release.

@AdamKorcz
Copy link
Contributor Author

It should work. I will test it out. Which email can we use for bug reports?

@vmihailenco
Copy link
Collaborator

Mine is vladimir.webdev at gmail.com .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants