Features:
- Feature #2885 Include package URLs (
purl) in JSON output when available. - Feature #2589 Add shorter
--x-flag aliases and deprecate--experimental-flags. - Feature #3113 Include vulnerability severity and rating in CycloneDX output when available.
- Feature #3102 Enable Dart
package_config.json(dart/packageconfig) extractor by default for lockfile scans (google/osv-scalibr#2295). - Dependency scanning & lockfile improvements via
osv-scalibr:- Add best-effort Maven property pre-interpolation for dependency versions and in-memory caching for Maven resolution.
- Support scanning Bitnami container SPDX SBOMs (
sbom/spdx) (google/osv-scalibr#2156). - Add MinimOS ecosystem mapping to the APK extractor (
os/apk) (google/osv-scalibr#2406). - Apply
--max-file-sizelimit to container image contents and tag container image layers with Buildpacks lifecycle metadata.
- New extractors and plugin support via
osv-scalibr:- Added
zig/buildzigzon(build.zig.zon, google/osv-scalibr#1841), available via--x-plugins(--experimental-plugins). See "Supported Inventory Types" for the extractor name.
- Added
Fixes:
- Bug #3137 Delegate package normalization to
osv-scalibr'sosvutilto preserve Maven group IDs in CycloneDX SBOMs so fixed versions are properly reported (fixes #3099). - Bug #3135 Prevent network-requiring plugins (such as base image enrichment) from running when
--offlineis combined with--download-offline-databases. - Bug #3134 Preserve call analysis information when diffing vulnerability results.
- Bug #3121 Wrap
[[PackageOverrides]]ecosystem suffix alternatives in a non-capturing group soEcosystemregex matching applies correctly to all variants (fixes #3120). - Bug #3103 Sort packages by location before applying config annotations for deterministic log output order during recursive scans.
- Bug #3087 Group output packages by exact ecosystem name to prevent duplicate entries when ecosystems share a prefix (e.g.
AlpineandAlpine:v3.18) (fixes #3086). - Fixes via
osv-scalibr:- Skip OSV queries for local npm packages (
file:, workspace, and local tarballs) and avoid extracting bogus versions or commits forfile:and URL-based dependencies inbun.lock(google/osv-scalibr#2443, google/osv-scalibr#2444). - Restrict
#commitfragment extraction in JS lockfiles to Git-based dependency resolutions (google/osv-scalibr#2448). - Prevent slice-bounds panic in
javascript/pnpmlockon malformed scoped dependency paths (google/osv-scalibr#2263). - Emit valid Hackage PURLs (
pkg:hackage/...) and addHackageOSV ecosystem mapping for Haskell (cabalandstack.yaml.lock) extractors (google/osv-scalibr#2419). - Match Python
setup.pypackage names containing-,., and_(google/osv-scalibr#2162). - Reject invalid ZIP64 sizes and bound metadata reads in
python/wheelegg(google/osv-scalibr#2012). - Confine Maven registry disk cache writes with
os.Rootto prevent path traversal (google/osv-scalibr#2398). - Compare PURL namespaces case-insensitively during OSV vulnerability matching (e.g. for Go modules with uppercase characters) (google/osv-scalibr#2456).
- Skip advisory
affectedentries with unrecognized ecosystems in local OSV matcher instead of aborting matching for the advisory (google/osv-scalibr#2429). - Fix WordPress plugin name extraction from directory name and restrict scanning to immediate subdirectories of
wp-content/plugins(google/osv-scalibr#2424, google/osv-scalibr#2445). - Fix 32-bit
statfsblock size overflow when checking filesystem types on 32-bit architectures (google/osv-scalibr#2439).
- Skip OSV queries for local npm packages (
Misc:
- Update
osv-scalibrtov0.5.4-0.20261009010329-5be78a00e3c2(#3123, #3089, #3137). - Remove unused root
Dockerfile(#3130).
New Contributors
- @sanjay20m made their first contribution in #3102
- @manenim made their first contribution in #3133
Full Changelog: v2.6.0...v2.7.0