From b2775292efe29a9b2ec0ac74745743e7dc86fde4 Mon Sep 17 00:00:00 2001 From: AllForNothing Date: Wed, 13 Oct 2021 16:45:16 +0800 Subject: [PATCH] Remove negligible and unknown severities and add none severity Signed-off-by: AllForNothing --- .../p2p-provider/p2p-provider.service.ts | 7 +- .../artifact-vulnerabilities.component.html | 3 +- .../artifact-vulnerabilities.component.scss | 8 +- .../artifact-vulnerabilities.component.ts | 119 ++++++++++-------- .../result-tip-histogram.component.html | 19 ++- .../result-tip-histogram.component.scss | 6 +- .../result-tip-histogram.component.ts | 47 ++----- .../vulnerability-scanning/scanning.scss | 6 +- src/portal/src/app/shared/units/utils.ts | 14 +-- src/portal/src/i18n/lang/de-de-lang.json | 2 - src/portal/src/i18n/lang/en-us-lang.json | 2 - src/portal/src/i18n/lang/es-es-lang.json | 2 - src/portal/src/i18n/lang/fr-fr-lang.json | 2 - src/portal/src/i18n/lang/pt-br-lang.json | 2 - src/portal/src/i18n/lang/tr-tr-lang.json | 2 - src/portal/src/i18n/lang/zh-cn-lang.json | 4 +- src/portal/src/i18n/lang/zh-tw-lang.json | 2 - 17 files changed, 99 insertions(+), 148 deletions(-) diff --git a/src/portal/src/app/base/project/p2p-provider/p2p-provider.service.ts b/src/portal/src/app/base/project/p2p-provider/p2p-provider.service.ts index 623f37234..344b467aa 100644 --- a/src/portal/src/app/base/project/p2p-provider/p2p-provider.service.ts +++ b/src/portal/src/app/base/project/p2p-provider/p2p-provider.service.ts @@ -80,9 +80,7 @@ export const PROJECT_SEVERITY_LEVEL_MAP = { "high": 4, "medium": 3, "low": 2, - "negligible": 1, - "unknown": 0, - "none": 0 + "none": 1 }; export const PROJECT_SEVERITY_LEVEL_TO_TEXT_MAP = { @@ -90,8 +88,7 @@ export const PROJECT_SEVERITY_LEVEL_TO_TEXT_MAP = { 4: "high", 3: "medium", 2: "low", - 1: "negligible", - 0: "none", + 1: "none", }; export enum FILTER_TYPE { diff --git a/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.html b/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.html index ddd79e417..21e8bafc9 100644 --- a/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.html +++ b/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.html @@ -62,8 +62,7 @@ {{severityText(res.severity) | translate}} {{severityText(res.severity) | translate}} {{severityText(res.severity) | translate}} - {{severityText(res.severity) | translate}} - {{severityText(res.severity) | translate}} + {{severityText(res.severity) | translate}} {{severityText(res.severity) | translate}} {{res.preferred_cvss?.score_v3}} diff --git a/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.scss b/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.scss index eac7a3b6e..01ba718e0 100644 --- a/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.scss +++ b/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.scss @@ -35,11 +35,7 @@ background: #007CBB; color:#cab6b1; } -.label-negligible { - background-color: green; - color:#bad7ba; -} -.label-unknown { +.label-none { background-color: grey; color:#bad7ba; } @@ -54,4 +50,4 @@ } .mt-5px { margin-top: 5px; -} \ No newline at end of file +} diff --git a/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.ts b/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.ts index f83484cd9..8b6924c04 100644 --- a/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.ts +++ b/src/portal/src/app/base/project/repository/artifact/artifact-additions/artifact-vulnerabilities/artifact-vulnerabilities.component.ts @@ -56,15 +56,16 @@ export class ArtifactVulnerabilitiesComponent implements OnInit, OnDestroy { sub: Subscription; hasViewInitWithDelay: boolean = false; currentCVEList: Array<{ "cve_id": string; }> = []; + constructor( - private errorHandler: ErrorHandler, - private additionsService: AdditionsService, - private userPermissionService: UserPermissionService, - private scanningService: ScanningResultService, - private eventService: EventService, - private session: SessionService, - private projectService: ProjectService, - private systemInfoService: SystemInfoService, + private errorHandler: ErrorHandler, + private additionsService: AdditionsService, + private userPermissionService: UserPermissionService, + private scanningService: ScanningResultService, + private eventService: EventService, + private session: SessionService, + private projectService: ProjectService, + private systemInfoService: SystemInfoService, ) { const that = this; this.severitySort = { @@ -101,74 +102,80 @@ export class ArtifactVulnerabilitiesComponent implements OnInit, OnDestroy { this.getCurrentCVEAllowList(); } } + ngOnDestroy() { if (this.sub) { this.sub.unsubscribe(); this.sub = null; } } + getVulnerabilities() { if (this.vulnerabilitiesLink - && !this.vulnerabilitiesLink.absolute - && this.vulnerabilitiesLink.href) { + && !this.vulnerabilitiesLink.absolute + && this.vulnerabilitiesLink.href) { if (!this.hasShowLoading) { this.loading = true; this.hasShowLoading = true; } this.additionsService.getDetailByLink(this.vulnerabilitiesLink.href, true, false) - .pipe(finalize(() => { - this.loading = false; - this.hasShowLoading = false; - })) - .subscribe( - res => { - this.scan_overview = res; - if (this.scan_overview && Object.values(this.scan_overview)[0]) { - this.scanningResults = (Object.values(this.scan_overview)[0] as any).vulnerabilities || []; - // sort - if (this.scanningResults) { - this.scanningResults.sort(((a, b) => this.getLevel(b) - this.getLevel(a))); + .pipe(finalize(() => { + this.loading = false; + this.hasShowLoading = false; + })) + .subscribe( + res => { + this.scan_overview = res; + if (this.scan_overview && Object.values(this.scan_overview)[0]) { + this.scanningResults = (Object.values(this.scan_overview)[0] as any).vulnerabilities || []; + // sort + if (this.scanningResults) { + this.scanningResults.sort(((a, b) => this.getLevel(b) - this.getLevel(a))); + } + this.scanner = (Object.values(this.scan_overview)[0] as any).scanner; + } + }, error => { + this.errorHandler.error(error); } - this.scanner = (Object.values(this.scan_overview)[0] as any).scanner; - } - }, error => { - this.errorHandler.error(error); - } - ); + ); } } + getScanningPermission(): void { const permissions = [ - { resource: USERSTATICPERMISSION.REPOSITORY_TAG_SCAN_JOB.KEY, action: USERSTATICPERMISSION.REPOSITORY_TAG_SCAN_JOB.VALUE.CREATE }, + {resource: USERSTATICPERMISSION.REPOSITORY_TAG_SCAN_JOB.KEY, action: USERSTATICPERMISSION.REPOSITORY_TAG_SCAN_JOB.VALUE.CREATE}, ]; this.userPermissionService.hasProjectPermissions(this.projectId, permissions).subscribe((results: Array) => { this.hasScanningPermission = results[0]; // only has label permission }, error => this.errorHandler.error(error)); } + getProjectScanner(): void { this.hasEnabledScanner = false; this.scanBtnState = ClrLoadingState.LOADING; this.scanningService.getProjectScanner(this.projectId) - .subscribe(response => { - if (response && "{}" !== JSON.stringify(response) && !response.disabled - && response.health === "healthy") { - this.scanBtnState = ClrLoadingState.SUCCESS; - this.hasEnabledScanner = true; - } else { + .subscribe(response => { + if (response && "{}" !== JSON.stringify(response) && !response.disabled + && response.health === "healthy") { + this.scanBtnState = ClrLoadingState.SUCCESS; + this.hasEnabledScanner = true; + } else { + this.scanBtnState = ClrLoadingState.ERROR; + } + this.projectScanner = response; + }, error => { this.scanBtnState = ClrLoadingState.ERROR; - } - this.projectScanner = response; - }, error => { - this.scanBtnState = ClrLoadingState.ERROR; - }); + }); } + getLevel(v: VulnerabilityItem): number { if (v && v.severity && SEVERITY_LEVEL_MAP[v.severity]) { return SEVERITY_LEVEL_MAP[v.severity]; } return 0; } + refresh(): void { this.getVulnerabilities(); } @@ -183,49 +190,55 @@ export class ArtifactVulnerabilitiesComponent implements OnInit, OnDestroy { return 'VULNERABILITY.SEVERITY.MEDIUM'; case VULNERABILITY_SEVERITY.LOW: return 'VULNERABILITY.SEVERITY.LOW'; - case VULNERABILITY_SEVERITY.NEGLIGIBLE: - return 'VULNERABILITY.SEVERITY.NEGLIGIBLE'; - case VULNERABILITY_SEVERITY.UNKNOWN: - return 'VULNERABILITY.SEVERITY.UNKNOWN'; + case VULNERABILITY_SEVERITY.NONE: + return 'VULNERABILITY.SEVERITY.NONE'; default: return 'UNKNOWN'; } } + scanNow() { this.onSendingScanCommand = true; this.eventService.publish(HarborEvent.START_SCAN_ARTIFACT, this.repoName + "/" + this.digest); } + submitFinish(e: boolean) { this.onSendingScanCommand = e; } + submitStopFinish(e: boolean) { this.onSendingStopCommand = e; } + shouldShowBar(): boolean { return this.hasViewInitWithDelay && this.resultBarChartComponent - && (this.resultBarChartComponent.queued + && (this.resultBarChartComponent.queued || this.resultBarChartComponent.scanning || this.resultBarChartComponent.error || this.resultBarChartComponent.stopped); } + hasScanned(): boolean { return this.hasViewInitWithDelay && this.resultBarChartComponent - && !(this.resultBarChartComponent.completed - || this.resultBarChartComponent.error - || this.resultBarChartComponent.queued - || this.resultBarChartComponent.stopped - || this.resultBarChartComponent.scanning); + && !(this.resultBarChartComponent.completed + || this.resultBarChartComponent.error + || this.resultBarChartComponent.queued + || this.resultBarChartComponent.stopped + || this.resultBarChartComponent.scanning); } + handleScanOverview(scanOverview: any): any { if (scanOverview) { return Object.values(scanOverview)[0]; } return null; } + isSystemAdmin(): boolean { const account = this.session.getCurrentUser(); return account && account.has_admin_role; } + getCurrentCVEAllowList() { this.projectService.getProject(this.projectId).subscribe( projectRes => { @@ -245,6 +258,7 @@ export class ArtifactVulnerabilitiesComponent implements OnInit, OnDestroy { } ); } + isInAllowList(CVEId: string): boolean { if (this.currentCVEList && this.currentCVEList.length) { for (let i = 0; i < this.currentCVEList.length; i++) { @@ -255,6 +269,7 @@ export class ArtifactVulnerabilitiesComponent implements OnInit, OnDestroy { } return false; } + getScannerInfo(scanner: ScannerVo): string { if (scanner) { if (scanner.name && scanner.version) { @@ -266,9 +281,10 @@ export class ArtifactVulnerabilitiesComponent implements OnInit, OnDestroy { } return ""; } + isRunningState(): boolean { return this.hasViewInitWithDelay && this.resultBarChartComponent - && (this.resultBarChartComponent.queued || this.resultBarChartComponent.scanning); + && (this.resultBarChartComponent.queued || this.resultBarChartComponent.scanning); } scanOrStop() { @@ -278,6 +294,7 @@ export class ArtifactVulnerabilitiesComponent implements OnInit, OnDestroy { this.scanNow(); } } + stopNow() { this.onSendingStopCommand = true; this.eventService.publish(HarborEvent.STOP_SCAN_ARTIFACT, this.repoName + "/" + this.digest); diff --git a/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.html b/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.html index 0a65b0a8d..2bb9d8715 100644 --- a/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.html +++ b/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.html @@ -1,5 +1,5 @@
- +
@@ -14,7 +14,7 @@
-
+
{{total}} {{'SCANNER.TOTAL' | translate}} @@ -22,11 +22,11 @@ {{fixableCount}} {{'SCANNER.FIXABLE' | translate}}
-
{{'VULNERABILITY.NO_VULNERABILITY' | translate }}
+
{{'VULNERABILITY.NO_VULNERABILITY' | translate }}
-
+
{{vulnerabilitySummary?.severity | slice:0:1}} @@ -45,19 +45,16 @@ {{'VULNERABILITY.OVERALL_SEVERITY' | translate }} {{'VULNERABILITY.SEVERITY.LOW' | translate | titlecase }} - - {{'VULNERABILITY.OVERALL_SEVERITY' | translate }} {{'VULNERABILITY.SEVERITY.UNKNOWN' | translate | titlecase }} - - - {{'VULNERABILITY.OVERALL_SEVERITY' | translate }} {{'VULNERABILITY.SEVERITY.NEGLIGIBLE' | translate | titlecase }} - + {{'VULNERABILITY.OVERALL_SEVERITY' | translate }} {{'VULNERABILITY.SEVERITY.NONE' | translate | titlecase }} + + {{'VULNERABILITY.NO_VULNERABILITY' | translate }}

-
+
diff --git a/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.scss b/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.scss index 430ff7368..77e8a6f6f 100644 --- a/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.scss +++ b/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.scss @@ -257,11 +257,7 @@ hr { background: #007CBB; color:#007CBB; } -.level-negligible { - background-color: green; - color:green; -} -.level-unknown { +.level-none { background-color: grey; color:grey; } diff --git a/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.ts b/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.ts index 3ed523e68..fe62baef8 100644 --- a/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.ts +++ b/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/result-tip-histogram/result-tip-histogram.component.ts @@ -13,8 +13,7 @@ const CLASS_MAP = { "HIGH": "level-high", "MEDIUM": "level-medium", "LOW": "level-low", - "NEGLIGIBLE": "level-negligible", - "UNKNOWN": "level-unknown" + "NONE": "level-none", }; @Component({ @@ -46,12 +45,6 @@ export class ResultTipHistogramComponent implements OnInit { case VULNERABILITY_SEVERITY.LOW: key = "VULNERABILITY.SEVERITY.LOW"; break; - case VULNERABILITY_SEVERITY.NEGLIGIBLE: - key = "VULNERABILITY.SEVERITY.NEGLIGIBLE"; - break; - case VULNERABILITY_SEVERITY.UNKNOWN: - key = "VULNERABILITY.SEVERITY.UNKNOWN"; - break; default: break; } @@ -136,18 +129,10 @@ export class ResultTipHistogramComponent implements OnInit { return 0; } - get unknownCount(): number { + get noneCount(): number { if (this.vulnerabilitySummary && this.vulnerabilitySummary.summary && this.vulnerabilitySummary.summary.summary) { - return this.vulnerabilitySummary.summary.summary[VULNERABILITY_SEVERITY.UNKNOWN]; - } - - return 0; - } - - get negligibleCount(): number { - if (this.sevSummary) { - return this.sevSummary[VULNERABILITY_SEVERITY.NEGLIGIBLE]; + return this.vulnerabilitySummary.summary.summary[VULNERABILITY_SEVERITY.NONE]; } return 0; @@ -173,16 +158,12 @@ export class ResultTipHistogramComponent implements OnInit { get isLow(): boolean { return this.vulnerabilitySummary && VULNERABILITY_SEVERITY.LOW === this.vulnerabilitySummary.severity; } - get isUnknown(): boolean { - return this.vulnerabilitySummary && VULNERABILITY_SEVERITY.UNKNOWN === this.vulnerabilitySummary.severity; - } - get isNegligible(): boolean { - return this.vulnerabilitySummary && VULNERABILITY_SEVERITY.NEGLIGIBLE === this.vulnerabilitySummary.severity; - } get isNone(): boolean { + return this.vulnerabilitySummary && VULNERABILITY_SEVERITY.NONE === this.vulnerabilitySummary.severity; + } + get noVulnerability(): boolean { return this.total === 0; } - getClass(): string { if (this.vulnerabilitySummary && this.vulnerabilitySummary.severity) { if (this.isCritical) { @@ -197,11 +178,8 @@ export class ResultTipHistogramComponent implements OnInit { if (this.isLow) { return CLASS_MAP.LOW; } - if (this.isNegligible) { - return CLASS_MAP.NEGLIGIBLE; - } - if (this.isUnknown) { - return CLASS_MAP.UNKNOWN; + if (this.isNone) { + return CLASS_MAP.NONE; } } return null; @@ -229,13 +207,8 @@ export class ResultTipHistogramComponent implements OnInit { color: '#007CBB' }, { - text: 'VULNERABILITY.SEVERITY.NEGLIGIBLE', - value: this.negligibleCount ? this.negligibleCount : 0, - color: 'green' - }, - { - text: 'VULNERABILITY.SEVERITY.UNKNOWN', - value: this.unknownCount ? this.unknownCount : 0, + text: 'VULNERABILITY.SEVERITY.NONE', + value: this.noneCount ? this.noneCount : 0, color: 'grey' }, ]; diff --git a/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/scanning.scss b/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/scanning.scss index e1e5a013a..dc9d8bd85 100644 --- a/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/scanning.scss +++ b/src/portal/src/app/base/project/repository/artifact/vulnerability-scanning/scanning.scss @@ -152,11 +152,7 @@ hr{ background: #007CBB; color:#cab6b1; } -.label-negligible { - background-color: green; - color:#bad7ba; -} -.label-unknown { +.label-none { background-color: grey; color:#bad7ba; } diff --git a/src/portal/src/app/shared/units/utils.ts b/src/portal/src/app/shared/units/utils.ts index cda94a4ae..6b46d2527 100644 --- a/src/portal/src/app/shared/units/utils.ts +++ b/src/portal/src/app/shared/units/utils.ts @@ -257,8 +257,6 @@ export const VULNERABILITY_SCAN_STATUS = { * The severity of vulnerability scanning */ export const VULNERABILITY_SEVERITY = { - NEGLIGIBLE: "Negligible", - UNKNOWN: "Unknown", LOW: "Low", MEDIUM: "Medium", HIGH: "High", @@ -269,13 +267,11 @@ export const VULNERABILITY_SEVERITY = { * The level of vulnerability severity for comparing */ export const SEVERITY_LEVEL_MAP = { - "Critical": 6, - "High": 5, - "Medium": 4, - "Low": 3, - "Negligible": 2, - "Unknown": 1, - "None": 0 + "Critical": 5, + "High": 4, + "Medium": 3, + "Low": 2, + "None": 1 }; /** diff --git a/src/portal/src/i18n/lang/de-de-lang.json b/src/portal/src/i18n/lang/de-de-lang.json index 3bbc79f42..af8b176ba 100644 --- a/src/portal/src/i18n/lang/de-de-lang.json +++ b/src/portal/src/i18n/lang/de-de-lang.json @@ -1066,8 +1066,6 @@ "HIGH": "Hoch", "MEDIUM": "Mittel", "LOW": "Niedrig", - "NEGLIGIBLE": "Geringfügig", - "UNKNOWN": "Unbekannt", "NONE": "Keine" }, "SINGULAR": "Schwachstelle", diff --git a/src/portal/src/i18n/lang/en-us-lang.json b/src/portal/src/i18n/lang/en-us-lang.json index c61441a75..206c5eeea 100644 --- a/src/portal/src/i18n/lang/en-us-lang.json +++ b/src/portal/src/i18n/lang/en-us-lang.json @@ -1066,8 +1066,6 @@ "HIGH": "High", "MEDIUM": "Medium", "LOW": "Low", - "NEGLIGIBLE": "Negligible", - "UNKNOWN": "Unknown", "NONE": "None" }, "SINGULAR": "vulnerability", diff --git a/src/portal/src/i18n/lang/es-es-lang.json b/src/portal/src/i18n/lang/es-es-lang.json index 4dfca66bd..76e620e9d 100644 --- a/src/portal/src/i18n/lang/es-es-lang.json +++ b/src/portal/src/i18n/lang/es-es-lang.json @@ -1067,8 +1067,6 @@ "HIGH": "High", "MEDIUM": "Medium", "LOW": "Low", - "NEGLIGIBLE": "Negligible", - "UNKNOWN": "Unknown", "NONE": "None" }, "SINGULAR": "vulnerability", diff --git a/src/portal/src/i18n/lang/fr-fr-lang.json b/src/portal/src/i18n/lang/fr-fr-lang.json index 6a56edf0a..d4a0cf9b5 100644 --- a/src/portal/src/i18n/lang/fr-fr-lang.json +++ b/src/portal/src/i18n/lang/fr-fr-lang.json @@ -1039,8 +1039,6 @@ "HIGH": "Haut", "MEDIUM": "Moyen", "LOW": "Bas", - "NEGLIGIBLE": "Négligeable", - "UNKNOWN": "Inconnu", "NONE": "Aucune" }, "SINGULAR": "vulnérabilitée", diff --git a/src/portal/src/i18n/lang/pt-br-lang.json b/src/portal/src/i18n/lang/pt-br-lang.json index 76d037ec5..9173cb38d 100644 --- a/src/portal/src/i18n/lang/pt-br-lang.json +++ b/src/portal/src/i18n/lang/pt-br-lang.json @@ -1062,8 +1062,6 @@ "HIGH": "Alta", "MEDIUM": "Média", "LOW": "Baixa", - "NEGLIGIBLE": "Negligenciável", - "UNKNOWN": "Desconhecida", "NONE": "Nenhum" }, "SINGULAR": "vulnerabilidade", diff --git a/src/portal/src/i18n/lang/tr-tr-lang.json b/src/portal/src/i18n/lang/tr-tr-lang.json index ac09b389c..f69cca0ef 100644 --- a/src/portal/src/i18n/lang/tr-tr-lang.json +++ b/src/portal/src/i18n/lang/tr-tr-lang.json @@ -1066,8 +1066,6 @@ "HIGH": "Yüksek", "MEDIUM": "Orta", "LOW": "Düşük", - "NEGLIGIBLE": "Önemsiz", - "UNKNOWN": "Bilinmiyor", "NONE": "Hiç" }, "SINGULAR": "güvenlik açığı", diff --git a/src/portal/src/i18n/lang/zh-cn-lang.json b/src/portal/src/i18n/lang/zh-cn-lang.json index 20bb0ca46..0d14afe45 100644 --- a/src/portal/src/i18n/lang/zh-cn-lang.json +++ b/src/portal/src/i18n/lang/zh-cn-lang.json @@ -1067,9 +1067,7 @@ "HIGH": "严重", "MEDIUM": "中等", "LOW": "较低", - "NEGLIGIBLE": "可忽略", - "UNKNOWN": "未知", - "NONE": "无" + "NONE": "无评分" }, "SINGULAR": "漏洞", "OVERALL_SEVERITY": "漏洞严重度:", diff --git a/src/portal/src/i18n/lang/zh-tw-lang.json b/src/portal/src/i18n/lang/zh-tw-lang.json index 5308aa1cb..4f6654c95 100644 --- a/src/portal/src/i18n/lang/zh-tw-lang.json +++ b/src/portal/src/i18n/lang/zh-tw-lang.json @@ -1062,8 +1062,6 @@ "HIGH": "嚴重", "MEDIUM": "中等", "LOW": "較低", - "NEGLIGIBLE": "可忽略", - "UNKNOWN":"未知", "NONE":"無" }, "SINGULAR": "漏洞",