osv: don't prefix semver strings

In order to match the current state of the public vulnerability format,
don't prefix SEMVER strings with 'v' or 'go' so that they are valid.

Also update osv.Affects.AffectsSemver so that it can take SEMVER strings
which either do or don't have the prefix.

Change-Id: I879f5c0387338290fe0aaa7ab8391e1c19de681e
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/326489
Trust: Roland Shoemaker <roland@golang.org>
Run-TryBot: Roland Shoemaker <roland@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Filippo Valsorda <filippo@golang.org>
2 files changed
tree: 1d3ed6f31cad7b1e1a29b8026fe82b79aecad89c
  6. README.md
  7. client/
  8. cmd/
  9. deploy-db.sh
  10. format.md
  11. go.mod
  12. go.sum
  13. new-vuln.sh
  14. osv/
  15. report/
  16. reports/
  17. template
  18. triaged-cve-list

The Go Vulnerability Database golang.org/x/vulndb

This repository is a prototype of the Go Vulnerability Database. Read the Draft Design.

Neither the code, nor the data, nor the existence of this repository is to be considered stable until an approved proposal.

Important: vulnerability entries in this repository are represented in an internal, unstable format that can and will change without notice.

Consuming database entries

Database clients must not rely on the contents of this repository. Instead, they can access the tree of JSON entries rooted at


An index.json file maps package names to last modified timestamps. For each package name, a NAME.json file contains a list of vulnerability entries.

Note that this path and format are provisional and likely to change until an approved proposal.


Some of these packages can probably be coalesced, but for now are easier to work on in a more segmented fashion.

  • report provides a package for parsing and linting TOML reports
  • osv provides a package for generating OSV-style JSON vulnerability entries from a report.Report
  • client contains a client for accessing HTTP/fs based vulnerability databases, as well as a minimal caching implementation
  • cmd/gendb provides a tool for converting TOML reports into JSON database
  • cmd/genhtml provides a tool for converting TOML reports into a HTML website
  • cmd/linter provides a tool for linting individual reports
  • cmd/report2cve provides a tool for converting TOML reports into JSON CVEs


Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.

Database entries available at https://storage.googleapis.com/go-vulndb/ are distributed under the terms of the CC-BY 4.0 license.