vuln

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: May 15, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	RegexCVE  = regexp.MustCompile(`^CVE-\d{4}-\d{4,}$`)
	RegexGHSA = regexp.MustCompile(`^GHSA(-[23456789cfghjmpqrvwx]{4}){3}$`)
	RegexGO   = regexp.MustCompile(`^GO-\d{4}-\d{4}$`)
)

Functions

func URL

func URL(id string) string

URL returns the canonical web URL for the given vulnerability ID.

func ValidateCPE

func ValidateCPE(cpe string) error

ValidateCPE returns an error if the CPE is invalid.

func ValidateID

func ValidateID(id string) error

ValidateID returns an error if the given ID is not a valid CVE ID, GHSA ID, or Go vulnerability ID.

Types

type CPE

type CPE struct {
	URI          string
	VersionRange VersionRange
}

type Detector

type Detector interface {
	VulnerabilitiesForPackages(context.Context, ...string) (map[string][]Match, error)
	VulnerabilitiesForPackage(context.Context, string) ([]Match, error)
}

type EventMatchingFinished

type EventMatchingFinished struct {
}

type EventPackageMatchingError

type EventPackageMatchingError struct {
	Package string
	Err     error
}

type EventPackageMatchingFinished

type EventPackageMatchingFinished struct {
	Package string
	Matches []Match
}

type EventPackageMatchingStarting

type EventPackageMatchingStarting struct {
	Package string
}

type Match

type Match struct {
	Package       Package
	CPESearched   CPE
	CPEFound      CPE
	Vulnerability Vulnerability
}

type Package

type Package struct {
	Name string
}

type Severity

type Severity string
const (
	SeverityUnknown  Severity = "Unknown"
	SeverityLow      Severity = "Low"
	SeverityMedium   Severity = "Medium"
	SeverityHigh     Severity = "High"
	SeverityCritical Severity = "Critical"
)

type VersionRange

type VersionRange struct {
	// SingleVersion is populated when the VersionRange describes only a single
	// version. If this field is used, all other fields should be set to their zero
	// value.
	SingleVersion string

	VersionRangeLower          string
	VersionRangeLowerInclusive bool
	VersionRangeUpper          string
	VersionRangeUpperInclusive bool
}

VersionRange describes a continuous range of versions.

func (VersionRange) Includes

func (vr VersionRange) Includes(otherVersion string) bool

Includes returns a bool indicating whether the given version is contained within the VersionRange.

type Vulnerability

type Vulnerability struct {
	ID, URL  string
	Severity Severity
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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