types

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Success string = "success"
	Failed  string = "failed"
)

Variables

View Source
var NamespaceMapping = map[string]string{
	"oracle": "oraclelinux",
	"ol":     "oraclelinux",
	"amazon": "amazonlinux",
	"amzn":   "amazonlinux",
	"rhel":   "redhatlinux",
}
View Source
var PackageTypeMapping = map[string]string{
	"apk":            "alpine",
	"debian":         "deb",
	"ubuntu":         "deb",
	"node-pkg":       "npm",
	"java":           "maven",
	"gobinary":       "golang",
	"go":             "golang",
	"go-module":      "golang",
	"java-archive":   "maven",
	"jenkins-plugin": "maven",
	"python":         "pypi",
	"python-pkg":     "pypi",
	"jar":            "maven",
	"gemspec":        "gem",
	"centos":         "rpm",
	"oracle":         "rpm",
	"ol":             "rpm",
	"amzn":           "rpm",
	"amazon":         "rpm",
	"redhat":         "rpm",
	"photon":         "rpm",
	"sles":           "rpm",
	"rhel":           "rpm",
	"pip":            "pypi",
	"rubygems":       "gem",
	"rust":           "cargo",
	"crates.io":      "cargo",
	"packagist":      "composer",
}

Functions

func PackageToPackageUrl added in v0.0.7

func PackageToPackageUrl(pkp Package) *packageurl.PackageURL

func ToAdvisoryUrl

func ToAdvisoryUrl(pkg Package) string

func ToPackageUrl

func ToPackageUrl(url string) (packageurl.PackageURL, error)

Types

type Advisory

type Advisory struct {
	Source      string      `edn:"vulnerability/source" json:"source"`
	SourceId    string      `edn:"vulnerability/source-id" json:"source_id"`
	References  []Reference `edn:"vulnerability/references" json:"references"`
	Description string      `edn:"vulnerability/description" json:"description,omitempty"`
	Cwes        []Cwe       `edn:"vulnerability/cwes" json:"cwes,omitempty"`
	Urls        []Url       `edn:"vulnerability/urls" json:"urls,omitempty"`
}

type Cve

type Cve struct {
	Purl            string    `edn:"purl" json:"purl"`
	Source          string    `edn:"source" json:"source"`
	SourceId        string    `edn:"source-id" json:"source_id"`
	VulnerableRange string    `edn:"vulnerable-range" json:"vulnerable_range"`
	AdvisoryUrl     string    `edn:"url" json:"-"`
	FixedBy         string    `edn:"fixed-by" json:"fixed_by,omitempty"`
	Advisory        *Advisory `edn:"v" json:"vendor_advisory,omitempty"`
	Cve             *Advisory `edn:"cve" json:"nist_cve,omitempty"`
}

type Cwe

type Cwe struct {
	SourceId string `edn:"vulnerability.cwe/source-id" json:"source_id"`
	Name     string `edn:"vulnerability.cwe/name" json:"name,omitempty"`
}

type Descriptor

type Descriptor struct {
	Name        string `json:"name"`
	Version     string `json:"version"`
	SbomVersion string `json:"sbom_version"`
}

type Distro

type Distro struct {
	OsName    string `json:"os_name,omitempty"`
	OsVersion string `json:"os_version,omitempty"`
	OsDistro  string `json:"os_distro,omitempty"`
}

type ImageSource

type ImageSource struct {
	Name        string         `json:"name"`
	Digest      string         `json:"digest"`
	Tags        *[]string      `json:"tags,omitempty"`
	Manifest    *v1.Manifest   `json:"manifest"`
	Config      *v1.ConfigFile `json:"config"`
	RawManifest string         `json:"raw_manifest"`
	RawConfig   string         `json:"raw_config"`
	Distro      Distro         `json:"distro"`
	Platform    Platform       `json:"platform"`
	Size        int64          `json:"size"`
}

type IndexResult

type IndexResult struct {
	Name     string
	Packages []Package
	Status   string
	Error    error
	Distro   Distro
}

type LayerMapping

type LayerMapping struct {
	ByDiffId        map[string]string
	ByDigest        map[string]string
	OrdinalByDiffId map[string]int
	DiffIdByOrdinal map[int]string
	DigestByOrdinal map[int]string
}

type Location

type Location struct {
	Path   string `json:"path"`
	Digest string `json:"digest"`
	DiffId string `json:"diff_id"`
}

type Package

type Package struct {
	Type          string     `json:"type"`
	Namespace     string     `json:"namespace,omitempty"`
	Name          string     `json:"name"`
	Version       string     `json:"version"`
	Purl          string     `json:"purl"`
	Author        string     `json:"author,omitempty"`
	Description   string     `json:"description,omitempty"`
	Licenses      []string   `json:"licenses,omitempty"`
	Url           string     `json:"url,omitempty"`
	Size          int        `json:"size,omitempty"`
	InstalledSize int        `json:"installed_size,omitempty"`
	Locations     []Location `json:"locations"`
	Files         []Location `json:"files,omitempty"`
	Parent        string     `json:"parent,omitempty"`
}

func MergePackages

func MergePackages(results ...IndexResult) []Package

func NormalizePackages

func NormalizePackages(pkgs []Package) ([]Package, error)

type Platform

type Platform struct {
	Os           string `json:"os"`
	Architecture string `json:"architecture"`
	Variant      string `json:"variant,omitempty"`
}

type Reference

type Reference struct {
	Source string  `edn:"vulnerability.reference/source" json:"source"`
	Scores []Score `edn:"vulnerability.reference/scores" json:"scores"`
}

type Sbom

type Sbom struct {
	Source          Source     `json:"source"`
	Artifacts       []Package  `json:"artifacts"`
	Vulnerabilities []Cve      `json:"vulnerabilities,omitempty"`
	Descriptor      Descriptor `json:"descriptor"`
}

type Score

type Score struct {
	Type  string `edn:"vulnerability.reference.score/type" json:"type"`
	Value string `edn:"vulnerability.reference.score/value" json:"value"`
}

type Source

type Source struct {
	Type  string      `json:"type"`
	Image ImageSource `json:"image"`
}

type Url

type Url struct {
	Name  string `edn:"vulnerability.url/name" json:"name"`
	Value string `edn:"vulnerability.url/value" json:"value,omitempty"`
}

Jump to

Keyboard shortcuts

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