diff --git a/src/main/services/ReportService.ts b/src/main/services/ReportService.ts index be393880..d3cf6d89 100644 --- a/src/main/services/ReportService.ts +++ b/src/main/services/ReportService.ts @@ -103,6 +103,8 @@ class ReportService { // Crypto const crypto = await modelProvider.model.cryptography.findAllIdentifiedMatched(); + this.addCryptoToComponent(licenses, crypto); + // Dependencies const dependenciesSummary = await modelProvider.model.dependency.getIdentifiedSummary(); @@ -134,6 +136,8 @@ class ReportService { // Dependencies const dependenciesSummary = await modelProvider.model.dependency.getDetectedSummary(); + this.addCryptoToComponent(licenses, crypto); + return { licenses, crypto, vulnerabilities: vulnerabilityReport, dependencies: dependenciesSummary, }; @@ -142,6 +146,19 @@ class ReportService { } } + private addCryptoToComponent(licenses: Array, crypto: Array) { + const cryptoMapper = new Map(); + crypto.forEach((c) => cryptoMapper.set(`${c.purl}@${c.version}`, c)); + + licenses.forEach((l) => { + l.components.forEach((c) => { + if (!cryptoMapper.has(`${c.purl}@${c.version}`)) { + c.cryptography = []; + } else { c.cryptography = cryptoMapper.get(`${c.purl}@${c.version}`).algorithms; } + }); + }); + } + private getLicenseReportFromResults(results: any): Array { const licenses: Record = results.reduce( (acc, curr) => {