Repository navigation
v0.4.10: keep SARIF pass outcomes out of vulnerability gates — feedback wanted #33
CAOShurong
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
VulnFuse v0.4.10 is available: https://github.com/CAOShurong/vulnfuse/releases/tag/v0.4.10
This release fixes a concrete SARIF interoperability problem:
results[]can contain rule outcomes, not only vulnerabilities. VulnFuse previously counted every result as active. On Microsoft BinSkim's pinnedgcc.fortified.sariffixture, five validkind: pass,level: nonerecords were therefore mixed into the active queue alongside two failures.v0.4.10 now keeps three explicit dispositions:
pass,informational, ornotApplicable).A cluster becomes non-finding only when every member is valid non-finding evidence. Missing kind still defaults to
fail;openandreviewremain active. Unknown, non-string, or contradictory kind/level values warn and remain active, and an active corroborating record always wins.GitHub code scanning does not document
result.kindin its supported SARIF subset. To avoid turning pass outcomes into hosted alerts, VulnFuse omits non-finding clusters from exportedresults[]but retains their complete audit records inrun.properties.nonFindingClusters(ornonFindingItemsfor baseline exports).Observed checks before release:
Important limit: VulnFuse trusts the producer's
result.kind. It does not rerun a rule, prove a check passed, or establish that a rule was applicable. Protect report inputs and retain scanner execution logs for consequential decisions.Feedback wanted: if a real scanner emits
result.kindin a shape that v0.4.10 classifies incorrectly, please open a sanitized format issue and include the producer/version, the smallest safe SARIF fragment, the expected disposition, and whether the report targets GitHub code scanning or another consumer: https://github.com/CAOShurong/vulnfuse/issues/new?template=format.ymlAll reactions