internal/worker: scan modules for vulnerabilities

This is the first CL for a new task for the vuln worker: to scan
a selected set of modules for vulnerabilities.

Establish a new server endpoint, /scan-modules, to do that.
Currently visiting that endpoint scans the list of modules unconditionally.
A future CL will skip the scan if the vuln DB hasn't changed.

Hardcode a list of modules in the namespace.
Fetch each one from the proxy, and run vulncheck on it.

At present we just log any vulnerabilities we find. Later we'll
file issues to a GitHub repo.

Lastly, change the base image for the service to one that
has the go toolchain, since go/packages requires it.

Change-Id: I1de571d24d683b080542c5c40b55767967dbe8a5
Trust: Jonathan Amsterdam <>
Run-TryBot: Jonathan Amsterdam <>
TryBot-Result: Gopher Robot <>
Reviewed-by: Damien Neil <>
7 files changed
tree: ddb46391f99c3b9748b57af084849c3ea4a516d7
  1. .github/
  2. cmd/
  3. deploy/
  4. devtools/
  5. doc/
  6. internal/
  7. reports/
  8. terraform/
  9. .gitignore
  10. all_test.go
  12. checks.bash
  15. go.mod
  16. go.sum
  20. tools_test.go

The Go Vulnerability Database

This repository contains the reports for the Go Vulnerability Database.

If you are interested accessing data from the Go Vulnerability Database, see x/vuln for information. This repository is only used for adding new vulnerabilities.

Reporting a vulnerability

We are not accepting new vulnerability reports at this time. We will update this once we are ready to receive reports.


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

Database entries are distributed under the terms of the CC-BY 4.0 license. See x/vuln for information on how to access these entries.