From 2ae8faa7a800fadd700d4fb8efa4173a18fb283a Mon Sep 17 00:00:00 2001 From: Owen Rumney Date: Fri, 13 May 2022 19:02:01 +0100 Subject: [PATCH] feat(kubernetes): Add report flag for summary (#2112) * feat(k8s): Add report flag for summary * chore: add headings to the severity columns * chore: make the default output of k8s summary table Signed-off-by: Owen Rumney --- docs/docs/kubernetes/scanning.md | 20 +++- docs/imgs/k8s-summary.png | Bin 0 -> 157185 bytes go.mod | 16 +-- go.sum | 16 +-- pkg/commands/app.go | 8 ++ pkg/commands/artifact/k8s.go | 5 +- pkg/commands/option/kubernetes.go | 6 +- pkg/report/k8s/k8s.go | 53 ++++++++-- pkg/report/k8s/summary.go | 159 ++++++++++++++++++++++++++++++ 9 files changed, 255 insertions(+), 28 deletions(-) create mode 100644 docs/imgs/k8s-summary.png create mode 100644 pkg/report/k8s/summary.go diff --git a/docs/docs/kubernetes/scanning.md b/docs/docs/kubernetes/scanning.md index 72fd142d71..dff0501ae1 100644 --- a/docs/docs/kubernetes/scanning.md +++ b/docs/docs/kubernetes/scanning.md @@ -6,6 +6,8 @@ This feature might change without preserving backwards compatibility. Scan your Kubernetes cluster for both Vulnerabilities and Misconfigurations. +Trivy uses your local kubectl configuration to access the API server to list artifacts. + Scan a full cluster: ``` @@ -24,13 +26,25 @@ Scan a namespace for only `CRITICAL` Vulnerabilities and Misconfigurations: $ trivy k8s -n default -o results.json --severity CRITICAL ``` -Trivy uses your local kubectl configuration to access the API server to list artifacts. -At this time, JSON is the only supported output and is intended to be used for automation, other reports will be implemented soon. +Scan a cluster and generate a simple summary report. The only outputs currently supported are `all` and `summary`. The default report format is `summary` + +``` +$ trivy k8s +``` + +![k8s Summary Report](../../imgs/k8s-summary.png) + +To get all of the detail the output contains, use `--report all`, to get JSON output: + +``` +$ trivy k8s --report all +``` +
Result -``` +```json { "ClusterName": "minikube", "Vulnerabilities": [ diff --git a/docs/imgs/k8s-summary.png b/docs/imgs/k8s-summary.png new file mode 100644 index 0000000000000000000000000000000000000000..3089dc2f05872b9e3e8e34a62cc9b3b829d5f051 GIT binary patch literal 157185 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 github.com/containerd/containerd v1.5.10 diff --git a/go.sum b/go.sum index 04f4ce1428..3f89153fe8 100644 --- a/go.sum +++ b/go.sum @@ -56,8 +56,8 @@ dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7 github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v56.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go v64.0.0+incompatible h1:WAA77WBDWYtNfCC95V70VvkdzHe+wM/r2MQ9mG7fnQs= -github.com/Azure/azure-sdk-for-go v64.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v63.0.0+incompatible h1:whPsa+jCHQSo5wGMPNLw4bz8q9Co2+vnXHzXGctoTaQ= +github.com/Azure/azure-sdk-for-go v63.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= @@ -180,10 +180,10 @@ github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6 github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 h1:2a30xLN2sUZcMXl50hg+PJCIDdJgIvIbVcKqLJ/ZrtM= github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986/go.mod h1:NT+jyeCzXk6vXR5MTkdn4z64TgGfE5HMLC8qfj5unl8= -github.com/aquasecurity/defsec v0.57.5 h1:kOsRgMlQMxdOHYNEF0SCblZevrsdoz7c4fz5qYTTUFY= -github.com/aquasecurity/defsec v0.57.5/go.mod h1:42FxKif2itz+MHFlJ3TJjdroL9Jzj3THoexlueBTU5w= -github.com/aquasecurity/fanal v0.0.0-20220513163515-33f2cd8392ee h1:O7cN19V4W7u7s7M3kME21/IDUA4iQULDeo9g3DS4gdU= -github.com/aquasecurity/fanal v0.0.0-20220513163515-33f2cd8392ee/go.mod h1:1FqeeQo0AKRIgYgv60r0SOBNMBenxBQF3jAnnICEFIE= +github.com/aquasecurity/defsec v0.57.3 h1:oiATfUTxOAcxAuXSH31RdgjtXJdQznlVzMJWdVYGmXY= +github.com/aquasecurity/defsec v0.57.3/go.mod h1:42FxKif2itz+MHFlJ3TJjdroL9Jzj3THoexlueBTU5w= +github.com/aquasecurity/fanal v0.0.0-20220511115204-32614d79a234 h1:NG9Qs4hocUWcGytaA0yhArPRoPmo12EPAUERwYCgvLA= +github.com/aquasecurity/fanal v0.0.0-20220511115204-32614d79a234/go.mod h1:bqz0H4eqstkngJB0TJCk39GLXZcUtobMpuNr4ScC1vk= github.com/aquasecurity/go-dep-parser v0.0.0-20220503151658-d316f5cc2cff h1:YNlzRYB0n4mZtfuWx6AWaGEjnLVNekchyoFDlYFZegs= github.com/aquasecurity/go-dep-parser v0.0.0-20220503151658-d316f5cc2cff/go.mod h1:7EOQWQmyavVPY3fScbbPdd3dB/b0Q4ZbJ/NZCvNKrLs= github.com/aquasecurity/go-gem-version v0.0.0-20201115065557-8eed6fe000ce h1:QgBRgJvtEOBtUXilDb1MLi1p1MWoyFDXAu5DEUl5nwM= @@ -195,8 +195,8 @@ github.com/aquasecurity/go-pep440-version v0.0.0-20210121094942-22b2f8951d46/go. github.com/aquasecurity/go-version v0.0.0-20201107203531-5e48ac5d022a/go.mod h1:9Beu8XsUNNfzml7WBf3QmyPToP1wm1Gj/Vc5UJKqTzU= github.com/aquasecurity/go-version v0.0.0-20210121072130-637058cfe492 h1:rcEG5HI490FF0a7zuvxOxen52ddygCfNVjP0XOCMl+M= github.com/aquasecurity/go-version v0.0.0-20210121072130-637058cfe492/go.mod h1:9Beu8XsUNNfzml7WBf3QmyPToP1wm1Gj/Vc5UJKqTzU= -github.com/aquasecurity/table v1.2.0 h1:26N9hFB5qttCjWoBgeKIlBtmlCpSwfL01BK7N+IOBN0= -github.com/aquasecurity/table v1.2.0/go.mod h1:1MFKrEPJ8NchM917BrVGvsqoXJo1OL1Ja7dF3PgUea4= +github.com/aquasecurity/table v1.5.1 h1:y05AuHM3p4BGybbGn/XbcTX3RxpyzeTXAXYMcJve4IE= +github.com/aquasecurity/table v1.5.1/go.mod h1:1MFKrEPJ8NchM917BrVGvsqoXJo1OL1Ja7dF3PgUea4= github.com/aquasecurity/testdocker v0.0.0-20210911155206-e1e85f5a1516 h1:moQmzbpLo5dxHQCyEhqzizsDSNrNhn/7uRTCZzo4A1o= github.com/aquasecurity/trivy-db v0.0.0-20220327074450-74195d9604b2 h1:q2Gza4V8uO5C1COzC2HeTbQgJIrmC6dTWaXZ8ujiWu0= github.com/aquasecurity/trivy-db v0.0.0-20220327074450-74195d9604b2/go.mod h1:EwiQRdzVq6k7cKOMjkss8LjWMt2FUW7NaYwE7HfZZvk= diff --git a/pkg/commands/app.go b/pkg/commands/app.go index 6ec860cd87..e40df8eba7 100644 --- a/pkg/commands/app.go +++ b/pkg/commands/app.go @@ -12,6 +12,7 @@ import ( "github.com/aquasecurity/trivy-db/pkg/metadata" dbTypes "github.com/aquasecurity/trivy-db/pkg/types" + "github.com/aquasecurity/trivy/pkg/commands/artifact" "github.com/aquasecurity/trivy/pkg/commands/option" "github.com/aquasecurity/trivy/pkg/commands/plugin" @@ -215,6 +216,12 @@ var ( EnvVars: []string{"TRIVY_K8S_NAMESPACE"}, } + reportFlag = cli.StringFlag{ + Name: "report", + Value: "summary", + Usage: "specify a report format for the output. (all,summary default: all)", + } + // TODO: remove this flag after a sufficient deprecation period. lightFlag = cli.BoolFlag{ Name: "light", @@ -789,6 +796,7 @@ func NewK8sCommand() *cli.Command { Action: artifact.K8sRun, Flags: []cli.Flag{ &namespaceFlag, + &reportFlag, &outputFlag, &severityFlag, &exitCodeFlag, diff --git a/pkg/commands/artifact/k8s.go b/pkg/commands/artifact/k8s.go index 7acca7d3f0..7a22558521 100644 --- a/pkg/commands/artifact/k8s.go +++ b/pkg/commands/artifact/k8s.go @@ -15,6 +15,7 @@ import ( "github.com/aquasecurity/fanal/analyzer" "github.com/aquasecurity/fanal/cache" "github.com/aquasecurity/trivy-db/pkg/db" + "github.com/aquasecurity/trivy/pkg/log" pkgReport "github.com/aquasecurity/trivy/pkg/report" k8sReport "github.com/aquasecurity/trivy/pkg/report/k8s" @@ -76,9 +77,9 @@ func K8sRun(ctx *cli.Context) error { report.ClusterName = cluster.GetCurrentContext() if err = k8sReport.Write(report, pkgReport.Option{ - Format: "json", // for now json is the default + Format: opt.KubernetesOption.ReportFormat, // for now json is the default Output: opt.Output, - }); err != nil { + }, opt.Severities); err != nil { return xerrors.Errorf("unable to write results: %w", err) } diff --git a/pkg/commands/option/kubernetes.go b/pkg/commands/option/kubernetes.go index af13ee6fdb..04ab417c43 100644 --- a/pkg/commands/option/kubernetes.go +++ b/pkg/commands/option/kubernetes.go @@ -6,12 +6,14 @@ import ( // KubernetesOption holds the options for Kubernetes scanning type KubernetesOption struct { - Namespace string + Namespace string + ReportFormat string } // NewKubernetesOption is the factory method to return Kubernetes options func NewKubernetesOption(c *cli.Context) KubernetesOption { return KubernetesOption{ - Namespace: c.String("namespace"), + Namespace: c.String("namespace"), + ReportFormat: c.String("report"), } } diff --git a/pkg/report/k8s/k8s.go b/pkg/report/k8s/k8s.go index 4526ead6ef..f25e331564 100644 --- a/pkg/report/k8s/k8s.go +++ b/pkg/report/k8s/k8s.go @@ -3,6 +3,8 @@ package k8s import ( "golang.org/x/xerrors" + dbTypes "github.com/aquasecurity/trivy-db/pkg/types" + "github.com/aquasecurity/trivy/pkg/report" "github.com/aquasecurity/trivy/pkg/types" ) @@ -15,26 +17,33 @@ type Report struct { Misconfigurations []Resource `json:",omitempty"` } +// ConsolidatedReport represents a kubernetes scan report with consolidated findings +type ConsolidatedReport struct { + SchemaVersion int `json:",omitempty"` + ClusterName string + Findings []Resource `json:",omitempty"` +} + // Resource represents a kubernetes resource report type Resource struct { Namespace string `json:",omitempty"` Kind string Name string - //TODO(josedonizetti): should add metadata? per report? per Result? - //Metadata Metadata `json:",omitempty"` + // TODO(josedonizetti): should add metadata? per report? per Result? + // Metadata Metadata `json:",omitempty"` Results types.Results `json:",omitempty"` Error string `json:",omitempty"` } // Failed returns whether the k8s report includes any vulnerabilities or misconfigurations -func (report Report) Failed() bool { - for _, r := range report.Vulnerabilities { +func (r Report) Failed() bool { + for _, r := range r.Vulnerabilities { if r.Results.Failed() { return true } } - for _, r := range report.Misconfigurations { + for _, r := range r.Misconfigurations { if r.Results.Failed() { return true } @@ -43,17 +52,47 @@ func (report Report) Failed() bool { return false } +func (r Report) consolidate() ConsolidatedReport { + consolidated := ConsolidatedReport{ + SchemaVersion: r.SchemaVersion, + ClusterName: r.ClusterName, + } + + for _, m := range r.Misconfigurations { + found := false + for _, v := range r.Vulnerabilities { + if v.Kind == m.Kind && v.Name == m.Name && v.Namespace == m.Namespace { + consolidated.Findings = append(consolidated.Findings, Resource{ + Namespace: v.Namespace, + Kind: v.Kind, + Name: v.Name, + Results: append(v.Results, m.Results...), + Error: v.Error, + }) + found = true + continue + } + } + if !found { + consolidated.Findings = append(consolidated.Findings, m) + } + } + return consolidated +} + // Writer defines the result write operation type Writer interface { Write(Report) error } // Write writes the results in the give format -func Write(report Report, option report.Option) error { +func Write(report Report, option report.Option, severities []dbTypes.Severity) error { var writer Writer switch option.Format { - case "json": + case "all": writer = &JSONWriter{Output: option.Output} + case "summary": + writer = NewSummaryWriter(option.Output, severities) default: return xerrors.Errorf("unknown format: %v", option.Format) } diff --git a/pkg/report/k8s/summary.go b/pkg/report/k8s/summary.go new file mode 100644 index 0000000000..8d53af2e87 --- /dev/null +++ b/pkg/report/k8s/summary.go @@ -0,0 +1,159 @@ +package k8s + +import ( + "fmt" + "io" + "sort" + "strconv" + "strings" + + "github.com/aquasecurity/table" + dbTypes "github.com/aquasecurity/trivy-db/pkg/types" + + "github.com/liamg/tml" +) + +type SummaryWriter struct { + Output io.Writer + Severities []string + SeverityHeadings []string +} + +func NewSummaryWriter(output io.Writer, requiredSevs []dbTypes.Severity) SummaryWriter { + var severities []string + var severityHeadings []string + severities, severityHeadings = getRequiredSeverities(requiredSevs) + return SummaryWriter{ + Output: output, + Severities: severities, + SeverityHeadings: severityHeadings, + } +} + +// Write writes the results in a summarized table format +func (s SummaryWriter) Write(report Report) error { + consolidated := report.consolidate() + _, _ = fmt.Fprintln(s.Output) + _, _ = fmt.Fprintf(s.Output, "Summary Report for %s\n", consolidated.ClusterName) + + t := table.New(s.Output) + t.SetRowLines(false) + configureHeader(s, t) + + sort.Slice(consolidated.Findings, func(i, j int) bool { + return consolidated.Findings[i].Namespace > consolidated.Findings[j].Namespace + }) + + for _, finding := range consolidated.Findings { + if !finding.Results.Failed() { + continue + } + vCount, mCount, sCount := accumulateSeverityCounts(finding) + name := fmt.Sprintf("%s/%s", finding.Kind, finding.Name) + rowParts := []string{finding.Namespace, name} + rowParts = append(rowParts, s.generateSummary(vCount)...) + rowParts = append(rowParts, s.generateSummary(mCount)...) + rowParts = append(rowParts, s.generateSummary(sCount)...) + + t.AddRow(rowParts...) + } + + t.Render() + + keyParts := []string{"Severities:"} + for _, s := range s.Severities { + keyParts = append(keyParts, fmt.Sprintf("%s=%s", s[:1], colourSeverityValue(s, s))) + } + + _, _ = fmt.Fprintln(s.Output, strings.Join(keyParts, " ")) + _, _ = fmt.Fprintln(s.Output) + return nil +} + +func (s SummaryWriter) generateSummary(sevCount map[string]int) []string { + var parts []string + + for _, sev := range s.Severities { + if count, ok := sevCount[sev]; ok { + parts = append(parts, colourSeverityValue(strconv.Itoa(count), sev)) + } else { + parts = append(parts, " ") + } + } + + return parts +} + +func getRequiredSeverities(requiredSevs []dbTypes.Severity) ([]string, []string) { + requiredSevOrder := []dbTypes.Severity{dbTypes.SeverityCritical, + dbTypes.SeverityHigh, dbTypes.SeverityMedium, + dbTypes.SeverityLow, dbTypes.SeverityUnknown} + var severities []string + var severityHeadings []string + for _, sev := range requiredSevOrder { + for _, p := range requiredSevs { + if p == sev { + severities = append(severities, sev.String()) + severityHeadings = append(severityHeadings, strings.ToUpper(sev.String()[:1])) + continue + } + } + } + return severities, severityHeadings +} + +func accumulateSeverityCounts(finding Resource) (map[string]int, map[string]int, map[string]int) { + vCount := make(map[string]int) + mCount := make(map[string]int) + sCount := make(map[string]int) + for _, r := range finding.Results { + for _, rv := range r.Vulnerabilities { + vCount[rv.Severity] = vCount[rv.Severity] + 1 + } + for _, rv := range r.Misconfigurations { + mCount[rv.Severity] = mCount[rv.Severity] + 1 + } + for _, rv := range r.Secrets { + sCount[rv.Severity] = sCount[rv.Severity] + 1 + } + } + return vCount, mCount, sCount +} + +func configureHeader(s SummaryWriter, t *table.Table) { + sevCount := len(s.Severities) + + headerRow := []string{"Namespace", "Resource"} + // vulnerabilities headings + headerRow = append(headerRow, s.SeverityHeadings...) + // misconfig headings + headerRow = append(headerRow, s.SeverityHeadings...) + // secrets headings + headerRow = append(headerRow, s.SeverityHeadings...) + headerAlignment := []table.Alignment{table.AlignLeft, table.AlignLeft} + + for i := 0; i < len(headerRow)-2; i++ { + headerAlignment = append(headerAlignment, table.AlignCenter) + } + + t.SetHeaders("Namespace", "Resource", "Vulnerabilities", "Misconfigurations", "Secrets") + t.AddHeaders(headerRow...) + t.SetAlignment(headerAlignment...) + t.SetAutoMergeHeaders(true) + t.SetHeaderColSpans(0, 1, 1, sevCount, sevCount, sevCount) +} + +func colourSeverityValue(value string, severity string) string { + switch severity { + case "CRITICAL": + return tml.Sprintf("%s", value) + case "HIGH": + return tml.Sprintf("%s", value) + case "MEDIUM": + return tml.Sprintf("%s", value) + case "UNKNOWN": + return tml.Sprintf("%s", value) + default: + return tml.Sprintf("%s", value) + } +}