@@ -29,6 +29,9 @@ import (
2929 "github.com/package-url/packageurl-go"
3030)
3131
32+ // Set to gitlab output size limit
33+ var rowLengthLimit = 80
34+
3235func PrintFirstPartyScanResults (scanResponse dtos.FirstPartyScanResponse , assetName string , webUI string , assetVersionName string , scannerID string ) error {
3336
3437 if len (scanResponse .FirstPartyVulns ) == 0 {
@@ -40,32 +43,34 @@ func PrintFirstPartyScanResults(scanResponse dtos.FirstPartyScanResponse, assetN
4043 return v .State == dtos .VulnStateOpen
4144 })
4245
46+ tw := table .NewWriter ()
47+ tw .SetAllowedRowLength (rowLengthLimit )
48+
4349 switch scannerID {
4450 case "secret-scanning" :
45- PrintSecretScanResults (openVulns , webUI , assetName , assetVersionName )
51+ PrintSecretScanResults (openVulns , webUI , assetName , assetVersionName , tw )
4652 default :
47- PrintSastScanResults (openVulns , webUI , assetName , assetVersionName )
53+ PrintSastScanResults (openVulns , webUI , assetName , assetVersionName , tw )
4854 }
4955
56+ link := text .FgBlue .Sprint (fmt .Sprintf ("%s/%s/refs/%s/code-risks/" , webUI , assetName , slug .Make (assetVersionName )))
57+ wrappedLink := text .WrapText (link , rowLengthLimit )
58+ tw .AppendRow (table.Row {"Link" , wrappedLink })
59+
60+ fmt .Println (tw .Render ())
61+
5062 if len (openVulns ) > 0 {
5163 return fmt .Errorf ("found %d unhandled vulnerabilities" , len (openVulns ))
5264 }
5365
5466 return nil
5567}
5668
57- func PrintSecretScanResults (firstPartyVulns []dtos.FirstPartyVulnDTO , webUI string , assetName string , assetVersionName string ) {
58- tw := table .NewWriter ()
59- //Set to gitlab output size limit
60- rowLengthLimit := 80
61- tw .SetAllowedRowLength (rowLengthLimit )
62-
63- blue := text .FgBlue
64- green := text .FgGreen
69+ func PrintSecretScanResults (firstPartyVulns []dtos.FirstPartyVulnDTO , webUI string , assetName string , assetVersionName string , tw table.Writer ) {
6570 for _ , vuln := range firstPartyVulns {
6671 raw := []table.Row {
6772 {"RuleID:" , vuln .RuleID },
68- {"File:" , green .Sprint (vuln .URI )},
73+ {"File:" , text . FgGreen .Sprint (vuln .URI )},
6974 }
7075 tw .AppendRows (raw )
7176 for _ , snippet := range vuln .SnippetContents {
@@ -81,40 +86,23 @@ func PrintSecretScanResults(firstPartyVulns []dtos.FirstPartyVulnDTO, webUI stri
8186 tw .AppendRows (raw )
8287 tw .AppendSeparator ()
8388 }
84-
85- link := blue .Sprint (fmt .Sprintf ("%s/%s/refs/%s/code-risks/" , webUI , assetName , slug .Make (assetVersionName )))
86- wrappedLink := text .WrapText (link , rowLengthLimit )
87- tw .AppendRow (table.Row {"Link" , wrappedLink })
88-
89- fmt .Println (tw .Render ())
9089}
9190
92- func PrintSastScanResults (firstPartyVulns []dtos.FirstPartyVulnDTO , webUI , assetName string , assetVersionName string ) {
93- tw := table .NewWriter ()
94- //Set to gitlab output size limit
95- rowLengthLimit := 80
96- tw .SetAllowedRowLength (rowLengthLimit )
91+ func PrintSastScanResults (firstPartyVulns []dtos.FirstPartyVulnDTO , webUI , assetName string , assetVersionName string , tw table.Writer ) {
9792
98- blue := text .FgBlue
99- green := text .FgGreen
10093 for _ , vuln := range firstPartyVulns {
10194 tw .AppendRow (table.Row {"RuleID" , vuln .RuleID })
10295 for _ , snippet := range vuln .SnippetContents {
10396 tw .AppendRow (table.Row {"Snippet" , snippet .Snippet })
10497 }
10598 tw .AppendRow (table.Row {"Message" , text .WrapText (* vuln .Message , rowLengthLimit )})
10699 if vuln .URI != "" {
107- tw .AppendRow (table.Row {"File" , green .Sprint (vuln .URI )})
100+ tw .AppendRow (table.Row {"File" , text . FgGreen .Sprint (vuln .URI )})
108101
109102 }
110103 tw .AppendSeparator ()
111104 }
112105
113- link := blue .Sprint (fmt .Sprintf ("%s/%s/refs/%s/code-risks/" , webUI , assetName , slug .Make (assetVersionName )))
114- wrappedLink := text .WrapText (link , rowLengthLimit )
115- tw .AppendRow (table.Row {"Link" , wrappedLink })
116-
117- fmt .Println (tw .Render ())
118106}
119107
120108// can be reused for container scanning as well.
0 commit comments