|
| 1 | +--- |
| 2 | +title: "OSV-Scanner v2.0.0-beta1 is ready! " |
| 3 | +date: 2025-01-29T00:00:00Z |
| 4 | +draft: false |
| 5 | +author: The OSV Team |
| 6 | +--- |
| 7 | + |
| 8 | +Today we’re excited to announce that the [first beta of OSV-Scanner V2](https://github.com/google/osv-scanner/releases/tag/v2.0.0-beta1) is ready! The team has been hard at work in the past months to revamp OSV-Scanner under the hood (transitioning to [OSV-Scalibr](https://github.com/google/osv-scalibr), which we [announced earlier this month](https://security.googleblog.com/2025/01/osv-scalibr-library-for-software.html)) and building several new significant features. |
| 9 | + |
| 10 | +This beta release does *not* introduce any breaking CLI changes - existing OSV-Scanner can use the tool in exactly the same way. The beta period is expected to last approximately one month. However, as this is a beta release, there may be breaking changes in the final release compared to the beta. |
| 11 | + |
| 12 | + |
| 13 | +## Layer and base image-aware container scanning |
| 14 | + |
| 15 | +A significant new feature is a rewritten, layer-aware container scanning support for Debian, Ubuntu, and Alpine container images. OSV-Scanner can now analyze container images to provide: |
| 16 | + |
| 17 | +- Layers where a package was first introduced |
| 18 | +- Layer history and commands |
| 19 | +- Base images the image is based on |
| 20 | +- OS/Distro the container is running on |
| 21 | + |
| 22 | +This layer analysis leverages [OSV-Scalibr](https://github.com/google/osv-scalibr), and supports the following OSes and languages: |
| 23 | +| Distro Support | Language Artifacts Support | |
| 24 | +| -------------- | -------------------------- | |
| 25 | +| Alpine OS | Go | |
| 26 | +| Debian | Java | |
| 27 | +| Ubuntu | Node | |
| 28 | +| | Python | |
| 29 | + |
| 30 | +Base image identification also leverages a [new experimental API](https://docs.deps.dev/api/v3alpha/#querycontainerimages) provided by deps.dev. Check out their [technical blog post](https://blog.deps.dev/base-container-image/index.html) for details on how this data is collected and queried. |
| 31 | + |
| 32 | + |
| 33 | +For usage, run the new `scan image` command: |
| 34 | + |
| 35 | +``` |
| 36 | +osv-scanner scan image <image-name>:<tag> |
| 37 | +``` |
| 38 | + |
| 39 | +Check out our [documentation](https://google.github.io/osv-scanner/usage/scan-image) for more details. |
| 40 | + |
| 41 | +## Interactive HTML output |
| 42 | + |
| 43 | +A new interactive HTML output is now available. This provides a lot more interactivity and information compared to terminal only outputs, including: |
| 44 | + |
| 45 | +- Severity breakdown |
| 46 | +- Package and ID filtering |
| 47 | +- Vulnerability importance filtering |
| 48 | +- Full vulnerability advisory entries |
| 49 | + |
| 50 | +And additionally for container image scanning: |
| 51 | + |
| 52 | +- Layer filtering |
| 53 | +- Image layer information |
| 54 | +- Base image identification |
| 55 | + |
| 56 | + |
| 57 | + |
| 58 | +## Guided Remediation for Maven pom.xml |
| 59 | + |
| 60 | +Last year we released a feature called [guided remediation](https://osv.dev/blog/posts/announcing-guided-remediation-in-osv-scanner/) for npm. We have now expanded support to Maven pom.xml. |
| 61 | + |
| 62 | +With guided remediation support for Maven, you can remediate vulnerabilities in both direct and transitive dependencies through direct version updates or overriding versions through dependency management. |
| 63 | + |
| 64 | +We’ve introduced a few new features for our Maven support: |
| 65 | + |
| 66 | +- A new remediation strategy `override` is introduced. |
| 67 | +- Support for reading and writing pom.xml files, including writing changes to local parent pom files. |
| 68 | +- Private registry can be specified to fetch Maven metadata. |
| 69 | + |
| 70 | +The guided remediation support for Maven is only available in the non-interactive mode. For basic usage, run the following command: |
| 71 | + |
| 72 | +``` |
| 73 | +osv-scanner fix --non-interactive --strategy=override -M path/to/pom.xml |
| 74 | +``` |
| 75 | + |
| 76 | +We also introduced machine readable output for guided remediation that makes it easier to integrate guided remediation into your workflow. |
| 77 | + |
| 78 | +For more usage details on guided remediation, please see our [documentation](https://google.github.io/osv-scanner/experimental/guided-remediation/). |
| 79 | + |
| 80 | +## Enhanced Dependency Extraction with `osv-scalibr` |
| 81 | + |
| 82 | +With the help from [OSV-Scalibr](https://github.com/google/osv-scalibr), we now also have expanded support for the kinds of dependencies we can extract from projects and containers: |
| 83 | + |
| 84 | +### Source manifests and lockfiles |
| 85 | + |
| 86 | +- Haskell: `cabal.project.freeze`, `stack.yaml.lock` |
| 87 | +- .NET: `deps.json` |
| 88 | +- Python: `uv.lock` |
| 89 | + |
| 90 | +### Artifacts |
| 91 | + |
| 92 | +- node_modules |
| 93 | +- Python wheels |
| 94 | +- Java uber jars |
| 95 | +- Go binaries |
| 96 | + |
| 97 | +The full list of supported formats can be found [here](https://google.github.io/osv-scanner/supported-languages-and-lockfiles/). |
| 98 | + |
| 99 | +The first beta doesn’t enable every single extractor currently available in OSV-Scalibr today. We’ll continue to add more leading up to the final 2.0.0 release. |
| 100 | + |
| 101 | +OSV-Scalibr also makes it incredibly easy to add new extractors. Please file a [feature request](https://github.com/google/osv-scalibr/issues) if a format you’re interested in is missing! |
| 102 | + |
| 103 | +## Feedback and testing |
| 104 | + |
| 105 | +You can find our latest release on GitHub [here](https://github.com/google/osv-scanner/releases/tag/v2.0.0-beta1), and our updated V2 documentation [here](https://google.github.io/osv-scanner/). |
| 106 | + |
| 107 | +We still expect changes to be made, smaller new features to be added, and bugs to be shaken out leading up to the final v2.0.0 release. If you do give this a try, we’d appreciate any feedback you might have on our discussion topics: |
| 108 | +- [General V2 feedback](https://github.com/google/osv-scanner/discussions/1529) |
| 109 | +- [Container scanning feedback](https://github.com/google/osv-scanner/discussions/1521) |
| 110 | + |
| 111 | +The OSV project is fully open source, and guided by the feedback from our open source community. Together we can build better open source tools to make vulnerability management easier and less noisy! |
0 commit comments