output

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Enrichment

type Enrichment struct {
	Version               string  `json:"version"`
	VectorString          string  `json:"vectorString"`
	AttackVector          string  `json:"attackVector"`
	AttackComplexity      string  `json:"attackComplexity"`
	PrivilegesRequired    string  `json:"privilegesRequired"`
	UserInteraction       string  `json:"userInteraction"`
	Scope                 string  `json:"scope"`
	ConfidentialityImpact string  `json:"confidentialityImpact"`
	IntegrityImpact       string  `json:"integrityImpact"`
	AvailabilityImpact    string  `json:"availabilityImpact"`
	BaseSeverity          string  `json:"baseSeverity"`
	BaseScore             float64 `json:"baseScore"`
}

type Feature

type Feature struct {
	Name            string  `json:"Name"`
	VersionFormat   string  `json:"VersionFormat"`
	NamespaceName   string  `json:"NamespaceName"`
	AddedBy         string  `json:"AddedBy"`
	Version         string  `json:"Version"`
	Vulnerabilities []*Vuln `json:"Vulnerabilities"`
}

type LayerData

type LayerData struct {
	Name             string     `json:"Name"`
	ParentName       string     `json:"ParentName"`
	NamespaceName    string     `json:"NamespaceName"`
	IndexedByVersion int        `json:"IndexedByVersion"`
	Features         []*Feature `json:"Features"`
}

type Metadata

type Metadata struct {
	UpdatedBy     string `json:"UpdatedBy"`
	RepoName      string `json:"RepoName"`
	RepoLink      string `json:"RepoLink"`
	DistroName    string `json:"DistroName"`
	DistroVersion string `json:"DistroVersion"`
	NVD           *NVD   `json:"NVD"`
}

type NVD

type NVD struct {
	CVSSv3 struct {
		Vectors string  `json:"Vectors"`
		Score   float64 `json:"Score"`
	}
}

type QuayReport

type QuayReport struct {
	Status string    `json:"status"`
	Data   *ScanData `json:"data"`
}

func ReportToSecScan

func ReportToSecScan(vr *claircore.VulnerabilityReport) (*QuayReport, error)

ReportToSecScan will take a claircore.VulnerabilityReport and return a QuayReport which is a format that mimics how Quay surfaces Clair results at an API level.

type ScanData

type ScanData struct {
	Layer *LayerData `json:"Layer"`
}

type TemplateWriter

type TemplateWriter struct {
	Output   io.Writer
	Template *template.Template
}

func NewPlainWriter

func NewPlainWriter(buf io.Writer) (*TemplateWriter, error)

func NewSarifWriter

func NewSarifWriter(buf io.Writer) (*TemplateWriter, error)

func NewTemplateWriter

func NewTemplateWriter(output io.Writer, outputTemplate string) (*TemplateWriter, error)

func (TemplateWriter) Write

type Vuln

type Vuln struct {
	Severity      string    `json:"Severity"`
	NamespaceName string    `json:"NamespaceName"`
	Link          string    `json:"Link"`
	FixedBy       string    `json:"FixedBy"`
	Description   string    `json:"Description"`
	Name          string    `json:"Name"`
	Metadata      *Metadata `json:"Metadata"`
}

Jump to

Keyboard shortcuts

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