diff --git a/src/main/scanLogic/scanRunners/analyzerManager.ts b/src/main/scanLogic/scanRunners/analyzerManager.ts index 5135b833..a6d0c7b5 100644 --- a/src/main/scanLogic/scanRunners/analyzerManager.ts +++ b/src/main/scanLogic/scanRunners/analyzerManager.ts @@ -17,7 +17,7 @@ import { LogUtils } from '../../log/logUtils'; export class AnalyzerManager { private static readonly RELATIVE_DOWNLOAD_URL: string = '/xsc-gen-exe-analyzer-manager-local/v1'; private static readonly BINARY_NAME: string = 'analyzerManager'; - public static readonly ANALYZER_MANAGER_VERSION: string = '1.8.14'; + public static readonly ANALYZER_MANAGER_VERSION: string = '1.9.2'; public static readonly ANALYZER_MANAGER_PATH: string = Utils.addWinSuffixIfNeeded( path.join(ScanUtils.getIssuesPath(), AnalyzerManager.BINARY_NAME, AnalyzerManager.BINARY_NAME) ); diff --git a/src/main/scanLogic/scanRunners/analyzerModels.ts b/src/main/scanLogic/scanRunners/analyzerModels.ts index b326d9f9..f576196d 100644 --- a/src/main/scanLogic/scanRunners/analyzerModels.ts +++ b/src/main/scanLogic/scanRunners/analyzerModels.ts @@ -43,6 +43,7 @@ export interface AnalyzerDriver { export interface AnalyzerRule { id: string; fullDescription?: ResultContent; + shortDescription?: ResultContent; properties?: { [key: string]: string }; } diff --git a/src/main/scanLogic/scanRunners/sastScan.ts b/src/main/scanLogic/scanRunners/sastScan.ts index 50c9c65c..96170416 100644 --- a/src/main/scanLogic/scanRunners/sastScan.ts +++ b/src/main/scanLogic/scanRunners/sastScan.ts @@ -136,10 +136,14 @@ export class SastRunner extends JasRunner { // Prepare let rulesFullDescription: Map = new Map(); + let rulesShortDescription: Map = new Map(); for (const rule of analyzerScanRun.tool.driver.rules) { if (rule.fullDescription) { rulesFullDescription.set(rule.id, rule.fullDescription.text); } + if (rule.shortDescription) { + rulesShortDescription.set(rule.id, rule.shortDescription.text); + } } // Generate response data let ignoreCount: number = 0; @@ -149,7 +153,7 @@ export class SastRunner extends JasRunner { ignoreCount++; return; } - this.generateIssueData(sastResponse, analyzeIssue, rulesFullDescription.get(analyzeIssue.ruleId)); + this.generateIssueData(sastResponse, analyzeIssue, rulesFullDescription.get(analyzeIssue.ruleId), rulesShortDescription.get(analyzeIssue.ruleId)); }); sastResponse.ignoreCount = ignoreCount; return sastResponse; @@ -162,10 +166,10 @@ export class SastRunner extends JasRunner { * @param analyzeIssue - Issue to handle and generate information base on it * @param fullDescription - The description of the analyzeIssue */ - public generateIssueData(sastResponse: SastScanResponse, analyzeIssue: AnalyzeIssue, fullDescription?: string) { + public generateIssueData(sastResponse: SastScanResponse, analyzeIssue: AnalyzeIssue, fullDescription?: string, shortDescription?: string) { analyzeIssue.locations.forEach(location => { let fileWithIssues: SastFileIssues = this.getOrCreateSastFileIssues(sastResponse, location.physicalLocation.artifactLocation.uri); - let fileIssue: SastIssue = this.getOrCreateSastIssue(fileWithIssues, analyzeIssue, fullDescription); + let fileIssue: SastIssue = this.getOrCreateSastIssue(fileWithIssues, analyzeIssue, fullDescription, shortDescription); let issueLocation: SastIssueLocation = this.getOrCreateIssueLocation(fileIssue, location.physicalLocation); if (analyzeIssue.codeFlows) { this.generateCodeFlowData(fileWithIssues.full_path, issueLocation, analyzeIssue.codeFlows); @@ -227,7 +231,7 @@ export class SastRunner extends JasRunner { * @param fullDescription - the description of the issue * @returns - the sast issue */ - private getOrCreateSastIssue(fileWithIssues: SastFileIssues, analyzeIssue: AnalyzeIssue, fullDescription?: string): SastIssue { + private getOrCreateSastIssue(fileWithIssues: SastFileIssues, analyzeIssue: AnalyzeIssue, fullDescription?: string, shortDescription?: string): SastIssue { let potential: SastIssue | undefined = fileWithIssues.issues.find(issue => issue.ruleId === analyzeIssue.ruleId); if (potential) { return potential; @@ -235,7 +239,7 @@ export class SastRunner extends JasRunner { let fileIssue: SastIssue = { ruleId: analyzeIssue.ruleId, severity: Translators.levelToSeverity(analyzeIssue.level), - ruleName: analyzeIssue.message.text, + ruleName: shortDescription ?? analyzeIssue.message.text, fullDescription: fullDescription, locations: [] } as SastIssue;