-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtype_finding.go
More file actions
46 lines (41 loc) · 1.77 KB
/
type_finding.go
File metadata and controls
46 lines (41 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package analyzer
import (
"fmt"
)
type FindingLocation struct {
Path string `json:"path,omitempty"`
Snippet string `json:"snippet,omitempty"`
StartLine int `json:"startLine,omitempty"`
EndLine int `json:"endLine,omitempty"`
StartColumn int `json:"startColumn,omitempty"`
EndColumn int `json:"endColumn,omitempty"`
}
func (location *FindingLocation) String() string {
result := location.Path
if location.StartLine > 0 {
result += fmt.Sprintf(":%d", location.StartLine)
if location.EndLine > 0 {
result += fmt.Sprintf(":%d", location.EndLine)
}
}
return result
}
type SastFinding struct {
ID string `json:"id,omitempty"`
RuleID string `json:"ruleId,omitempty" json:"ruleID,omitempty"`
Identity string `json:"identity,omitempty" json:"identity,omitempty"`
Name string `json:"name,omitempty" json:"name,omitempty"`
Description string `json:"description,omitempty" json:"description,omitempty"`
Category string `json:"category,omitempty" json:"category,omitempty"`
Recommendation string `json:"recommendation,omitempty" json:"recommendation,omitempty"`
Severity Severity `json:"severity,omitempty" json:"severity,omitempty"`
Location *FindingLocation `json:"location,omitempty" json:"location,omitempty"`
Metadata *FindingMetadata `json:"metadata,omitempty" json:"metadata,omitempty"`
}
type FindingMetadata struct {
FindingFlow []FindingLocation `json:"findingFlow,omitempty"`
Cwes []string `json:"cwes,omitempty"`
References []string `json:"references,omitempty"`
Cvss *string `json:"cvss,omitempty"`
CvssScore *string `json:"cvssScore,omitempty"`
}