osv

package
v0.0.0-...-1a7096d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2023 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// QueryEndpoint is the URL for posting queries to OSV.
	QueryEndpoint = "https://api.osv.dev/v1/querybatch"
	// GetEndpoint is the URL for getting vulenrabilities from OSV.
	GetEndpoint = "https://api.osv.dev/v1/vulns"
	// BaseVulnerabilityURL is the base URL for detailed vulnerability views.
	BaseVulnerabilityURL = "https://osv.dev/"
)

Variables

This section is empty.

Functions

func Get

func Get(id string) (*models.Vulnerability, error)

Get a Vulnerability for the given ID.

Types

type BatchedQuery

type BatchedQuery struct {
	Queries []*Query `json:"queries"`
}

BatchedQuery represents a batched query to OSV.

type BatchedResponse

type BatchedResponse struct {
	Results []MinimalResponse `json:"results"`
}

BatchedResponse represents an unhydrated batched response from OSV.

func MakeRequest

func MakeRequest(request BatchedQuery) (*BatchedResponse, error)

MakeRequest sends a batched query to osv.dev

type HydratedBatchedResponse

type HydratedBatchedResponse struct {
	Results []Response `json:"results"`
}

HydratedBatchedResponse represents a hydrated batched response from OSV.

func Hydrate

Hydrate fills the results of the batched response with the full Vulnerability details.

type MinimalResponse

type MinimalResponse struct {
	Vulns []MinimalVulnerability `json:"vulns"`
}

MinimalResponse represents an unhydrated response from OSV.

type MinimalVulnerability

type MinimalVulnerability struct {
	ID string `json:"id"`
}

MinimalVulnerability represents an unhydrated vulnerability entry from OSV.

type Package

type Package struct {
	PURL      string `json:"purl,omitempty"`
	Name      string `json:"name,omitempty"`
	Ecosystem string `json:"ecosystem,omitempty"`
}

Package represents a package identifier for OSV.

type Query

type Query struct {
	Commit  string            `json:"commit,omitempty"`
	Package Package           `json:"package,omitempty"`
	Version string            `json:"version,omitempty"`
	Source  models.SourceInfo `json:"-"`
}

Query represents a query to OSV.

func MakeCommitRequest

func MakeCommitRequest(commit string) *Query

MakeCommitRequest makes a commit hash request.

func MakePURLRequest

func MakePURLRequest(purl string) *Query

MakePURLRequest makes a PURL request.

func MakePkgRequest

func MakePkgRequest(pkgDetails lockfile.PackageDetails) *Query

type Response

type Response struct {
	Vulns []models.Vulnerability `json:"vulns"`
}

Response represents a full response from OSV.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL