jsonreportspec

package
v1.9.1 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	RemediationAdviceType_name = map[int32]string{
		0: "UnknownAdviceType",
		1: "UpgradePackage",
		2: "AlternatePopularPackage",
		3: "AlternateSecurePackage",
	}
	RemediationAdviceType_value = map[string]int32{
		"UnknownAdviceType":       0,
		"UpgradePackage":          1,
		"AlternatePopularPackage": 2,
		"AlternateSecurePackage":  3,
	}
)

Enum value maps for RemediationAdviceType.

View Source
var (
	ReportThreat_Confidence_name = map[int32]string{
		0: "UnknownConfidence",
		1: "High",
		2: "Medium",
		3: "Low",
	}
	ReportThreat_Confidence_value = map[string]int32{
		"UnknownConfidence": 0,
		"High":              1,
		"Medium":            2,
		"Low":               3,
	}
)

Enum value maps for ReportThreat_Confidence.

View Source
var (
	ReportThreat_Source_name = map[int32]string{
		0: "UnknownSource",
		1: "CWE",
	}
	ReportThreat_Source_value = map[string]int32{
		"UnknownSource": 0,
		"CWE":           1,
	}
)

Enum value maps for ReportThreat_Source.

View Source
var (
	ReportThreat_SubjectType_name = map[int32]string{
		0: "UnknownSubject",
		1: "Package",
		2: "Manifest",
	}
	ReportThreat_SubjectType_value = map[string]int32{
		"UnknownSubject": 0,
		"Package":        1,
		"Manifest":       2,
	}
)

Enum value maps for ReportThreat_SubjectType.

View Source
var (
	ReportThreat_ReportThreatId_name = map[int32]string{
		0: "UnknownReportThreatId",
		1: "LockfilePoisoning",
	}
	ReportThreat_ReportThreatId_value = map[string]int32{
		"UnknownReportThreatId": 0,
		"LockfilePoisoning":     1,
	}
)

Enum value maps for ReportThreat_ReportThreatId.

View Source
var File_json_report_spec_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type PackageManifestReport

type PackageManifestReport struct {
	Id          string           `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Ecosystem   models.Ecosystem `protobuf:"varint,2,opt,name=ecosystem,proto3,enum=Ecosystem" json:"ecosystem,omitempty"`
	Path        string           `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
	Threats     []*ReportThreat  `protobuf:"bytes,4,rep,name=threats,proto3" json:"threats,omitempty"`
	DisplayPath string           `protobuf:"bytes,5,opt,name=display_path,json=displayPath,proto3" json:"display_path,omitempty"`
	SourceType  string           `protobuf:"bytes,6,opt,name=source_type,json=sourceType,proto3" json:"source_type,omitempty"`
	Namespace   string           `protobuf:"bytes,7,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// contains filtered or unexported fields
}

func (*PackageManifestReport) Descriptor deprecated

func (*PackageManifestReport) Descriptor() ([]byte, []int)

Deprecated: Use PackageManifestReport.ProtoReflect.Descriptor instead.

func (*PackageManifestReport) GetDisplayPath added in v1.8.3

func (x *PackageManifestReport) GetDisplayPath() string

func (*PackageManifestReport) GetEcosystem

func (x *PackageManifestReport) GetEcosystem() models.Ecosystem

func (*PackageManifestReport) GetId

func (x *PackageManifestReport) GetId() string

func (*PackageManifestReport) GetNamespace added in v1.8.3

func (x *PackageManifestReport) GetNamespace() string

func (*PackageManifestReport) GetPath

func (x *PackageManifestReport) GetPath() string

func (*PackageManifestReport) GetSourceType added in v1.8.3

func (x *PackageManifestReport) GetSourceType() string

func (*PackageManifestReport) GetThreats added in v1.5.2

func (x *PackageManifestReport) GetThreats() []*ReportThreat

func (*PackageManifestReport) ProtoMessage

func (*PackageManifestReport) ProtoMessage()

func (*PackageManifestReport) ProtoReflect

func (x *PackageManifestReport) ProtoReflect() protoreflect.Message

func (*PackageManifestReport) Reset

func (x *PackageManifestReport) Reset()

func (*PackageManifestReport) String

func (x *PackageManifestReport) String() string

type PackageReport

type PackageReport struct {
	Package *models.Package `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"`
	// The manifests identified by IDs where this package belongs to
	Manifests  []string                `protobuf:"bytes,2,rep,name=manifests,proto3" json:"manifests,omitempty"`
	Violations []*violations.Violation `protobuf:"bytes,3,rep,name=violations,proto3" json:"violations,omitempty"`
	Advices    []*RemediationAdvice    `protobuf:"bytes,4,rep,name=advices,proto3" json:"advices,omitempty"`
	// Insights data
	Vulnerabilities []*models.InsightVulnerability `protobuf:"bytes,5,rep,name=vulnerabilities,proto3" json:"vulnerabilities,omitempty"`
	Licenses        []*models.InsightLicenseInfo   `protobuf:"bytes,6,rep,name=licenses,proto3" json:"licenses,omitempty"`
	Projects        []*models.InsightProjectInfo   `protobuf:"bytes,8,rep,name=projects,proto3" json:"projects,omitempty"`
	// Threats
	Threats []*ReportThreat `protobuf:"bytes,7,rep,name=threats,proto3" json:"threats,omitempty"`
	// contains filtered or unexported fields
}

