Skip to content

ci: add nightly ClusterFuzzLite fuzzing and corpus pruning - #1128

Merged
cmainas merged 1 commit into
urunc-dev:main-pr1128from
pocopepe:feat/fuzz-ci
Oct 27, 2026
Merged

cmainas merged 1 commit into
urunc-dev:main-pr1128from
pocopepe:feat/fuzz-ci

Conversation

@pocopepe

Copy link
Copy Markdown
Contributor

Description

Sets up ClusterFuzzLite with a 30 min nightly fuzzing run and a 10 min daily corpus prune. Targets are listed manually in build.sh for now, matching what runc does, with plans to detect them automatically once the preliminary testing is over.

The token gets actions: read so ClusterFuzzLite can fetch the stored corpus from the workflow's artifacts between runs. The Dockerfile clones main like runc's, so runs fuzz main rather than the PR.

The pull_request trigger is only there so it runs on this draft, and goes away once we switch to nightly.

Related issues

How was this tested?

Ran the same build in the OSS-Fuzz Go builder image locally: FuzzGetUnikernelConfig built and fuzzed with no crash

LLM usage

Opus 5.5 was used in final checks and cleaning up the code.

Checklist

  • I have read the contribution guide.
  • The linter passes locally (make lint).
  • The e2e tests of at least one tool pass locally (make test_ctr, make test_nerdctl, make test_docker, make test_crictl).
  • If LLMs were used: I have read the llm policy.

@netlify

netlify Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for urunc ready!

Name Link
🔨 Latest commit e18aa06
🔍 Latest deploy log https://app.netlify.com/projects/urunc/deploys/6adf72eaa68f82277a85af76
😎 Deploy Preview https://deploy-preview-1128--urunc.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@pocopepe
pocopepe marked this pull request as ready for review October 19, 2026 13:25

@cmainas cmainas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hello @pocopepe ,

the CI worked well, so we can merge that. I have added a few comments.

Comment thread .clusterfuzzlite/Dockerfile Outdated
@@ -0,0 +1,4 @@
FROM gcr.io/oss-fuzz-base/base-builder-go
RUN git clone --depth 1 https://github.com/urunc-dev/urunc

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

we can do a copy instead of cloning here.

Comment thread .github/workflows/fuzz_nightly.yml Outdated
name: urunc fuzzing (nightly)

on:
pull_request:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Let's drop this and make it run like nightly testing https://github.com/urunc-dev/urunc/blob/main/.github/workflows/ci_nightly.yml#L6

Comment thread .clusterfuzzlite/Dockerfile Outdated
@@ -0,0 +1,4 @@
FROM gcr.io/oss-fuzz-base/base-builder-go

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We should pin this to a specific version and sha.

github-token: ${{ secrets.GITHUB_TOKEN }}
language: go
mode: batch
fuzz-seconds: 1800

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Let's add one more option here output-sarif: true

schedule:
- cron: '30 1 * * *'

permissions:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We should also give security-events: write permissions to report fuzzing failures.

@pocopepe

Copy link
Copy Markdown
Contributor Author

Made the necessary changes :)

@cmainas

cmainas commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Hello @pocopepe ,

you will need to add the license headers as well.

@pocopepe

Copy link
Copy Markdown
Contributor Author

Hi @cmainas, added the license headers

@cmainas

cmainas commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Thank you @pocopepe , there are also some conflicts that need to get resolved.

@pocopepe

Copy link
Copy Markdown
Contributor Author

Hey hey @cmainas, Sorry about the delay, I just patched it.

@cmainas

cmainas commented Oct 26, 2026

Copy link
Copy Markdown
Contributor

Hello @pocopepe ,

please do not forget to change the runners to 24.04 and rebase over main due to some new conflicts.

Refs: urunc-dev#852
Signed-off-by: viju <avijusanjai@gmail.com>
@pocopepe

Copy link
Copy Markdown
Contributor Author

Hi @cmainas, thanks for the review. I've pushed in the final changes

@urunc-bot
urunc-bot Bot changed the base branch from main to main-pr1128 October 27, 2026 14:53

@cmainas cmainas left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you @pocopepe

@cmainas
cmainas merged commit 3f8809e into urunc-dev:main-pr1128 Oct 27, 2026
35 checks passed
github-actions Bot pushed a commit that referenced this pull request Oct 27, 2026
PR: #1128
Refs: #852
Signed-off-by: viju <avijusanjai@gmail.com>
Reviewed-by: Charalampos Mainas <cmainas@nubificus.co.uk>
Approved-by: Charalampos Mainas <cmainas@nubificus.co.uk>
urunc-bot Bot pushed a commit that referenced this pull request Oct 27, 2026
PR: #1128
Refs: #852
Signed-off-by: viju <avijusanjai@gmail.com>
Reviewed-by: Charalampos Mainas <cmainas@nubificus.co.uk>
Approved-by: Charalampos Mainas <cmainas@nubificus.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants