|author||Jonathan Amsterdam <email@example.com>||Fri Dec 03 07:17:20 2021 -0500|
|committer||Jonathan Amsterdam <firstname.lastname@example.org>||Fri Dec 03 21:54:38 2021 +0000|
internal/worker: use HEAD requests to pkgsite When we test for the existence of a module, we just need the status code; there's no need to read the entire page. Add a test against the real pkgsite to confirm. The test revealed that although it seems we were able to use the internal pkgsite staging environment, in fact we were always getting 200s because we were fetching a login page. We may add auth in the future, but for now drop the ability to access anything other than the public pkgsite. Change-Id: I8934e17c76aad6aa36bd974a813f300b02549491 Reviewed-on: https://go-review.googlesource.com/c/vuln/+/368856 Trust: Jonathan Amsterdam <email@example.com> Run-TryBot: Jonathan Amsterdam <firstname.lastname@example.org> TryBot-Result: Gopher Robot <email@example.com> Reviewed-by: Julie Qiu <firstname.lastname@example.org>
This repository contains code for hosting the Go Vulnerability Database. The actual reports can be found at x/vulndb.
Neither the code, nor the data, nor the existence of this repository is to be considered stable. See the Draft Design for details on this project.
The Go vulnerability database is rooted at
https://storage.googleapis.com/go-vulndb and provides data as JSON. We recommend using client.Client to read data from the Go vulnerability database.
Do not rely on the contents of the x/vulndb repository. The YAML files in that repository are maintained using an internal format that is subject to change without warning.
The endpoints the table below are supported. For each path:
|$base/index.json||List of module paths in the database mapped to its last modified timestamp (link).|
|$base/$module.json||List of vulnerability entries for that module (example).|
|$base/ID/index.json||List of all the vulnerability entries in the database|
|$base/ID/$vuln.json||An individual Go vulnerability report|
Note that these paths 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.
osvprovides a package for generating OSV-style JSON vulnerability entries from a
clientcontains a client for accessing HTTP/fs based vulnerability databases, as well as a minimal caching implementation
cmd/dbdiffprovides a tool for comparing two different versions of the vulnerability database
cmd/gendbprovides a tool for converting YAML reports into JSON database
cmd/linterprovides a tool for linting individual reports
cmd/report2cveprovides a tool for converting YAML reports into JSON CVEs
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.