Skip to content

Add fuzzing targets for snappy-java#721

Draft
vishalcoc44 wants to merge 28 commits into
xerial:mainfrom
vishalcoc44:adding-new-fuzzers
Draft

Add fuzzing targets for snappy-java#721
vishalcoc44 wants to merge 28 commits into
xerial:mainfrom
vishalcoc44:adding-new-fuzzers

Conversation

@vishalcoc44
Copy link
Copy Markdown

With this PR we will be fuzzing targets to enable continuous security testing via CIFuzz and OSS-Fuzz.

Summary

  • SnappyCombinedFuzzer covers the Raw API, Framed streams, CRC32C, Block streams, Util methods, Hadoop streams, and ByteBuffer APIs.
  • BitShuffleFuzzer covers the BitShuffle algorithm.
  • SnappyStreamFuzzer covers Snappy framed streams.

Files Added

.github/workflows/cifuzz.yml
src/test/java/org/xerial/snappy/fuzz/SnappyCombinedFuzzer.java
src/test/java/org/xerial/snappy/fuzz/BitShuffleFuzzer.java
src/test/java/org/xerial/snappy/fuzz/SnappyStreamFuzzer.java

Key Points

Minimal footprint: Only 3 fuzzers added to keep the codebase lean.
No build changes: Works seamlessly with the existing sbt build system.
CIFuzz ready: Includes a dedicated GitHub Actions workflow for automated testing.
Broad coverage: The combined fuzzer alone covers 8 different APIs.

All fuzzers currently compile successfully and are ready for integration.

Loading
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.

1 participant