From 3de6d27e0c3506cf82d5b785fde2749faece4df7 Mon Sep 17 00:00:00 2001 From: agusgroh Date: Tue, 2 Jan 2024 13:36:00 -0300 Subject: [PATCH] DT-1144 Adds cryptography into report component info --- src/main/services/ReportService.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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) => {