Skip to content

ci: add Coverity Scan static analysis workflow#5

Open
agabhin wants to merge 1 commit into
masterfrom
add-coverity-ci
Open

ci: add Coverity Scan static analysis workflow#5
agabhin wants to merge 1 commit into
masterfrom
add-coverity-ci

Conversation

@agabhin

@agabhin agabhin commented Apr 7, 2026

Copy link
Copy Markdown
Owner

Summary

Add a GitHub Actions workflow that builds libfuse with Coverity's cov-build and submits results to scan.coverity.com (free for open source projects).

Why Coverity

Coverity's inter-procedural dataflow analysis tracks values across function boundaries — the key difference from cppcheck/GCC analyzer, which tend to be intra-procedural. This matches the real bug patterns in libfuse:

Bug class Recent examples
NULL dereference CVE-2026-33150, fuse_get_context() null check
Use-after-free CVE-2026-33150 (fuse_ring freed, pointer retained in se->uring.pool)
Memory leaks pthread_setspecific, mountpoint, pipe leaks
Resource leaks fd leak in fuse_daemonize()

Setup required

Register the project at https://scan.coverity.com (free for OSS), then add two repository secrets:

Secret Value
COVERITY_SCAN_TOKEN Project token from scan.coverity.com
COVERITY_SCAN_EMAIL Email registered with the Coverity project

Workflow only runs on push to master — secrets are unavailable to fork PRs.

Add a GitHub Actions workflow that builds libfuse with cov-build and
submits results to Coverity Scan (scan.coverity.com) for inter-procedural
static analysis.

Coverity's analysis is particularly effective at tracking NULL dereferences,
use-after-free, and resource leaks across function call boundaries — the
same bug classes seen in recent CVE fixes (CVE-2026-33150, CVE-2026-33179).

Requires two repository secrets:
  COVERITY_SCAN_TOKEN  - project token from scan.coverity.com
  COVERITY_SCAN_EMAIL  - email registered with the Coverity project

Register the project at https://scan.coverity.com (free for open source).
Only runs on push to master since secrets are unavailable to fork PRs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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