@@ -72,13 +72,11 @@ func (sjc *CmdResultsSimpleJsonConverter) ParseScaIssues(target results.ScanTarg
7272 if sjc .current .Statuses .ScaStatusCode == nil || * sjc .current .Statuses .ScaStatusCode == 0 {
7373 sjc .current .Statuses .ScaStatusCode = & scaResponse .StatusCode
7474 }
75-
76- for _ , applicabilityScanResult := range applicableScan {
75+ for _ , applicableScan := range applicableScan {
7776 if sjc .current .Statuses .ApplicabilityStatusCode == nil || * sjc .current .Statuses .ApplicabilityStatusCode == 0 {
78- sjc .current .Statuses .ApplicabilityStatusCode = & applicabilityScanResult .StatusCode
77+ sjc .current .Statuses .ApplicabilityStatusCode = & applicableScan .StatusCode
7978 }
8079 }
81-
8280 if violations {
8381 err = sjc .parseScaViolations (target , scaResponse .Scan , results .ScanResultsToRuns (applicableScan )... )
8482 } else {
@@ -209,7 +207,7 @@ func PrepareSimpleJsonViolations(target results.ScanTarget, scaResponse services
209207 scaResponse .Violations ,
210208 jasEntitled ,
211209 applicabilityRuns ,
212- addSimpleJsonSecurityViolation (& securityViolationsRows , pretty ),
210+ addSimpleJsonSecurityViolation (target , & securityViolationsRows , pretty ),
213211 addSimpleJsonLicenseViolation (& licenseViolationsRows , pretty ),
214212 addSimpleJsonOperationalRiskViolation (& operationalRiskViolationsRows , pretty ),
215213 )
@@ -223,13 +221,17 @@ func PrepareSimpleJsonVulnerabilities(target results.ScanTarget, scaResponse ser
223221 scaResponse .Vulnerabilities ,
224222 entitledForJas ,
225223 applicabilityRuns ,
226- addSimpleJsonVulnerability (& vulnerabilitiesRows , pretty ),
224+ addSimpleJsonVulnerability (target , & vulnerabilitiesRows , pretty ),
227225 )
228226 return vulnerabilitiesRows , err
229227}
230228
231- func addSimpleJsonVulnerability (vulnerabilitiesRows * []formats.VulnerabilityOrViolationRow , pretty bool ) results.ParseScaVulnerabilityFunc {
229+ func addSimpleJsonVulnerability (target results. ScanTarget , vulnerabilitiesRows * []formats.VulnerabilityOrViolationRow , pretty bool ) results.ParseScaVulnerabilityFunc {
232230 return func (vulnerability services.Vulnerability , cves []formats.CveRow , applicabilityStatus jasutils.ApplicabilityStatus , severity severityutils.Severity , impactedPackagesName , impactedPackagesVersion , impactedPackagesType string , fixedVersion []string , directComponents []formats.ComponentRow , impactPaths [][]formats.ComponentRow ) error {
231+ tech := target .Technology
232+ if tech == "" {
233+ tech = techutils .Technology (impactedPackagesType )
234+ }
233235 * vulnerabilitiesRows = append (* vulnerabilitiesRows ,
234236 formats.VulnerabilityOrViolationRow {
235237 Summary : vulnerability .Summary ,
@@ -246,16 +248,20 @@ func addSimpleJsonVulnerability(vulnerabilitiesRows *[]formats.VulnerabilityOrVi
246248 References : vulnerability .References ,
247249 JfrogResearchInformation : convertJfrogResearchInformation (vulnerability .ExtendedInformation ),
248250 ImpactPaths : impactPaths ,
249- Technology : techutils . Technology ( vulnerability . Technology ) ,
251+ Technology : tech ,
250252 Applicable : applicabilityStatus .ToString (pretty ),
251253 },
252254 )
253255 return nil
254256 }
255257}
256258
257- func addSimpleJsonSecurityViolation (securityViolationsRows * []formats.VulnerabilityOrViolationRow , pretty bool ) results.ParseScaViolationFunc {
259+ func addSimpleJsonSecurityViolation (target results. ScanTarget , securityViolationsRows * []formats.VulnerabilityOrViolationRow , pretty bool ) results.ParseScaViolationFunc {
258260 return func (violation services.Violation , cves []formats.CveRow , applicabilityStatus jasutils.ApplicabilityStatus , severity severityutils.Severity , impactedPackagesName , impactedPackagesVersion , impactedPackagesType string , fixedVersion []string , directComponents []formats.ComponentRow , impactPaths [][]formats.ComponentRow ) error {
261+ tech := target .Technology
262+ if tech == "" {
263+ tech = techutils .Technology (impactedPackagesType )
264+ }
259265 * securityViolationsRows = append (* securityViolationsRows ,
260266 formats.VulnerabilityOrViolationRow {
261267 Summary : violation .Summary ,
@@ -276,7 +282,7 @@ func addSimpleJsonSecurityViolation(securityViolationsRows *[]formats.Vulnerabil
276282 References : violation .References ,
277283 JfrogResearchInformation : convertJfrogResearchInformation (violation .ExtendedInformation ),
278284 ImpactPaths : impactPaths ,
279- Technology : techutils . Technology ( violation . Technology ) ,
285+ Technology : tech ,
280286 Applicable : applicabilityStatus .ToString (pretty ),
281287 },
282288 )
@@ -374,23 +380,22 @@ func addSimpleJsonLicense(licenseViolationsRows *[]formats.LicenseRow) results.P
374380func PrepareSimpleJsonJasIssues (entitledForJas , pretty bool , jasIssues ... * sarif.Run ) ([]formats.SourceCodeRow , error ) {
375381 var rows []formats.SourceCodeRow
376382 err := results .ApplyHandlerToJasIssues (jasIssues , entitledForJas , func (run * sarif.Run , rule * sarif.ReportingDescriptor , severity severityutils.Severity , result * sarif.Result , location * sarif.Location ) error {
377- scannerDescription := ""
378- if rule != nil {
379- scannerDescription = sarifutils .GetRuleFullDescription (rule )
380- }
381383 rows = append (rows ,
382384 formats.SourceCodeRow {
383- RuleId : sarifutils .GetResultRuleId (result ),
384- IssueId : sarifutils .GetResultIssueId (result ),
385- CWE : sarifutils .GetRuleCWE (rule ),
385+ ScannerInfo : formats.ScannerInfo {
386+ RuleId : sarifutils .GetResultRuleId (result ),
387+ Cwe : sarifutils .GetRuleCWE (rule ),
388+ ScannerDescription : sarifutils .GetRuleFullDescription (rule ),
389+ ScannerShortDescription : sarifutils .GetRuleShortDescription (rule ),
390+ },
386391 ViolationContext : formats.ViolationContext {
387392 Watch : sarifutils .GetResultWatches (result ),
393+ IssueId : sarifutils .GetResultIssueId (result ),
388394 Policies : sarifutils .GetResultPolicies (result ),
389395 },
390- SeverityDetails : severityutils .GetAsDetails (severity , jasutils .Applicable , pretty ),
391- Finding : sarifutils .GetResultMsgText (result ),
392- ScannerDescription : scannerDescription ,
393- Fingerprint : sarifutils .GetResultFingerprint (result ),
396+ SeverityDetails : severityutils .GetAsDetails (severity , jasutils .Applicable , pretty ),
397+ Finding : sarifutils .GetResultMsgText (result ),
398+ Fingerprint : sarifutils .GetResultFingerprint (result ),
394399 Location : formats.Location {
395400 File : sarifutils .GetRelativeLocationFileName (location , run .Invocations ),
396401 StartLine : sarifutils .GetLocationStartLine (location ),
0 commit comments