Documentation ¶
Index ¶
- Variables
- type Confidence
- type EnrichedIssue
- func (*EnrichedIssue) Descriptor() ([]byte, []int)deprecated
- func (x *EnrichedIssue) GetAnnotations() map[string]string
- func (x *EnrichedIssue) GetCount() uint64
- func (x *EnrichedIssue) GetFalsePositive() bool
- func (x *EnrichedIssue) GetFirstSeen() *timestamppb.Timestamp
- func (x *EnrichedIssue) GetHash() string
- func (x *EnrichedIssue) GetRawIssue() *Issue
- func (x *EnrichedIssue) GetUpdatedAt() *timestamppb.Timestamp
- func (*EnrichedIssue) ProtoMessage()
- func (x *EnrichedIssue) ProtoReflect() protoreflect.Message
- func (x *EnrichedIssue) Reset()
- func (x *EnrichedIssue) String() string
- type EnrichedLaunchToolResponse
- func (*EnrichedLaunchToolResponse) Descriptor() ([]byte, []int)deprecated
- func (x *EnrichedLaunchToolResponse) GetIssues() []*EnrichedIssue
- func (x *EnrichedLaunchToolResponse) GetOriginalResults() *LaunchToolResponse
- func (*EnrichedLaunchToolResponse) ProtoMessage()
- func (x *EnrichedLaunchToolResponse) ProtoReflect() protoreflect.Message
- func (x *EnrichedLaunchToolResponse) Reset()
- func (x *EnrichedLaunchToolResponse) String() string
- type Issue
- func (*Issue) Descriptor() ([]byte, []int)deprecated
- func (x *Issue) GetConfidence() Confidence
- func (x *Issue) GetContextSegment() string
- func (x *Issue) GetCve() string
- func (x *Issue) GetCvss() float64
- func (x *Issue) GetCwe() []int32
- func (x *Issue) GetCycloneDXSBOM() string
- func (x *Issue) GetDescription() string
- func (x *Issue) GetSeverity() Severity
- func (x *Issue) GetSource() string
- func (x *Issue) GetTarget() string
- func (x *Issue) GetTitle() string
- func (x *Issue) GetType() string
- func (x *Issue) GetUuid() string
- func (*Issue) ProtoMessage()
- func (x *Issue) ProtoReflect() protoreflect.Message
- func (x *Issue) Reset()
- func (x *Issue) String() string
- type LaunchToolResponse
- func (*LaunchToolResponse) Descriptor() ([]byte, []int)deprecated
- func (x *LaunchToolResponse) GetIssues() []*Issue
- func (x *LaunchToolResponse) GetScanInfo() *ScanInfo
- func (x *LaunchToolResponse) GetScanTarget() string
- func (x *LaunchToolResponse) GetToolName() string
- func (*LaunchToolResponse) ProtoMessage()
- func (x *LaunchToolResponse) ProtoReflect() protoreflect.Message
- func (x *LaunchToolResponse) Reset()
- func (x *LaunchToolResponse) String() string
- type ScanInfo
- func (*ScanInfo) Descriptor() ([]byte, []int)deprecated
- func (x *ScanInfo) GetScanStartTime() *timestamppb.Timestamp
- func (x *ScanInfo) GetScanTags() map[string]string
- func (x *ScanInfo) GetScanUuid() string
- func (*ScanInfo) ProtoMessage()
- func (x *ScanInfo) ProtoReflect() protoreflect.Message
- func (x *ScanInfo) Reset()
- func (x *ScanInfo) String() string
- type Severity
Constants ¶
This section is empty.
Variables ¶
var ( Confidence_name = map[int32]string{ 0: "CONFIDENCE_UNSPECIFIED", 1: "CONFIDENCE_INFO", 2: "CONFIDENCE_LOW", 3: "CONFIDENCE_MEDIUM", 4: "CONFIDENCE_HIGH", 5: "CONFIDENCE_CRITICAL", } Confidence_value = map[string]int32{ "CONFIDENCE_UNSPECIFIED": 0, "CONFIDENCE_INFO": 1, "CONFIDENCE_LOW": 2, "CONFIDENCE_MEDIUM": 3, "CONFIDENCE_HIGH": 4, "CONFIDENCE_CRITICAL": 5, } )
Enum value maps for Confidence.
var ( Severity_name = map[int32]string{ 0: "SEVERITY_UNSPECIFIED", 1: "SEVERITY_INFO", 2: "SEVERITY_LOW", 3: "SEVERITY_MEDIUM", 4: "SEVERITY_HIGH", 5: "SEVERITY_CRITICAL", } Severity_value = map[string]int32{ "SEVERITY_UNSPECIFIED": 0, "SEVERITY_INFO": 1, "SEVERITY_LOW": 2, "SEVERITY_MEDIUM": 3, "SEVERITY_HIGH": 4, "SEVERITY_CRITICAL": 5, } )
Enum value maps for Severity.
var File_api_proto_v1_engine_proto protoreflect.FileDescriptor
var File_api_proto_v1_issue_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type Confidence ¶
type Confidence int32
Confidence represents the tool's confidence that an issue exists
const ( // Represents an empty confidence field from a tool Confidence_CONFIDENCE_UNSPECIFIED Confidence = 0 // Represents Confidence "Informational" or generic Warnings Confidence_CONFIDENCE_INFO Confidence = 1 // Represents Confidence "Low" Confidence_CONFIDENCE_LOW Confidence = 2 // Represents Confidence "Medium" Confidence_CONFIDENCE_MEDIUM Confidence = 3 // Represents Confidence "High" Confidence_CONFIDENCE_HIGH Confidence = 4 // Highest Confidence applicable Confidence_CONFIDENCE_CRITICAL Confidence = 5 )
func (Confidence) Descriptor ¶
func (Confidence) Descriptor() protoreflect.EnumDescriptor
func (Confidence) Enum ¶
func (x Confidence) Enum() *Confidence
func (Confidence) EnumDescriptor
deprecated
func (Confidence) EnumDescriptor() ([]byte, []int)
Deprecated: Use Confidence.Descriptor instead.
func (Confidence) Number ¶
func (x Confidence) Number() protoreflect.EnumNumber
func (Confidence) String ¶
func (x Confidence) String() string
func (Confidence) Type ¶
func (Confidence) Type() protoreflect.EnumType
type EnrichedIssue ¶
type EnrichedIssue struct { // the original finding RawIssue *Issue `protobuf:"bytes,1,opt,name=raw_issue,json=rawIssue,proto3" json:"raw_issue,omitempty"` // The first time this issue was seen by the enrichment service FirstSeen *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=first_seen,json=firstSeen,proto3" json:"first_seen,omitempty"` // The number of times this issue was seen Count uint64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` // Whether this issue has been previously marked as a false positive FalsePositive bool `protobuf:"varint,4,opt,name=false_positive,json=falsePositive,proto3" json:"false_positive,omitempty"` // The last time this issue was updated UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` // hash Hash string `protobuf:"bytes,6,opt,name=hash,proto3" json:"hash,omitempty"` // an arbitrary list of extra annotations, reserved for use by the enrichers Annotations map[string]string `` /* 163-byte string literal not displayed */ // contains filtered or unexported fields }
Represents an issue that has been enriched with metadata from the enrichment service
func (*EnrichedIssue) Descriptor
deprecated
func (*EnrichedIssue) Descriptor() ([]byte, []int)
Deprecated: Use EnrichedIssue.ProtoReflect.Descriptor instead.
func (*EnrichedIssue) GetAnnotations ¶
func (x *EnrichedIssue) GetAnnotations() map[string]string
func (*EnrichedIssue) GetCount ¶
func (x *EnrichedIssue) GetCount() uint64
func (*EnrichedIssue) GetFalsePositive ¶
func (x *EnrichedIssue) GetFalsePositive() bool
func (*EnrichedIssue) GetFirstSeen ¶
func (x *EnrichedIssue) GetFirstSeen() *timestamppb.Timestamp
func (*EnrichedIssue) GetHash ¶
func (x *EnrichedIssue) GetHash() string
func (*EnrichedIssue) GetRawIssue ¶
func (x *EnrichedIssue) GetRawIssue() *Issue
func (*EnrichedIssue) GetUpdatedAt ¶
func (x *EnrichedIssue) GetUpdatedAt() *timestamppb.Timestamp
func (*EnrichedIssue) ProtoMessage ¶
func (*EnrichedIssue) ProtoMessage()
func (*EnrichedIssue) ProtoReflect ¶
func (x *EnrichedIssue) ProtoReflect() protoreflect.Message
func (*EnrichedIssue) Reset ¶
func (x *EnrichedIssue) Reset()
func (*EnrichedIssue) String ¶
func (x *EnrichedIssue) String() string
type EnrichedLaunchToolResponse ¶
type EnrichedLaunchToolResponse struct { // The results of the original scan prior to enrichment OriginalResults *LaunchToolResponse `protobuf:"bytes,1,opt,name=original_results,json=originalResults,proto3" json:"original_results,omitempty"` // Enriched, deduplicated issues Issues []*EnrichedIssue `protobuf:"bytes,2,rep,name=issues,proto3" json:"issues,omitempty"` // contains filtered or unexported fields }
An EnrichedLaunchToolResponse consists of deduplicated vulnerability information, with added metadata for consumers
func (*EnrichedLaunchToolResponse) Descriptor
deprecated
func (*EnrichedLaunchToolResponse) Descriptor() ([]byte, []int)
Deprecated: Use EnrichedLaunchToolResponse.ProtoReflect.Descriptor instead.
func (*EnrichedLaunchToolResponse) GetIssues ¶
func (x *EnrichedLaunchToolResponse) GetIssues() []*EnrichedIssue
func (*EnrichedLaunchToolResponse) GetOriginalResults ¶
func (x *EnrichedLaunchToolResponse) GetOriginalResults() *LaunchToolResponse
func (*EnrichedLaunchToolResponse) ProtoMessage ¶
func (*EnrichedLaunchToolResponse) ProtoMessage()
func (*EnrichedLaunchToolResponse) ProtoReflect ¶
func (x *EnrichedLaunchToolResponse) ProtoReflect() protoreflect.Message
func (*EnrichedLaunchToolResponse) Reset ¶
func (x *EnrichedLaunchToolResponse) Reset()
func (*EnrichedLaunchToolResponse) String ¶
func (x *EnrichedLaunchToolResponse) String() string
type Issue ¶
type Issue struct { // Scan target can be host:port, //vault/foo/bar:34-67 or some URL that is semantically a target Target string `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"` // The finding ID from the tool if applicable, otherwise a vulnerability ID such as CWE-ID, etc for XSS, CSRF, etc. Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` // The finding title from the tool Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` // A severity indication, defaults to unspecified Severity Severity `protobuf:"varint,4,opt,name=severity,proto3,enum=ocurity.dracon.v1.Severity" json:"severity,omitempty"` // An optional cvss if the tool reports it Cvss float64 `protobuf:"fixed64,5,opt,name=cvss,proto3" json:"cvss,omitempty"` // Confidence indication, defaults to Unspecified Confidence Confidence `protobuf:"varint,6,opt,name=confidence,proto3,enum=ocurity.dracon.v1.Confidence" json:"confidence,omitempty"` // human readable description of the issue Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` // Source of the scan e.g. https://github.com/ocurity/dracon.git?ref=<revision>, github.com:tektoncd/pipeline.git?ref=<revision>, local?ref=local Source string `protobuf:"bytes,8,opt,name=source,proto3" json:"source,omitempty"` // [Optional] the CVE causing this vulnerability Cve string `protobuf:"bytes,9,opt,name=cve,proto3" json:"cve,omitempty"` // internal field reserved for the enrichment aggregator Uuid string `protobuf:"bytes,10,opt,name=uuid,proto3" json:"uuid,omitempty"` // optional field that allows us to also encode a bill of materials in an issue CycloneDXSBOM *string `protobuf:"bytes,11,opt,name=cyclone_d_x_s_b_o_m,json=cycloneDXSBOM,proto3,oneof" json:"cyclone_d_x_s_b_o_m,omitempty"` // optional string that allows producers to communicate relevant code/request segments ContextSegment *string `protobuf:"bytes,12,opt,name=context_segment,json=contextSegment,proto3,oneof" json:"context_segment,omitempty"` // optionally the related CWEs Cwe []int32 `protobuf:"varint,13,rep,packed,name=cwe,proto3" json:"cwe,omitempty"` // contains filtered or unexported fields }
Issue represents a vulnerability to be processed by consumers
func (*Issue) Descriptor
deprecated
func (*Issue) GetConfidence ¶
func (x *Issue) GetConfidence() Confidence
func (*Issue) GetContextSegment ¶
func (*Issue) GetCycloneDXSBOM ¶
func (*Issue) GetDescription ¶
func (*Issue) GetSeverity ¶
func (*Issue) ProtoMessage ¶
func (*Issue) ProtoMessage()
func (*Issue) ProtoReflect ¶
func (x *Issue) ProtoReflect() protoreflect.Message
type LaunchToolResponse ¶
type LaunchToolResponse struct { // The scan information, see above for details ScanInfo *ScanInfo `protobuf:"bytes,1,opt,name=scan_info,json=scanInfo,proto3" json:"scan_info,omitempty"` // The name of the tool that ran the scan ToolName string `protobuf:"bytes,2,opt,name=tool_name,json=toolName,proto3" json:"tool_name,omitempty"` // Issues discovered during the scan Issues []*Issue `protobuf:"bytes,3,rep,name=issues,proto3" json:"issues,omitempty"` // The target of the scan ScanTarget string `protobuf:"bytes,4,opt,name=scan_target,json=scanTarget,proto3" json:"scan_target,omitempty"` // contains filtered or unexported fields }
LaunchToolResponse consists of a response built by a producer, to be interpreted by a consumer
func (*LaunchToolResponse) Descriptor
deprecated
func (*LaunchToolResponse) Descriptor() ([]byte, []int)
Deprecated: Use LaunchToolResponse.ProtoReflect.Descriptor instead.
func (*LaunchToolResponse) GetIssues ¶
func (x *LaunchToolResponse) GetIssues() []*Issue
func (*LaunchToolResponse) GetScanInfo ¶
func (x *LaunchToolResponse) GetScanInfo() *ScanInfo
func (*LaunchToolResponse) GetScanTarget ¶ added in v0.17.0
func (x *LaunchToolResponse) GetScanTarget() string
func (*LaunchToolResponse) GetToolName ¶
func (x *LaunchToolResponse) GetToolName() string
func (*LaunchToolResponse) ProtoMessage ¶
func (*LaunchToolResponse) ProtoMessage()
func (*LaunchToolResponse) ProtoReflect ¶
func (x *LaunchToolResponse) ProtoReflect() protoreflect.Message
func (*LaunchToolResponse) Reset ¶
func (x *LaunchToolResponse) Reset()
func (*LaunchToolResponse) String ¶
func (x *LaunchToolResponse) String() string
type ScanInfo ¶
type ScanInfo struct { // scan unique identifier ScanUuid string `protobuf:"bytes,1,opt,name=scan_uuid,json=scanUuid,proto3" json:"scan_uuid,omitempty"` // timestamp of when the scan was triggered (passed to LaunchToolResponse) ScanStartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=scan_start_time,json=scanStartTime,proto3" json:"scan_start_time,omitempty"` // [Optional] scan tags is a user defined list of tags for this scan ScanTags map[string]string `` /* 173-byte string literal not displayed */ // contains filtered or unexported fields }
Scan related information, unique and immutable per scan run This message is copied from LaunchToolRequest to LaunchToolResponse by each producer wrapper
func (*ScanInfo) Descriptor
deprecated
func (*ScanInfo) GetScanStartTime ¶
func (x *ScanInfo) GetScanStartTime() *timestamppb.Timestamp
func (*ScanInfo) GetScanTags ¶
func (*ScanInfo) GetScanUuid ¶
func (*ScanInfo) ProtoMessage ¶
func (*ScanInfo) ProtoMessage()
func (*ScanInfo) ProtoReflect ¶
func (x *ScanInfo) ProtoReflect() protoreflect.Message
type Severity ¶
type Severity int32
Severity represents the reported issue severity
const ( // Reserved in case a tool does not report severity Severity_SEVERITY_UNSPECIFIED Severity = 0 // Informational priority findings Severity_SEVERITY_INFO Severity = 1 // Low priority findings Severity_SEVERITY_LOW Severity = 2 // Medium priority findings Severity_SEVERITY_MEDIUM Severity = 3 // High priority findings Severity_SEVERITY_HIGH Severity = 4 // Critical priority findings Severity_SEVERITY_CRITICAL Severity = 5 )
func (Severity) Descriptor ¶
func (Severity) Descriptor() protoreflect.EnumDescriptor
func (Severity) EnumDescriptor
deprecated
func (Severity) Number ¶
func (x Severity) Number() protoreflect.EnumNumber
func (Severity) Type ¶
func (Severity) Type() protoreflect.EnumType