unmarshal

package
v0.21.1-0...-a3b014d Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NvdVulnerabilityEntries

func NvdVulnerabilityEntries(reader io.Reader) ([]nvd.Vulnerability, error)

Types

type GitHubAdvisory

type GitHubAdvisory struct {
	Advisory struct {
		Classification string
		CVE            []string `json:"CVE"`
		CVSS           *struct {
			BaseMetrics struct {
				BaseScore           float64 `json:"base_score"`
				BaseSeverity        string  `json:"base_severity"`
				ExploitabilityScore float64 `json:"exploitability_score"`
				ImpactScore         float64 `json:"impact_score"`
			} `json:"base_metrics"`
			Status       string `json:"status"`
			VectorString string `json:"vector_string"`
			Version      string `json:"version"`
		} `json:"CVSS"`
		FixedIn []struct {
			Ecosystem  string `json:"ecosystem"`
			Identifier string `json:"identifier"`
			Name       string `json:"name"`
			Namespace  string `json:"namespace"`
			Range      string `json:"range"`
		} `json:"FixedIn"`
		Metadata struct {
			CVE []string `json:"CVE"`
		} `json:"Metadata"`
		Severity  string      `json:"Severity"`
		Summary   string      `json:"Summary"`
		GhsaID    string      `json:"ghsaId"`
		Namespace string      `json:"namespace"`
		URL       string      `json:"url"`
		Published interface{} `json:"published"`
		Updated   interface{} `json:"updated"`
		Withdrawn interface{} `json:"withdrawn"`
	} `json:"Advisory"`
}

func GitHubAdvisoryEntries

func GitHubAdvisoryEntries(reader io.Reader) ([]GitHubAdvisory, error)

func (GitHubAdvisory) IsEmpty

func (g GitHubAdvisory) IsEmpty() bool

type ItemsEnvelope

type ItemsEnvelope struct {
	Schema     string          `yaml:"schema" json:"schema" mapstructure:"schema"`
	Identifier string          `yaml:"identifier" json:"identifier" mapstructure:"identifier"`
	Item       json.RawMessage `yaml:"item" json:"item" mapstructure:"item"`
}

func Envelope

func Envelope(reader io.Reader) (*ItemsEnvelope, error)

type MSRCVulnerability

type MSRCVulnerability struct {
	Cvss struct {
		BaseScore     float64 `json:"base_score"`
		TemporalScore float64 `json:"temporal_score"`
		Vector        string  `json:"vector"`
	} `json:"cvss"`
	FixedIn []struct {
		ID       string   `json:"id"`
		IsFirst  bool     `json:"is_first"`
		IsLatest bool     `json:"is_latest"`
		Links    []string `json:"links"`
	} `json:"fixed_in"`
	ID      string `json:"id"`
	Link    string `json:"link"`
	Product struct {
		Family string `json:"family"`
		ID     string `json:"id"`
		Name   string `json:"name"`
	} `json:"product"`
	Severity   string   `json:"severity"`
	Summary    string   `json:"summary"`
	Vulnerable []string `json:"vulnerable"`
}

MSRCVulnerability represents a single Msrc entry with vulnerability metadata

func MSRCVulnerabilityEntries

func MSRCVulnerabilityEntries(reader io.Reader) ([]MSRCVulnerability, error)

func (MSRCVulnerability) IsEmpty

func (o MSRCVulnerability) IsEmpty() bool

type MatchExclusion

type MatchExclusion struct {
	ID          string `json:"id"`
	Constraints []struct {
		Vulnerability struct {
			Namespace string `json:"namespace,omitempty"`
			FixState  string `json:"fix_state,omitempty"`
		} `json:"vulnerability,omitempty"`
		Package struct {
			Language string `json:"language,omitempty"`
			Type     string `json:"type,omitempty"`
			Name     string `json:"name,omitempty"`
			Version  string `json:"version,omitempty"`
			Location string `json:"location,omitempty"`
		} `json:"package,omitempty"`
	} `json:"constraints,omitempty"`
	Justification string `json:"justification"`
}

func MatchExclusions

func MatchExclusions(reader io.Reader) ([]MatchExclusion, error)

func (MatchExclusion) IsEmpty

func (m MatchExclusion) IsEmpty() bool

type NVDVulnerability

type NVDVulnerability = nvd.CveItem

type OSFixedIn

type OSFixedIn struct {
	Module         *string `json:"Module,omitempty"`
	Name           string  `json:"Name"`
	NamespaceName  string  `json:"NamespaceName"`
	VendorAdvisory struct {
		AdvisorySummary []struct {
			ID   string `json:"ID"`
			Link string `json:"Link"`
		} `json:"AdvisorySummary"`
		NoAdvisory bool `json:"NoAdvisory"`
	} `json:"VendorAdvisory"`
	Version       string `json:"Version"`
	VersionFormat string `json:"VersionFormat"`
}

type OSFixedIns

type OSFixedIns []OSFixedIn

func (OSFixedIns) FilterToHighestModularity

func (fixes OSFixedIns) FilterToHighestModularity() OSFixedIns

type OSVulnerability

type OSVulnerability struct {
	Vulnerability struct {
		CVSS []struct {
			BaseMetrics struct {
				BaseScore           float64 `json:"base_score"`
				BaseSeverity        string  `json:"base_severity"`
				ExploitabilityScore float64 `json:"exploitability_score"`
				ImpactScore         float64 `json:"impact_score"`
			} `json:"base_metrics"`
			Status       string `json:"status"`
			VectorString string `json:"vector_string"`
			Version      string `json:"version"`
		} `json:"CVSS"`
		Description string `json:"Description"`
		FixedIn     OSFixedIns
		Link        string `json:"Link"`
		Metadata    struct {
			Issued  string `json:"Issued"`
			Updated string `json:"Updated"`
			RefID   string `json:"RefId"`
			CVE     []struct {
				Name string `json:"Name"`
				Link string `json:"Link"`
			} `json:"CVE"`
			NVD struct {
				CVSSv2 struct {
					Score   float64 `json:"Score"`
					Vectors string  `json:"Vectors"`
				} `json:"CVSSv2"`
			} `json:"NVD"`
		} `json:"Metadata"`
		Name          string `json:"Name"`
		NamespaceName string `json:"NamespaceName"`
		Severity      string `json:"Severity"`
	} `json:"Vulnerability"`
}

func OSVulnerabilityEntries

func OSVulnerabilityEntries(reader io.Reader) ([]OSVulnerability, error)

func (OSVulnerability) IsEmpty

func (o OSVulnerability) IsEmpty() bool

Directories

Path Synopsis
nvd

Jump to

Keyboard shortcuts

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