Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate with google/oss-fuzz for continuous fuzz testing #907

Open
silvergasp opened this issue Dec 23, 2023 · 3 comments
Open

Integrate with google/oss-fuzz for continuous fuzz testing #907

silvergasp opened this issue Dec 23, 2023 · 3 comments

Comments

@silvergasp
Copy link
Contributor

Hey Yann,

I hope this message finds you well. I've been using xxHash without knowing it for some time as a third party dependency. I'd like to suggest and champion an effort to set up some basic fuzz-testing and combine it with google/oss-fuzz for continuous fuzzing. I'm fully aware that you are a busy person and I don't want to overload your review/maintenance capacity by introducing too many new ideas. Is this a bad time to discuss potential security/reliability improvements?

If your not familiar with fuzzing or google/oss-fuzz I've included a few brief notes below.

Benefits of Fuzz-Testing

  • Dynamic Code Testing: Fuzz-testing challenges systems with unexpected data, aiming to identify vulnerabilities. It’s akin to an exhaustive stress-test for the code.
  • Detecting Hidden Vulnerabilities: It can uncover potential weaknesses that may not be evident in routine tests.
  • Continuous and Automated Testing: With tools like Google’s OSS-Fuzz, fuzz-testing can be automated, running continuously on distributed systems, ensuring daily resilience checks.

Google/oss-fuzz for Continuous Fuzzing

  • Automated Fuzzing: OSS-Fuzz undertakes comprehensive fuzz-testing daily on a distributed cluster.
  • Security Boost: It provides enhanced security measures free of cost, thanks to Google’s backing.
  • Detailed Reporting: OSS-Fuzz offers exhaustive reports in case of detected anomalies, enabling effective action.

I’d be more than happy to lead the effort in integrating fuzz testing with the xxHash and assist in any way required.

As a proof of concept I created a super simple fuzz harness in #906.

@silvergasp
Copy link
Contributor Author

@Cyan4973 as you mentioned in #906 (comment), there was interest in integrating with oss-fuzz, I've gone ahead and started the integration work in silvergasp/oss-fuzz#11.

A couple of things (in order) I'll need to complete the integration;

I should also note, that there is an application process which I can complete on your behalf, as it'll just be a PR of work that I've mostly already done. I'm reasonably confident that this project would be accepted as it's quite a popular project, but there is a non-zero chance that it'll be rejected.

@Cyan4973
Copy link
Owner

All green,
let's start the process.

@silvergasp
Copy link
Contributor Author

Easy, I've got the application process started here google/oss-fuzz#11421, that'll also serve as the initial integration.

I'll be following in the next few days with some more complete fuzz harnesses, e.g. streaming mode etc.

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

No branches or pull requests

2 participants