diff --git a/pkg/report/model/sarif.go b/pkg/report/model/sarif.go index 8dc1eeeb7e2..ced8d407fc5 100644 --- a/pkg/report/model/sarif.go +++ b/pkg/report/model/sarif.go @@ -149,6 +149,7 @@ type sarifResult struct { ResultRuleID string `json:"ruleId"` ResultRuleIndex int `json:"ruleIndex"` ResultKind string `json:"kind"` + ResultLevel string `json:"level,omitempty"` ResultMessage sarifMessage `json:"message"` ResultLocations []sarifLocation `json:"locations"` } @@ -634,8 +635,9 @@ func (sr *sarifReport) BuildSarifIssue(issue *model.QueryResult) string { } ruleIndex := sr.buildSarifRule(&metadata, cisDescriptions) + level := severityLevelEquivalence[issue.Severity] kind := "fail" - if severityLevelEquivalence[issue.Severity] == "none" { + if level == "none" { kind = "informational" } for idx := range issue.Files { @@ -654,6 +656,7 @@ func (sr *sarifReport) BuildSarifIssue(issue *model.QueryResult) string { ResultRuleID: issue.QueryID, ResultRuleIndex: ruleIndex, ResultKind: kind, + ResultLevel: level, ResultMessage: sarifMessage{ Text: issue.Files[idx].KeyActualValue, MessageProperties: messageProperties, diff --git a/pkg/report/model/sarif_test.go b/pkg/report/model/sarif_test.go index b46913a5ec0..c8ccd48057c 100644 --- a/pkg/report/model/sarif_test.go +++ b/pkg/report/model/sarif_test.go @@ -98,6 +98,7 @@ var sarifTests = []sarifTest{ ResultRuleID: "1", ResultRuleIndex: 0, ResultKind: "fail", + ResultLevel: "error", ResultMessage: sarifMessage{Text: "test", MessageProperties: sarifProperties{"platform": "", "riskScore": "6"}}, ResultLocations: []sarifLocation{ { @@ -248,6 +249,7 @@ var sarifTests = []sarifTest{ ResultRuleID: "1", ResultRuleIndex: 0, ResultKind: "fail", + ResultLevel: "error", ResultMessage: sarifMessage{ Text: "test", MessageProperties: sarifProperties{"platform": "", "riskScore": "6"}, @@ -265,6 +267,7 @@ var sarifTests = []sarifTest{ ResultRuleID: "2", ResultRuleIndex: 1, ResultKind: "informational", + ResultLevel: "none", ResultMessage: sarifMessage{ Text: "test", MessageProperties: sarifProperties{"platform": "", "riskScore": "6"},