Skip to content

feat(fuzzing): add ClusterFuzzLite integration and initial fuzz targets - #911

Open
harshitnub077 wants to merge 1 commit into
urunc-dev:mainfrom
harshitnub077:feat-fuzzing
Open

feat(fuzzing): add ClusterFuzzLite integration and initial fuzz targets#911
harshitnub077 wants to merge 1 commit into
urunc-dev:mainfrom
harshitnub077:feat-fuzzing

Conversation

@harshitnub077

Copy link
Copy Markdown

Description

Hey everyone! This PR sets up the continuous fuzzing infrastructure using ClusterFuzzLite that I proposed in #910. This also serves as the core deliverable for the CNCF LFX Mentorship (#852).

Instead of playing whack-a-mole with edge cases in configuration parsing (like the base64 or memory truncation bugs we were tracking in #909), this PR integrates systematic fuzzing directly into our CI to catch these regressions automatically moving forward.

Here's a quick rundown of what's included:

  • GitHub Actions for CI/CD: Added cflite_pr.yml, cflite_batch.yml, and cflite_build.yml to run the fuzzers on PRs and on a daily schedule.
  • Build Environment: Added the .clusterfuzzlite directory with the necessary Dockerfile and build scripts.
  • Initial Fuzz Targets: Wrote native Go fuzz targets for our core parsers (FuzzUruncConfigFromMap, FuzzUnikernelConfigDecode, FuzzGetUnikernelConfig, FuzzBytesToStringMB, and FuzzSubnetMaskToCIDR) to establish a solid baseline.

I've tested the builds locally and everything seems to be compiling correctly.

Could one of the maintainers please add the ok-to-test label so the new CI pipelines can run? Let me know if you have any feedback or if anything needs adjusting!

Fixes: #910, #852
Addresses: #909

System info

  • Urunc version: latest/main
  • Arch: x86_64 / aarch64
  • VMM: all
  • Unikernel: all

Introduce automated fuzzing infrastructure using ClusterFuzzLite to run
continuously on GitHub Actions (PRs and batch schedules). Added native Go
fuzz targets for configuration parsing and monitor arguments:
- FuzzUruncConfigFromMap
- FuzzUnikernelConfigDecode
- FuzzGetUnikernelConfig
- FuzzBytesToStringMB
- FuzzSubnetMaskToCIDR

These targets establish a baseline that prevents regressions and will
automatically catch bugs like silent truncation and plaintext corruption
during decoding.

Fixes: urunc-dev#852
Signed-off-by: harshit kudhial <harshitkudhial@gmail.com>
Copilot AI lite review requested due to automatic review settings August 6, 2026 18:43
@netlify

netlify Bot commented Aug 6, 2026

Copy link
Copy Markdown

Deploy Preview for urunc canceled.

Name Link
🔨 Latest commit 2aadf88
🔍 Latest deploy log https://app.netlify.com/projects/urunc/deploys/6a74d5b88d30f100099a279b

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

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.

Proposal: Establish Continuous Fuzzing Infrastructure via ClusterFuzzLite

2 participants