@@ -134,6 +134,13 @@ func ListGrypeReport(dst io.Writer, src io.Reader) (*tablewriter.Table, error) {
134
134
135
135
table := matrix .Table (dst , header )
136
136
137
+ if len (report .Matches ) == 0 {
138
+ footer := make ([]string , len (header ))
139
+ footer [len (header )- 1 ] = "No Grype Vulnerabilities"
140
+ table .SetFooter (footer )
141
+ table .SetBorder (false )
142
+ }
143
+
137
144
return table , nil
138
145
}
139
146
@@ -182,6 +189,13 @@ func listGrypeWithEPSS(dst io.Writer, src io.Reader, epssData *epss.Data) (*tabl
182
189
183
190
table := matrix .Table (dst , header )
184
191
192
+ if len (report .Matches ) == 0 {
193
+ footer := make ([]string , len (header ))
194
+ footer [len (header )- 1 ] = "No Grype Vulnerabilities"
195
+ table .SetFooter (footer )
196
+ table .SetBorder (false )
197
+ }
198
+
185
199
return table , nil
186
200
}
187
201
@@ -211,6 +225,13 @@ func ListCyclonedx(dst io.Writer, src io.Reader) (*tablewriter.Table, error) {
211
225
header := []string {"Cyclonedx CVE ID" , "Severity" , "Package" , "Link" }
212
226
table := matrix .Table (dst , header )
213
227
228
+ if len (report .Vulnerabilities ) == 0 {
229
+ footer := make ([]string , len (header ))
230
+ footer [len (header )- 1 ] = "No Cyclonedx Vulnerabilities"
231
+ table .SetFooter (footer )
232
+ table .SetBorder (false )
233
+ }
234
+
214
235
return table , nil
215
236
}
216
237
@@ -252,6 +273,13 @@ func listCyclonedxWithEPSS(dst io.Writer, src io.Reader, epssData *epss.Data) (*
252
273
header := []string {"Cyclonedx CVE ID" , "Severity" , "EPSS Score" , "EPSS Prctl" , "affected Packages" , "Link" }
253
274
table := matrix .Table (dst , header )
254
275
276
+ if len (report .Vulnerabilities ) == 0 {
277
+ footer := make ([]string , len (header ))
278
+ footer [len (header )- 1 ] = "No Cyclonedx Vulnerabilities"
279
+ table .SetFooter (footer )
280
+ table .SetBorder (false )
281
+ }
282
+
255
283
return table , nil
256
284
}
257
285
@@ -290,20 +318,27 @@ func ListSemgrep(dst io.Writer, src io.Reader) (*tablewriter.Table, error) {
290
318
header := []string {"Semgrep Check ID" , "Owasp IDs" , "Severity" , "Impact" , "link" }
291
319
table := matrix .Table (dst , header )
292
320
321
+ if len (report .Results ) == 0 {
322
+ footer := make ([]string , len (header ))
323
+ footer [len (header )- 1 ] = "No Semgrep Findings"
324
+ table .SetFooter (footer )
325
+ table .SetBorder (false )
326
+ }
327
+
293
328
return table , nil
294
329
}
295
330
296
331
func listGitleaks (dst io.Writer , src io.Reader ) (* tablewriter.Table , error ) {
297
- report := & artifacts.GitLeaksReportMin {}
298
- if err := json .NewDecoder (src ).Decode (report ); err != nil {
332
+ report := artifacts.GitLeaksReportMin {}
333
+ if err := json .NewDecoder (src ).Decode (& report ); err != nil {
299
334
return nil , err
300
335
}
301
336
302
337
table := tablewriter .NewWriter (dst )
303
338
304
- table . SetHeader ( []string {"Gitleaks Rule ID" , "File" , "Commit" , "Start Line" })
305
-
306
- for _ , finding := range * report {
339
+ header := []string {"Gitleaks Rule ID" , "File" , "Commit" , "Start Line" }
340
+ table . SetHeader ( header )
341
+ for _ , finding := range report {
307
342
row := []string {
308
343
finding .RuleID ,
309
344
finding .FileShort (),
@@ -314,7 +349,10 @@ func listGitleaks(dst io.Writer, src io.Reader) (*tablewriter.Table, error) {
314
349
}
315
350
316
351
if report .Count () == 0 {
317
- table .SetFooter ([]string {"No Gitleaks Findings" })
352
+ footer := make ([]string , len (header ))
353
+ footer [len (header )- 1 ] = "No Gitleaks Findings"
354
+ table .SetFooter (footer )
355
+ table .SetBorder (false )
318
356
}
319
357
320
358
return table , nil
0 commit comments