From 88cd1c832c632f310715e56dac304d5096f74900 Mon Sep 17 00:00:00 2001 From: Antoine FELIX Date: Mon, 29 Sep 2025 18:03:45 +0200 Subject: [PATCH] Added vulnerability properties to project findings tab Added properties to vulnerabilities in project findings: - CVSSv2 Base Score (invisible by default) - CVSSv3 Base Score (invisible by default) - EPSS (invisible by default) - EPSS Percentile (invisible by default) - Priority Score (visible by default) Implements #1341 Signed-off-by: Antoine FELIX --- src/i18n/locales/en.json | 3 +- .../portfolio/projects/ProjectFindings.vue | 52 +++++++++++++++++++ 2 files changed, 54 insertions(+), 1 deletion(-) diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 527fb23f7..f3af74c78 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -913,7 +913,8 @@ "weakness": "Weakness", "will_not_fix": "Will not fix", "workaround_available": "Workaround available", - "x_trust_boundary": "Cross Trust Boundary" + "x_trust_boundary": "Cross Trust Boundary", + "priority_score": "Priority Score" }, "operator": { "contains_all": "contains all", diff --git a/src/views/portfolio/projects/ProjectFindings.vue b/src/views/portfolio/projects/ProjectFindings.vue index 604cb8759..09fa2ccb1 100644 --- a/src/views/portfolio/projects/ProjectFindings.vue +++ b/src/views/portfolio/projects/ProjectFindings.vue @@ -306,6 +306,58 @@ export default { } }, }, + { + title: this.$t('message.cvss_v2'), + field: 'vulnerability.cvssV2BaseScore', + sortable: true, + visible: false, + formatter(value, row, index) { + if (typeof value !== 'undefined') { + return xssFilters.inHTMLData(value); + } + }, + }, + { + title: this.$t('message.cvss_v3'), + field: 'vulnerability.cvssV3BaseScore', + visible: false, + sortable: true, + formatter(value, row, index) { + if (typeof value !== 'undefined') { + return xssFilters.inHTMLData(value); + } + }, + }, + { + title: this.$t('message.epss'), + field: 'vulnerability.epssScore', + visible: false, + sortable: true, + formatter(value, row, index) { + if (typeof value !== 'undefined') { + return xssFilters.inHTMLData(value); + } + }, + }, + { + title: this.$t('message.epss_percentile'), + field: 'vulnerability.epssPercentile', + visible: false, + sortable: true, + formatter(value, row, index) { + if (typeof value !== 'undefined') { + return xssFilters.inHTMLData(value); + } + }, + }, + { + title: this.$t('message.priority_score'), + field: 'vulnerability.priorityScore', + sortable: true, + formatter(value, row, index) { + return value; + }, + }, { title: this.$t('message.analyzer'), field: 'attribution.analyzerIdentity',