From b524054b24ffdbf41936a97355963c6043e68ecc Mon Sep 17 00:00:00 2001 From: Dima Steklar Date: Thu, 16 Nov 2023 14:24:15 +0200 Subject: [PATCH 1/7] feat(CLI): added platfrom field for sarif format --- pkg/report/model/sarif.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/report/model/sarif.go b/pkg/report/model/sarif.go index b0cc8a9b61f..2182cbe62c9 100644 --- a/pkg/report/model/sarif.go +++ b/pkg/report/model/sarif.go @@ -42,6 +42,7 @@ type ruleCISMetadata struct { type sarifMessage struct { Text string `json:"text"` + MessageProperties sarifProperties `json:"properties,omitempty"` } type sarifComponentReference struct { @@ -294,7 +295,10 @@ func (sr *sarifReport) BuildSarifIssue(issue *model.QueryResult) { ResultRuleID: issue.QueryID, ResultRuleIndex: ruleIndex, ResultKind: kind, - ResultMessage: sarifMessage{Text: issue.Files[idx].KeyActualValue}, + ResultMessage: sarifMessage{ + Text: issue.Files[idx].KeyActualValue, + MessageProperties: sarifProperties{"platform": issue.Platform}, + }, ResultLocations: []sarifLocation{ { PhysicalLocation: sarifPhysicalLocation{ From 11fa79583c49d780dc83143424ce81d8954c40a3 Mon Sep 17 00:00:00 2001 From: Dima Steklar Date: Thu, 16 Nov 2023 15:16:48 +0200 Subject: [PATCH 2/7] fixed tests --- pkg/report/model/sarif_test.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pkg/report/model/sarif_test.go b/pkg/report/model/sarif_test.go index 094bf6cbddb..e17297f8f3e 100644 --- a/pkg/report/model/sarif_test.go +++ b/pkg/report/model/sarif_test.go @@ -89,7 +89,7 @@ var sarifTests = []sarifTest{ ResultRuleID: "1", ResultRuleIndex: 0, ResultKind: "fail", - ResultMessage: sarifMessage{Text: "test"}, + ResultMessage: sarifMessage{Text: "test", MessageProperties: sarifProperties{"platform": ""}}, ResultLocations: []sarifLocation{ { PhysicalLocation: sarifPhysicalLocation{ @@ -193,7 +193,10 @@ var sarifTests = []sarifTest{ ResultRuleID: "1", ResultRuleIndex: 0, ResultKind: "fail", - ResultMessage: sarifMessage{Text: "test"}, + ResultMessage: sarifMessage{ + Text: "test", + MessageProperties: sarifProperties{"platform": ""}, + }, ResultLocations: []sarifLocation{ { PhysicalLocation: sarifPhysicalLocation{ @@ -207,7 +210,10 @@ var sarifTests = []sarifTest{ ResultRuleID: "1", ResultRuleIndex: 0, ResultKind: "fail", - ResultMessage: sarifMessage{Text: "test"}, + ResultMessage: sarifMessage{ + Text: "test", + MessageProperties: sarifProperties{"platform": ""}, + }, ResultLocations: []sarifLocation{ { PhysicalLocation: sarifPhysicalLocation{ @@ -221,7 +227,10 @@ var sarifTests = []sarifTest{ ResultRuleID: "2", ResultRuleIndex: 1, ResultKind: "informational", - ResultMessage: sarifMessage{Text: "test"}, + ResultMessage: sarifMessage{ + Text: "test", + MessageProperties: sarifProperties{"platform": ""}, + }, ResultLocations: []sarifLocation{ { PhysicalLocation: sarifPhysicalLocation{ From 23c20ce5f7360f33582a57698fce889d094479ef Mon Sep 17 00:00:00 2001 From: Dima Steklar Date: Thu, 16 Nov 2023 15:22:34 +0200 Subject: [PATCH 3/7] added spaces --- pkg/report/model/sarif.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/report/model/sarif.go b/pkg/report/model/sarif.go index 2182cbe62c9..67ddadcce89 100644 --- a/pkg/report/model/sarif.go +++ b/pkg/report/model/sarif.go @@ -41,7 +41,7 @@ type ruleCISMetadata struct { } type sarifMessage struct { - Text string `json:"text"` + Text string `json:"text"` MessageProperties sarifProperties `json:"properties,omitempty"` } @@ -295,8 +295,8 @@ func (sr *sarifReport) BuildSarifIssue(issue *model.QueryResult) { ResultRuleID: issue.QueryID, ResultRuleIndex: ruleIndex, ResultKind: kind, - ResultMessage: sarifMessage{ - Text: issue.Files[idx].KeyActualValue, + ResultMessage: sarifMessage{ + Text: issue.Files[idx].KeyActualValue, MessageProperties: sarifProperties{"platform": issue.Platform}, }, ResultLocations: []sarifLocation{ From e2e00a5ab1bf1ae41df0fd01647d5ade5ecc3af4 Mon Sep 17 00:00:00 2001 From: Dima Steklar Date: Thu, 16 Nov 2023 14:24:15 +0200 Subject: [PATCH 4/7] feat(CLI): added platfrom field for sarif format --- pkg/report/model/sarif.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/report/model/sarif.go b/pkg/report/model/sarif.go index b0cc8a9b61f..2182cbe62c9 100644 --- a/pkg/report/model/sarif.go +++ b/pkg/report/model/sarif.go @@ -42,6 +42,7 @@ type ruleCISMetadata struct { type sarifMessage struct { Text string `json:"text"` + MessageProperties sarifProperties `json:"properties,omitempty"` } type sarifComponentReference struct { @@ -294,7 +295,10 @@ func (sr *sarifReport) BuildSarifIssue(issue *model.QueryResult) { ResultRuleID: issue.QueryID, ResultRuleIndex: ruleIndex, ResultKind: kind, - ResultMessage: sarifMessage{Text: issue.Files[idx].KeyActualValue}, + ResultMessage: sarifMessage{ + Text: issue.Files[idx].KeyActualValue, + MessageProperties: sarifProperties{"platform": issue.Platform}, + }, ResultLocations: []sarifLocation{ { PhysicalLocation: sarifPhysicalLocation{ From 177a2152f39dba5a13d122e4d0c21a7217cfced1 Mon Sep 17 00:00:00 2001 From: Dima Steklar Date: Thu, 16 Nov 2023 15:16:48 +0200 Subject: [PATCH 5/7] fixed tests --- pkg/report/model/sarif_test.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pkg/report/model/sarif_test.go b/pkg/report/model/sarif_test.go index 094bf6cbddb..e17297f8f3e 100644 --- a/pkg/report/model/sarif_test.go +++ b/pkg/report/model/sarif_test.go @@ -89,7 +89,7 @@ var sarifTests = []sarifTest{ ResultRuleID: "1", ResultRuleIndex: 0, ResultKind: "fail", - ResultMessage: sarifMessage{Text: "test"}, + ResultMessage: sarifMessage{Text: "test", MessageProperties: sarifProperties{"platform": ""}}, ResultLocations: []sarifLocation{ { PhysicalLocation: sarifPhysicalLocation{ @@ -193,7 +193,10 @@ var sarifTests = []sarifTest{ ResultRuleID: "1", ResultRuleIndex: 0, ResultKind: "fail", - ResultMessage: sarifMessage{Text: "test"}, + ResultMessage: sarifMessage{ + Text: "test", + MessageProperties: sarifProperties{"platform": ""}, + }, ResultLocations: []sarifLocation{ { PhysicalLocation: sarifPhysicalLocation{ @@ -207,7 +210,10 @@ var sarifTests = []sarifTest{ ResultRuleID: "1", ResultRuleIndex: 0, ResultKind: "fail", - ResultMessage: sarifMessage{Text: "test"}, + ResultMessage: sarifMessage{ + Text: "test", + MessageProperties: sarifProperties{"platform": ""}, + }, ResultLocations: []sarifLocation{ { PhysicalLocation: sarifPhysicalLocation{ @@ -221,7 +227,10 @@ var sarifTests = []sarifTest{ ResultRuleID: "2", ResultRuleIndex: 1, ResultKind: "informational", - ResultMessage: sarifMessage{Text: "test"}, + ResultMessage: sarifMessage{ + Text: "test", + MessageProperties: sarifProperties{"platform": ""}, + }, ResultLocations: []sarifLocation{ { PhysicalLocation: sarifPhysicalLocation{ From cecfa1b66e582a27f62188dbd476a5b1413994f1 Mon Sep 17 00:00:00 2001 From: Dima Steklar Date: Thu, 16 Nov 2023 15:22:34 +0200 Subject: [PATCH 6/7] added spaces --- pkg/report/model/sarif.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/report/model/sarif.go b/pkg/report/model/sarif.go index 2182cbe62c9..67ddadcce89 100644 --- a/pkg/report/model/sarif.go +++ b/pkg/report/model/sarif.go @@ -41,7 +41,7 @@ type ruleCISMetadata struct { } type sarifMessage struct { - Text string `json:"text"` + Text string `json:"text"` MessageProperties sarifProperties `json:"properties,omitempty"` } @@ -295,8 +295,8 @@ func (sr *sarifReport) BuildSarifIssue(issue *model.QueryResult) { ResultRuleID: issue.QueryID, ResultRuleIndex: ruleIndex, ResultKind: kind, - ResultMessage: sarifMessage{ - Text: issue.Files[idx].KeyActualValue, + ResultMessage: sarifMessage{ + Text: issue.Files[idx].KeyActualValue, MessageProperties: sarifProperties{"platform": issue.Platform}, }, ResultLocations: []sarifLocation{ From d8b66c56a0a7229b6a44650fd82d0c52de3864cf Mon Sep 17 00:00:00 2001 From: Dima Steklar Date: Tue, 28 Nov 2023 11:20:11 +0200 Subject: [PATCH 7/7] fixed e2e tests --- e2e/fixtures/schemas/result-sarif-required.json | 10 +++++++++- e2e/fixtures/schemas/result-sarif.json | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/e2e/fixtures/schemas/result-sarif-required.json b/e2e/fixtures/schemas/result-sarif-required.json index 4d25cfce2d5..6e343b63fed 100644 --- a/e2e/fixtures/schemas/result-sarif-required.json +++ b/e2e/fixtures/schemas/result-sarif-required.json @@ -206,7 +206,15 @@ ] }, "message": { - "$ref": "#/definitions/text_object" + "type": "object", + "additionalProperties": true, + "required": ["text"], + "properties": { + "text": { + "type": "string", + "minLength": 1 + } + } }, "locations": { "type": "array", diff --git a/e2e/fixtures/schemas/result-sarif.json b/e2e/fixtures/schemas/result-sarif.json index 697d44a82eb..27da23cfe53 100644 --- a/e2e/fixtures/schemas/result-sarif.json +++ b/e2e/fixtures/schemas/result-sarif.json @@ -217,7 +217,15 @@ ] }, "message": { - "$ref": "#/definitions/text_object" + "type": "object", + "additionalProperties": true, + "required": ["text"], + "properties": { + "text": { + "type": "string", + "minLength": 1 + } + } }, "locations": { "type": "array",