PackageReport represents the first class entity for which we have different type of reporting information

func (*PackageReport) Descriptor deprecated

func (*PackageReport) Descriptor() ([]byte, []int)

Deprecated: Use PackageReport.ProtoReflect.Descriptor instead.

func (*PackageReport) GetAdvices

func (x *PackageReport) GetAdvices() []*RemediationAdvice

func (*PackageReport) GetLicenses added in v1.4.0

func (x *PackageReport) GetLicenses() []*models.InsightLicenseInfo

func (*PackageReport) GetManifests

func (x *PackageReport) GetManifests() []string

func (*PackageReport) GetPackage

func (x *PackageReport) GetPackage() *models.Package

func (*PackageReport) GetProjects added in v1.8.6

func (x *PackageReport) GetProjects() []*models.InsightProjectInfo

func (*PackageReport) GetThreats added in v1.5.2

func (x *PackageReport) GetThreats() []*ReportThreat

func (*PackageReport) GetViolations

func (x *PackageReport) GetViolations() []*violations.Violation

func (*PackageReport) GetVulnerabilities added in v1.4.0

func (x *PackageReport) GetVulnerabilities() []*models.InsightVulnerability

func (*PackageReport) ProtoMessage

func (*PackageReport) ProtoMessage()

func (*PackageReport) ProtoReflect

func (x *PackageReport) ProtoReflect() protoreflect.Message

func (*PackageReport) Reset

func (x *PackageReport) Reset()

func (*PackageReport) String

func (x *PackageReport) String() string

type RemediationAdvice

