Commit 7882776 1 parent f2bb9c6 commit 7882776 Copy full SHA for 7882776
File tree 2 files changed +43
-1
lines changed
2 files changed +43
-1
lines changed Original file line number Diff line number Diff line change @@ -90,8 +90,13 @@ func (r Report) consolidate() ConsolidatedReport {
90
90
for _ , m := range r .Resources {
91
91
if vulnerabilitiesOrSecretResource (m ) {
92
92
vulnerabilities = append (vulnerabilities , m )
93
- } else {
93
+ }
94
+ if misconfigsResource (m ) {
95
+ res , ok := index [m .fullname ()]
94
96
index [m .fullname ()] = m
97
+ if ok {
98
+ index [m .fullname ()].Results [0 ].Misconfigurations = append (index [m .fullname ()].Results [0 ].Misconfigurations , res .Results [0 ].Misconfigurations ... )
99
+ }
95
100
}
96
101
}
97
102
@@ -278,6 +283,10 @@ func vulnerabilitiesOrSecretResource(resource Resource) bool {
278
283
return len (resource .Results ) > 0 && (len (resource .Results [0 ].Vulnerabilities ) > 0 || len (resource .Results [0 ].Secrets ) > 0 )
279
284
}
280
285
286
+ func misconfigsResource (resource Resource ) bool {
287
+ return len (resource .Results ) > 0 && len (resource .Results [0 ].Misconfigurations ) > 0
288
+ }
289
+
281
290
func nodeKind (resource Resource ) Resource {
282
291
if nodeInfoResource (resource ) {
283
292
resource .Kind = "Node"
Original file line number Diff line number Diff line change @@ -119,6 +119,23 @@ var (
119
119
},
120
120
}
121
121
122
+ orionDeployWithAnotherMisconfig = Resource {
123
+ Namespace : "default" ,
124
+ Kind : "Deploy" ,
125
+ Name : "orion" ,
126
+ Results : types.Results {
127
+ {
128
+ Misconfigurations : []types.DetectedMisconfiguration {
129
+ {
130
+ ID : "ID201" ,
131
+ Status : types .MisconfStatusFailure ,
132
+ Severity : "HIGH" ,
133
+ },
134
+ },
135
+ },
136
+ },
137
+ }
138
+
122
139
image1WithVulns = Resource {
123
140
Namespace : "default" ,
124
141
Kind : "Pod" ,
@@ -424,6 +441,10 @@ var (
424
441
)
425
442
426
443
func TestReport_consolidate (t * testing.T ) {
444
+ concatenatedResource := orionDeployWithAnotherMisconfig
445
+ concatenatedResource .Results [0 ].Misconfigurations = append (concatenatedResource .Results [0 ].Misconfigurations ,
446
+ deployOrionWithMisconfigs .Results [0 ].Misconfigurations ... )
447
+
427
448
tests := []struct {
428
449
name string
429
450
report Report
@@ -471,6 +492,18 @@ func TestReport_consolidate(t *testing.T) {
471
492
"default/cronjob/hello" : cronjobHelloWithVulns ,
472
493
},
473
494
},
495
+ {
496
+ name : "report with misconfigs in image and pod" ,
497
+ report : Report {
498
+ Resources : []Resource {
499
+ deployOrionWithMisconfigs ,
500
+ orionDeployWithAnotherMisconfig ,
501
+ },
502
+ },
503
+ expectedFindings : map [string ]Resource {
504
+ "default/deploy/orion" : concatenatedResource ,
505
+ },
506
+ },
474
507
{
475
508
name : "report with multi image pod containing vulnerabilities" ,
476
509
report : Report {
You can’t perform that action at this time.
0 commit comments