-
Notifications
You must be signed in to change notification settings - Fork 63
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
Add CIFuzz GitHub Action #212
Conversation
with: | ||
oss-fuzz-project-name: "cbor2" | ||
language: python | ||
dry-run: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I enabled dry-run
for now until we confirm this Action is working as expected.
language: python | ||
fuzz-seconds: 600 | ||
output-sarif: true | ||
dry-run: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same.
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
Looks like the CIFuzz job ran successfully: https://github.com/agronholm/cbor2/actions/runs/7715192673. Let me know if you'd like to keep the |
Should I expect the current state of the job to find anything? I know there are issues in the current code base that ought to be found by a fuzzer. |
I ran the fuzzer locally for 10min (what CIFuzz is running for) and didn't produce any crashes. A fuzzer producing issues will ultimately depend on a number of factors such as fuzz time, input corpus, and code path selection. In this case, I would consider CIFuzz to be a quick sanity check that changes to C code aren't producing any trivial crashes. Whereas, I would consider OSS-Fuzz runs to be more comprehensive, longer running, and more likely to find crashes/issues. One thing I did notice in the CIFuzz run was that the coverage seemed low. It's showing |
I tried to add a possibility to run this manually, but to no avail. Any idea why |
Hmm, I think the workflow itself has to exist in the default branch before it can be manually dispatched. I think this is saying roughly the same thing: https://stackoverflow.com/questions/75250667/github-workflow-workflow-dispatch-missing-in-actions-tab. In other words, the workflow has to be merged into the default branch, then it can be manually dispatched against any branch 👍 . |
Alright, I'll deal with any issues once this has been merged. Thanks for your initiative! |
Perhaps this is causing the problem with coverage?
|
One more thing: am I wrong, or does it always run the fuzzing on the |
Hmm, I don't think so. In the CI job for this PR I see the following:
|
Now that
cbor2
has been integrated into OSS-Fuzz, I thought it would be helpful to run a short CIFuzz job on PRs. This Action is pretty much verbatim from the OSS-Fuzz CI docs here: https://google.github.io/oss-fuzz/getting-started/continuous-integration/.