From c9b32c73ae5d97ab6c66cfaf899ad4da042a0c49 Mon Sep 17 00:00:00 2001 From: laurentiuNiculae Date: Wed, 25 May 2022 17:17:54 +0300 Subject: [PATCH] added more types of severity Signed-off-by: laurentiuNiculae --- go.sum | 2 -- pkg/cli/service.go | 31 +++++++++++++++++++++++++++---- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/go.sum b/go.sum index cc2c1fd8..28511320 100644 --- a/go.sum +++ b/go.sum @@ -2188,8 +2188,6 @@ github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJ github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.3.0/go.mod h1:4c3sLeE8xjNqehmF5RpAFLPLJxXscc0R4l6Zg0P1tTQ= -github.com/openzipkin/zipkin-go v0.3.0/go.mod h1:4c3sLeE8xjNqehmF5RpAFLPLJxXscc0R4l6Zg0P1tTQ= -github.com/oras-project/artifacts-spec v0.0.0-20210914235636-eecc5d95bcee/go.mod h1:Xch2aLzSwtkhbFFN6LUzTfLtukYvMMdXJ4oZ8O7BOdc= github.com/oras-project/artifacts-spec v0.0.0-20210914235636-eecc5d95bcee/go.mod h1:Xch2aLzSwtkhbFFN6LUzTfLtukYvMMdXJ4oZ8O7BOdc= github.com/oras-project/artifacts-spec v1.0.0-draft.1.1 h1:2YMUDyDH0glYA4gNG/zEg9HNVzgGX8kr/NBLR9AQkLQ= github.com/oras-project/artifacts-spec v1.0.0-draft.1.1/go.mod h1:Xch2aLzSwtkhbFFN6LUzTfLtukYvMMdXJ4oZ8O7BOdc= diff --git a/pkg/cli/service.go b/pkg/cli/service.go index f0946c67..78000f40 100644 --- a/pkg/cli/service.go +++ b/pkg/cli/service.go @@ -367,12 +367,20 @@ func (service searchService) getCveByImage(ctx context.Context, config searchCon } func groupCVEsBySeverity(cveList []cve) []cve { - high := make([]cve, 0) - med := make([]cve, 0) - low := make([]cve, 0) + var ( + unknown = make([]cve, 0) + none = make([]cve, 0) + high = make([]cve, 0) + med = make([]cve, 0) + low = make([]cve, 0) + critical = make([]cve, 0) + ) for _, cve := range cveList { switch cve.Severity { + case "NONE": + none = append(none, cve) + case "LOW": low = append(low, cve) @@ -381,10 +389,25 @@ func groupCVEsBySeverity(cveList []cve) []cve { case "HIGH": high = append(high, cve) + + case "CRITICAL": + critical = append(critical, cve) + + default: + unknown = append(unknown, cve) } } + vulnsCount := len(unknown) + len(none) + len(high) + len(med) + len(low) + len(critical) + vulns := make([]cve, 0, vulnsCount) - return append(append(high, med...), low...) + vulns = append(vulns, critical...) + vulns = append(vulns, high...) + vulns = append(vulns, med...) + vulns = append(vulns, low...) + vulns = append(vulns, none...) + vulns = append(vulns, unknown...) + + return vulns } func isContextDone(ctx context.Context) bool {