type RemediationAdvice struct {
	Type                          RemediationAdviceType `protobuf:"varint,1,opt,name=type,proto3,enum=RemediationAdviceType" json:"type,omitempty"`
	Package                       *models.Package       `protobuf:"bytes,2,opt,name=package,proto3" json:"package,omitempty"`
	TargetPackageName             string                `protobuf:"bytes,3,opt,name=target_package_name,json=targetPackageName,proto3" json:"target_package_name,omitempty"`
	TargetPackageVersion          string                `protobuf:"bytes,4,opt,name=target_package_version,json=targetPackageVersion,proto3" json:"target_package_version,omitempty"`
	TargetAlternatePackageName    string                `` /* 143-byte string literal not displayed */
	TargetAlternatePackageVersion string                `` /* 152-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*RemediationAdvice) Descriptor deprecated

func (*RemediationAdvice) Descriptor() ([]byte, []int)

Deprecated: Use RemediationAdvice.ProtoReflect.Descriptor instead.

func (*RemediationAdvice) GetPackage

func (x *RemediationAdvice) GetPackage() *models.Package

func (*RemediationAdvice) GetTargetAlternatePackageName

func (x *RemediationAdvice) GetTargetAlternatePackageName() string

func (*RemediationAdvice) GetTargetAlternatePackageVersion

func (x *RemediationAdvice) GetTargetAlternatePackageVersion() string

func (*RemediationAdvice) GetTargetPackageName

func (x *RemediationAdvice) GetTargetPackageName() string

func (*RemediationAdvice) GetTargetPackageVersion

func (x *RemediationAdvice) GetTargetPackageVersion() string

func (*RemediationAdvice) GetType

func (*RemediationAdvice) ProtoMessage

func (*RemediationAdvice) ProtoMessage()

func (*RemediationAdvice) ProtoReflect

func (x *RemediationAdvice) ProtoReflect() protoreflect.Message

func (*RemediationAdvice) Reset

func (x *RemediationAdvice) Reset()

func (*RemediationAdvice) String

func (x *RemediationAdvice) String() string

type RemediationAdviceType

type RemediationAdviceType int32
const (
	RemediationAdviceType_UnknownAdviceType       RemediationAdviceType = 0
	RemediationAdviceType_UpgradePackage          RemediationAdviceType = 1
	RemediationAdviceType_AlternatePopularPackage RemediationAdviceType = 2
	RemediationAdviceType_AlternateSecurePackage  RemediationAdviceType = 3
)

func (RemediationAdviceType) Descriptor

func (RemediationAdviceType) Enum

func (RemediationAdviceType) EnumDescriptor deprecated

func (RemediationAdviceType) EnumDescriptor() ([]byte, []int)

Deprecated: Use RemediationAdviceType.Descriptor instead.

func (RemediationAdviceType) Number

func (RemediationAdviceType) String

func (x RemediationAdviceType) String() string

func (RemediationAdviceType) Type

type Report

type Report struct {
	Meta      *ReportMeta              `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"`
	Manifests []*PackageManifestReport `protobuf:"bytes,2,rep,name=manifests,proto3" json:"manifests,omitempty"`
	Packages  []*PackageReport         `protobuf:"bytes,3,rep,name=packages,proto3" json:"packages,omitempty"`
	// contains filtered or unexported fields
}

func (*Report) Descriptor deprecated

func (*Report) Descriptor() ([]byte, []int)

Deprecated: Use Report.ProtoReflect.Descriptor instead.

func (*Report) GetManifests

func (x *Report) GetManifests() []*PackageManifestReport

func (*Report) GetMeta

func (x *Report) GetMeta() *ReportMeta

func (*Report) GetPackages

func (x *Report) GetPackages() []*PackageReport

func (*Report) ProtoMessage

func (*Report) ProtoMessage()

func (*Report) ProtoReflect

func (x *Report) ProtoReflect() protoreflect.Message

func (*Report) Reset

func (x *Report) Reset()

func (*Report) String

func (x *Report) String() string

type ReportMeta

type ReportMeta struct {
	ToolName    string `protobuf:"bytes,1,opt,name=tool_name,json=toolName,proto3" json:"tool_name,omitempty"`
	ToolVersion string `protobuf:"bytes,2,opt,name=tool_version,json=toolVersion,proto3" json:"tool_version,omitempty"`
	CreatedAt   string `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// contains filtered or unexported fields
}

func (*ReportMeta) Descriptor deprecated

func (*ReportMeta) Descriptor() ([]byte, []int)

Deprecated: Use ReportMeta.ProtoReflect.Descriptor instead.

func (*ReportMeta) GetCreatedAt

func (x *ReportMeta) GetCreatedAt() string

func (*ReportMeta) GetToolName

func (x *ReportMeta) GetToolName() string

func (*ReportMeta) GetToolVersion

func (x *ReportMeta) GetToolVersion() string

func (*ReportMeta) ProtoMessage

func (*ReportMeta) ProtoMessage()

func (*ReportMeta) ProtoReflect

func (x *ReportMeta) ProtoReflect() protoreflect.Message

func (*ReportMeta) Reset

func (x *ReportMeta) Reset()

func (*ReportMeta) String

func (x *ReportMeta) String() string

type ReportThreat added in v1.5.2

type ReportThreat struct {
	Id          ReportThreat_ReportThreatId `protobuf:"varint,1,opt,name=id,proto3,enum=ReportThreat_ReportThreatId" json:"id,omitempty"`
	InstanceId  string                      `protobuf:"bytes,2,opt,name=instanceId,proto3" json:"instanceId,omitempty"` // Unique threat instance ID per (ID, SubjectType, Subject) tuple
	Message     string                      `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
	SubjectType ReportThreat_SubjectType    `protobuf:"varint,4,opt,name=subject_type,json=subjectType,proto3,enum=ReportThreat_SubjectType" json:"subject_type,omitempty"`
	Subject     string                      `protobuf:"bytes,5,opt,name=subject,proto3" json:"subject,omitempty"`
	Confidence  ReportThreat_Confidence     `protobuf:"varint,6,opt,name=confidence,proto3,enum=ReportThreat_Confidence" json:"confidence,omitempty"`
	Source      ReportThreat_Source         `protobuf:"varint,7,opt,name=source,proto3,enum=ReportThreat_Source" json:"source,omitempty"`
	SourceId    string                      `protobuf:"bytes,8,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"`
	// contains filtered or unexported fields
}

We are introducing the concept of Threat as a reporting entity so that we can report threats like lockfile poisoning using a standard schema. But why do we need threats? Why not just use vet's paradigm of policy over enriched packages? The reason is, there are threats that are applicable in an environment, against a manifest or other entities or even group of entities. Hence it is required to introduce a threat as a reporting entity so that external tools can consume vet's reports and take actions based on the threats.

func (*ReportThreat) Descriptor deprecated added in v1.5.2

func (*ReportThreat) Descriptor() ([]byte, []int)

Deprecated: Use ReportThreat.ProtoReflect.Descriptor instead.

func (*ReportThreat) GetConfidence added in v1.5.2

func (x *ReportThreat) GetConfidence() ReportThreat_Confidence

func (*ReportThreat) GetId added in v1.5.2

func (*ReportThreat) GetInstanceId added in v1.5.3

func (x *ReportThreat) GetInstanceId() string

func (*ReportThreat) GetMessage added in v1.5.2

func (x *ReportThreat) GetMessage() string

func (*ReportThreat) GetSource added in v1.5.2

func (x *ReportThreat) GetSource() ReportThreat_Source

func (*ReportThreat) GetSourceId added in v1.5.2

func (x *ReportThreat) GetSourceId() string

func (*ReportThreat) GetSubject added in v1.5.2

func (x *ReportThreat) GetSubject() string

func (*ReportThreat) GetSubjectType added in v1.5.2

func (x *ReportThreat) GetSubjectType() ReportThreat_SubjectType

func (*ReportThreat) ProtoMessage added in v1.5.2

func (*ReportThreat) ProtoMessage()

func (*ReportThreat) ProtoReflect added in v1.5.2

func (x *ReportThreat) ProtoReflect() protoreflect.Message

func (*ReportThreat) Reset added in v1.5.2

func (x *ReportThreat) Reset()

func (*ReportThreat) String added in v1.5.2

func (x *ReportThreat) String() string

type ReportThreat_Confidence added in v1.5.2

type ReportThreat_Confidence int32
const (
	ReportThreat_UnknownConfidence ReportThreat_Confidence = 0
	ReportThreat_High              ReportThreat_Confidence = 1
	ReportThreat_Medium            ReportThreat_Confidence = 2
	ReportThreat_Low               ReportThreat_Confidence = 3
)

func (ReportThreat_Confidence) Descriptor added in v1.5.2

func (ReportThreat_Confidence) Enum added in v1.5.2

func (ReportThreat_Confidence) EnumDescriptor deprecated added in v1.5.2

func (ReportThreat_Confidence) EnumDescriptor() ([]byte, []int)

Deprecated: Use ReportThreat_Confidence.Descriptor instead.

func (ReportThreat_Confidence) Number added in v1.5.2

func (ReportThreat_Confidence) String added in v1.5.2

func (x ReportThreat_Confidence) String() string

func (ReportThreat_Confidence) Type added in v1.5.2

type ReportThreat_ReportThreatId added in v1.5.3

type ReportThreat_ReportThreatId int32
const (
	ReportThreat_UnknownReportThreatId ReportThreat_ReportThreatId = 0
	ReportThreat_LockfilePoisoning     ReportThreat_ReportThreatId = 1
)

func (ReportThreat_ReportThreatId) Descriptor added in v1.5.3

func (ReportThreat_ReportThreatId) Enum added in v1.5.3

func (ReportThreat_ReportThreatId) EnumDescriptor deprecated added in v1.5.3

func (ReportThreat_ReportThreatId) EnumDescriptor() ([]byte, []int)

Deprecated: Use ReportThreat_ReportThreatId.Descriptor instead.

func (ReportThreat_ReportThreatId) Number added in v1.5.3

func (ReportThreat_ReportThreatId) String added in v1.5.3

func (ReportThreat_ReportThreatId) Type added in v1.5.3

type ReportThreat_Source added in v1.5.2

type ReportThreat_Source int32
const (
	ReportThreat_UnknownSource ReportThreat_Source = 0
	ReportThreat_CWE           ReportThreat_Source = 1
)

func (ReportThreat_Source) Descriptor added in v1.5.2

func (ReportThreat_Source) Enum added in v1.5.2

func (ReportThreat_Source) EnumDescriptor deprecated added in v1.5.2

func (ReportThreat_Source) EnumDescriptor() ([]byte, []int)

Deprecated: Use ReportThreat_Source.Descriptor instead.

func (ReportThreat_Source) Number added in v1.5.2

func (ReportThreat_Source) String added in v1.5.2

func (x ReportThreat_Source) String() string

func (ReportThreat_Source) Type added in v1.5.2

type ReportThreat_SubjectType added in v1.5.3

type ReportThreat_SubjectType int32
const (
	ReportThreat_UnknownSubject ReportThreat_SubjectType = 0
	ReportThreat_Package        ReportThreat_SubjectType = 1
	ReportThreat_Manifest       ReportThreat_SubjectType = 2
)

func (ReportThreat_SubjectType) Descriptor added in v1.5.3

func (ReportThreat_SubjectType) Enum added in v1.5.3

func (ReportThreat_SubjectType) EnumDescriptor deprecated added in v1.5.3

func (ReportThreat_SubjectType) EnumDescriptor() ([]byte, []int)

Deprecated: Use ReportThreat_SubjectType.Descriptor instead.

func (ReportThreat_SubjectType) Number added in v1.5.3

func (ReportThreat_SubjectType) String added in v1.5.3

func (x ReportThreat_SubjectType) String() string

func (ReportThreat_SubjectType) Type added in v1.5.3

Jump to

Keyboard shortcuts

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