Features:
- Feature #2815 Add support for the CycloneDX 1.7 specification (bumps
cyclonedx-goto v0.11.0). - Feature #2799 Enable
.csprojand Central Package Management (nugetcpm) source scanning plugins by default. - Feature #2871 Extract and parse Alpine OS distro version (e.g.
Alpine:v3.17,Alpine:edge) from PURLdistroqualifiers to scan packages under their respective Alpine ecosystems. - Feature #2801 Enable the
swift/packageresolvedplugin by default to support SwiftURL vulnerability scans. - Feature #2666 Add a Docker-based variant of the pre-commit hook in
.pre-commit-hooks.yamlto avoid local compilation. - Feature #2637 Add a new configuration setting
ScanGoModVersion(disabled by default) to avoid parsing toolchain version directives directly fromgo.mod, preventing misleading warnings. - Feature #2772 Scan container images built with Canonical Chisel by enabling the
os/chiselextractor plugin.
Fixes:
- Bug #2807 Sanitize package name, source, and version fields in the vertical output format to prevent GitHub Actions workflow command injection vulnerabilities from crafted lock files.
- Bug #2876 Improve HTML scan report usability by supporting standard click modifiers (Ctrl/Cmd/middle click) to open vulnerabilities in new tabs, and preserving scroll position when switching tabs.
- Bug #2783 Keep transitive dependency scanning enabled when specifying the
--offline-vulnerabilitiesflag. - Bug #2808 Deduplicate equivalent OSV matcher requests before executing bulk queries to reduce API overhead.
- Bug #2837 Prevent panics during offline matcher scans (e.g. on unsupported
GitHub Actionsecosystem) by avoiding parsing errors when checking version ranges. - Bug #2836 Ensure the scanner returns an exit code of
0when--helpor-his explicitly requested.
Misc:
- Update Go version to 1.26.4.
- Update
osv-scalibrtov0.4.6-0.20260612031204-164402d9140e. - Tag built Docker and GitHub Action images with the major version (e.g.
:v2) to allow users to pin to a major version (#2857).
New Contributors
- @herdiyana256 made their first contribution in #2801
- @zhijie-yang made their first contribution in #2772
- @francose made their first contribution in #2837
- @rohan-patnaik made their first contribution in #2808
- @evilgensec made their first contribution in #2807
- @gotgolem made their first contribution in #2783
- @Khuzaimx made their first contribution in #2857
Full Changelog: v2.3.8...v2.4.0