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 #120

Open
nathaniel-brough opened this issue May 19, 2023 · 0 comments
Open

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

nathaniel-brough opened this issue May 19, 2023 · 0 comments

Comments

@nathaniel-brough
Copy link

Hey, first of all I'd like to thank you for all your great work with base64, I'd like to help improve the security/reliability by adding some fuzz testing. In addition I'd like to suggest adding base64 to google/oss-fuzz. If you aren't familiar with fuzz testing, here is a bit of a run down (from Wikipedia);

In programming and software development, fuzzing or fuzz testing is an automated software testing technique that involves providing invalid, unexpected, or random data as inputs to a computer program. The program is then monitored for exceptions such as crashes, failing built-in code assertions, or potential memory leaks.

In short these fuzz-testing will complement your unit-test suite by finding those otherwise hard-to-find edge cases before releasing. Unless you think you've already found all the edge cases 😅?

Google offers a free continuous fuzzing service called OSS-fuzz. If base64 is integrated into oss-fuzz, the fuzz tests under base64 will be built and then run once a day, to search for bugs and vulnerabilities in base64. This service can be integrated with the CI for base64, so that the fuzz tests are run for 10min or so for every pull request, preventing buggy code from being merged.

I've opened up a pull request to add a basic fuzz-testing harness here #119. If you are keen on adding base64 to oss-fuzz I'd be happy to champion the integration :)

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

1 participant