|
1 |
| -OSV-Scanner v2 is coming soon! The next release will start with version `v2.0.0-alpha1`. |
| 1 | +# v2.0.0-beta1 |
2 | 2 |
|
3 |
| -Here's a peek at some of the exciting upcoming features: |
| 3 | +The first beta of OSV-Scanner V2 is here! This beta release introduces significant enhancements, including refactored dependency extraction capabilities, container image scanning, and guided remediation for Maven. |
4 | 4 |
|
5 |
| -- Standalone container image scanning support. |
6 |
| - - Including support for Alpine and Debian images. |
7 |
| -- Refactored internals to use [`osv-scalibr`](https://github.com/google/osv-scalibr) library for better extraction capabilities. |
8 |
| -- HTML output format for clearer vulnerability results. |
9 |
| -- More control over output format and logging. |
10 |
| -- ...and more! |
| 5 | +This beta release does _not_ introduce any breaking CLI changes and the beta period is expected to last approximately one month. However, as this is a beta release, there may be breaking changes breaking changes in the final release compared to the first beta. |
11 | 6 |
|
12 |
| -Importantly, the CLI interface of osv-scanner will be maintained with minimal breaking changes. |
13 |
| -Most breaking changes will only be in the API. More details in the upcoming alpha release. |
| 7 | +We encourage you to try out these new features and would appreciate any feedback you might have on our discussion topics: |
14 | 8 |
|
15 |
| ---- |
| 9 | +- [General V2 feedback](https://github.com/google/osv-scanner/discussions/1529) |
| 10 | +- [Container scanning feedback](https://github.com/google/osv-scanner/discussions/1521) |
16 | 11 |
|
17 |
| -This is the final feature v1 release of osv-scanner, future releases for v1 will only contain bug fixes. |
| 12 | +### Layer and base image-aware container scanning |
| 13 | + |
| 14 | +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: |
| 15 | + |
| 16 | +- Layers where a package was first introduced |
| 17 | +- Layer history and commands |
| 18 | +- Base images the image is based on |
| 19 | +- OS/Distro the container is running on |
| 20 | + |
| 21 | +This layer analysis leverages [OSV-Scalibr](https://github.com/google/osv-scalibr), and supports the following OSes and languages: |
| 22 | +| Distro Support | Language Artifacts Support | |
| 23 | +| -------------- | -------------------------- | |
| 24 | +| Alpine OS | Go | |
| 25 | +| Debian | Java | |
| 26 | +| Ubuntu | Node | |
| 27 | +| | Python | |
| 28 | + |
| 29 | +Base image identification also leverages a new experimental API provided by https://deps.dev. |
| 30 | + |
| 31 | +For usage, run the new `scan image` command: |
| 32 | + |
| 33 | +``` |
| 34 | +osv-scanner scan image <image-name>:<tag> |
| 35 | +``` |
| 36 | + |
| 37 | +Check out our [documentation](https://google.github.io/osv-scanner/usage/scan-image) for more details. |
| 38 | + |
| 39 | +### Interactive HTML output |
| 40 | + |
| 41 | +A new, interactive HTML output is now available. This provides a lot more interactivity and information compared to terminal only outputs, including: |
| 42 | + |
| 43 | +- Severity breakdown |
| 44 | +- Package and ID filtering |
| 45 | +- Vulnerability importance filtering |
| 46 | +- Full vulnerability advisory entries |
| 47 | + |
| 48 | +And additionally for container image scanning: |
| 49 | + |
| 50 | +- Layer filtering |
| 51 | +- Image layer information |
| 52 | +- Base image identification |
| 53 | + |
| 54 | + |
| 55 | + |
| 56 | +### Guided Remediation for Maven pom.xml |
| 57 | + |
| 58 | +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. |
| 59 | + |
| 60 | +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. |
| 61 | + |
| 62 | +We’ve introduced a few new features for our Maven support: |
| 63 | + |
| 64 | +- A new remediation strategy `override` is introduced. |
| 65 | +- Support for reading and writing pom.xml files, including writing changes to local parent pom files. |
| 66 | +- Private registry can be specified to fetch Maven metadata. |
| 67 | + |
| 68 | +The guided remediation support for Maven is only available in the non-interactive mode. For basic usage, run the following command: |
| 69 | + |
| 70 | +``` |
| 71 | +osv-scanner fix --non-interactive --strategy=override -M path/to/pom.xml |
| 72 | +``` |
| 73 | + |
| 74 | +We also introduced machine readable output for guided remediation that makes it easier to integrate guided remediation into your workflow. |
| 75 | + |
| 76 | +For more usage details on guided remediation, please see our [documentation](https://google.github.io/osv-scanner/experimental/guided-remediation/). |
| 77 | + |
| 78 | +### Enhanced Dependency Extraction with `osv-scalibr` |
| 79 | + |
| 80 | +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: |
| 81 | + |
| 82 | +#### Source manifests and lockfiles |
| 83 | + |
| 84 | +- Haskell: `cabal.project.freeze`, `stack.yaml.lock` |
| 85 | +- .NET: `deps.json` |
| 86 | +- Python: `uv.lock` |
| 87 | + |
| 88 | +#### Artifacts |
| 89 | + |
| 90 | +- node_modules |
| 91 | +- Python wheels |
| 92 | +- Java uber jars |
| 93 | +- Go binaries |
| 94 | + |
| 95 | +The full list of supported formats can be found [here](https://google.github.io/osv-scanner/supported-languages-and-lockfiles/). |
| 96 | + |
| 97 | +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. |
| 98 | + |
| 99 | +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! |
18 | 100 |
|
19 | 101 | # v1.9.1
|
20 | 102 |
|
|
0 commit comments