search

package
v0.88.0 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 2025 License: Apache-2.0 Imports: 15 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func And added in v0.88.0

func ByCPE

func ByCPE(c cpe.CPE) vulnerability.Criteria

ByCPE returns criteria which will search based on any of the provided CPEs

func ByConstraintFunc added in v0.88.0

func ByConstraintFunc(constraintFunc func(constraint version.Constraint) (bool, error)) vulnerability.Criteria

ByConstraintFunc returns criteria which will use the provided function as inclusion criteria

func ByDistro

func ByDistro(d ...distro.Distro) vulnerability.Criteria

ByDistro returns criteria which will match vulnerabilities based on any of the provided Distros

func ByEcosystem added in v0.88.0

func ByEcosystem(lang syftPkg.Language, t syftPkg.Type) vulnerability.Criteria

ByEcosystem returns criteria which will search based on the package Language and or package type

func ByFunc added in v0.88.0

func ByFunc(criteriaFunc func(vulnerability.Vulnerability) (bool, string, error)) vulnerability.Criteria

ByFunc returns criteria which will use the provided function to filter vulnerabilities

func ByID added in v0.88.0

func ByID(id string) vulnerability.Criteria

ByID returns criteria to search by vulnerability ID, such as CVE-2024-9143

func ByPackageName added in v0.88.0

func ByPackageName(packageName string) vulnerability.Criteria

ByPackageName returns criteria restricting vulnerabilities to match the package name provided

func ByVersion added in v0.88.0

ByVersion returns criteria which constrains vulnerabilities to those with matching version constraints

func CriteriaIterator added in v0.88.0

func CriteriaIterator(criteria []vulnerability.Criteria) iter.Seq2[int, []vulnerability.Criteria]

CriteriaIterator processes all conditions into distinct sets of flattened criteria

func Or added in v0.88.0

func ValidateCriteria added in v0.88.0

func ValidateCriteria(criteria []vulnerability.Criteria) error

ValidateCriteria asserts that there are no incorrect duplications of criteria e.g. multiple ByPackageName() which would result in no matches, while Or(pkgName1, pkgName2) is allowed

Types

type CPECriteria added in v0.88.0

type CPECriteria struct {
	CPE cpe.CPE
}

func (*CPECriteria) MatchesVulnerability added in v0.88.0

func (v *CPECriteria) MatchesVulnerability(vuln vulnerability.Vulnerability) (bool, string, error)

func (*CPECriteria) Summarize added in v0.88.0

func (v *CPECriteria) Summarize() string

type DistroCriteria added in v0.88.0

type DistroCriteria struct {
	Distros []distro.Distro
}

func (*DistroCriteria) MatchesVulnerability added in v0.88.0

func (c *DistroCriteria) MatchesVulnerability(value vulnerability.Vulnerability) (bool, string, error)

func (*DistroCriteria) Summarize added in v0.88.0

func (c *DistroCriteria) Summarize() string

type EcosystemCriteria added in v0.88.0

type EcosystemCriteria struct {
	Language    syftPkg.Language
	PackageType syftPkg.Type
}

func (*EcosystemCriteria) MatchesVulnerability added in v0.88.0

func (c *EcosystemCriteria) MatchesVulnerability(value vulnerability.Vulnerability) (bool, string, error)

type IDCriteria added in v0.88.0

type IDCriteria struct {
	ID string
}

IDCriteria is able to match vulnerabilities to the assigned ID, such as CVE-2024-1000 or GHSA-g2x7-ar59-85z5

func (*IDCriteria) MatchesVulnerability added in v0.88.0

func (v *IDCriteria) MatchesVulnerability(vuln vulnerability.Vulnerability) (bool, string, error)

type PackageNameCriteria added in v0.88.0

type PackageNameCriteria struct {
	PackageName string
}

func (*PackageNameCriteria) MatchesVulnerability added in v0.88.0

func (v *PackageNameCriteria) MatchesVulnerability(vuln vulnerability.Vulnerability) (bool, string, error)

type VersionConstraintMatcher added in v0.88.0

type VersionConstraintMatcher interface {
	MatchesConstraint(constraint version.Constraint) (bool, error)
}

VersionConstraintMatcher is used for searches which include version.Constraints; this should be used instead of post-filtering vulnerabilities in order to most efficiently hydrate data in memory

func MultiConstraintMatcher added in v0.88.0

func MultiConstraintMatcher(a, b VersionConstraintMatcher) VersionConstraintMatcher

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