Skip to content

Commit 97dfad1

Browse files
author
Deepak Sharma
authored
fix: enabling exit codes for general cli o/p and updating field names (#43)
* fix: enabling exit codes for general cli o/p * fix * fix * fix * tests
1 parent 6236425 commit 97dfad1

File tree

7 files changed

+24
-23
lines changed

7 files changed

+24
-23
lines changed

analyses/summary/helper_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func TestGetResultSummary(t *testing.T) {
4242
TotalScannedDependencies: 1,
4343
TotalScannedTransitiveDependencies: 0,
4444
TotalVulnerabilities: 1,
45-
CommonlyKnownVulnerabilities: 1,
45+
PubliclyAvailableVulnerabilities: 1,
4646
VulnerabilitiesUniqueToSynk: 0,
4747
DirectVulnerableDependencies: 1,
4848
CriticalVulnerabilities: 0,

analyses/summary/helpers.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func getResultSummary(analysedResult driver.GetResponseType) *StackSummary {
3232
TotalScannedTransitiveDependencies: data.TotalTransitives,
3333
TotalVulnerabilities: data.PublicVul + data.PrivateVul,
3434
DirectVulnerableDependencies: data.DirectVulnerableDependencies,
35-
CommonlyKnownVulnerabilities: data.PublicVul,
35+
PubliclyAvailableVulnerabilities: data.PublicVul,
3636
VulnerabilitiesUniqueToSynk: data.PrivateVul,
3737
CriticalVulnerabilities: data.Severities.Critical,
3838
HighVulnerabilities: data.Severities.High,
@@ -110,7 +110,7 @@ func outputSummaryPlain(result *StackSummary, verboseMsg bool) {
110110
white("Total Scanned Transitive Dependencies: "), white(result.TotalScannedTransitiveDependencies), "\n",
111111
white("Direct Vulnerable Dependencies: "), white(result.DirectVulnerableDependencies), "\n",
112112
white("Total Vulnerabilities: "), white(result.TotalVulnerabilities), "\n",
113-
white("Commonly Known Vulnerabilities: "), white(result.CommonlyKnownVulnerabilities), "\n",
113+
white("Publicly Available Vulnerabilities: "), white(result.PubliclyAvailableVulnerabilities), "\n",
114114
white("Vulnerabilities Unique to Snyk: "), white(result.VulnerabilitiesUniqueToSynk), "\n",
115115
red("Critical Vulnerabilities: "), red(result.CriticalVulnerabilities), "\n",
116116
magenta("High Vulnerabilities: "), magenta(result.HighVulnerabilities), "\n",

analyses/summary/types.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ type SeverityType struct {
1212
type StackSummary struct {
1313
TotalScannedDependencies int `json:"total_scanned_dependencies"`
1414
TotalScannedTransitiveDependencies int `json:"total_scanned_transitives"`
15-
TotalVulnerabilities int `json:"total_vulnerabilites"`
16-
CommonlyKnownVulnerabilities int `json:"commonly_known_vulnerabilites"`
15+
TotalVulnerabilities int `json:"total_vulnerabilities"`
16+
PubliclyAvailableVulnerabilities int `json:"publicly_available_vulnerabilities"`
1717
VulnerabilitiesUniqueToSynk int `json:"vulnerabilities_unique_to_synk"`
1818
DirectVulnerableDependencies int `json:"direct_vulnerable_dependencies"`
1919
LowVulnerabilities int `json:"low_vulnerabilities"`

analyses/verbose/helper.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@ package verbose
33
import (
44
"encoding/json"
55
"fmt"
6-
"github.com/fabric8-analytics/cli-tools/utils"
76
"os"
87
"sort"
98

9+
"github.com/fabric8-analytics/cli-tools/utils"
10+
1011
"github.com/fatih/color"
1112
"github.com/rs/zerolog/log"
1213

@@ -50,11 +51,11 @@ func processVulnerabilities(analysedDeps []driver.AnalysedDepsType) ProcessVulne
5051
processedData := &ProcessVulnerabilities{}
5152
for _, dep := range analysedDeps {
5253
dependency := getDependencyData(dep)
53-
dependency.CommonlyKnownVulnerabilities = getVulnerabilities(dep.PublicVulnerabilities)
54+
dependency.PubliclyAvailableVulnerabilities = getVulnerabilities(dep.PublicVulnerabilities)
5455
dependency.VulnerabilitiesUniqueToSynk = getVulnerabilities(dep.PrivateVulnerabilities)
5556
for _, trans := range dep.VulnerableDependencies {
5657
transitive := getDependencyData(trans)
57-
transitive.CommonlyKnownVulnerabilities = getVulnerabilities(trans.PublicVulnerabilities)
58+
transitive.PubliclyAvailableVulnerabilities = getVulnerabilities(trans.PublicVulnerabilities)
5859
transitive.VulnerabilitiesUniqueToSynk = getVulnerabilities(trans.PrivateVulnerabilities)
5960
dependency.VulnerableTransitives = append(dependency.VulnerableTransitives, transitive)
6061
processedData.Severities = getSeverity(trans.PublicVulnerabilities, processedData.Severities)
@@ -154,13 +155,13 @@ func outputVulDeps(deps []DependenciesType) {
154155
for _, dep := range deps {
155156
pkgName := fmt.Sprintf("%s@%s", cusColor.White(dep.Name), cusColor.White(dep.Version))
156157

157-
if len(dep.CommonlyKnownVulnerabilities)+len(dep.VulnerabilitiesUniqueToSynk) > 0 {
158+
if len(dep.PubliclyAvailableVulnerabilities)+len(dep.VulnerabilitiesUniqueToSynk) > 0 {
158159
fmt.Fprint(os.Stdout,
159160
fmt.Sprintf("\n\tUpgrade %s ", pkgName),
160161
fmt.Sprintf("to %s@%s\n", cusColor.White(dep.Name), cusColor.White(dep.RecommendedVersion)),
161162
)
162-
dep.CommonlyKnownVulnerabilities = append(dep.CommonlyKnownVulnerabilities, dep.VulnerabilitiesUniqueToSynk...)
163-
outputVulType(dep.CommonlyKnownVulnerabilities, pkgName, pkgName)
163+
dep.PubliclyAvailableVulnerabilities = append(dep.PubliclyAvailableVulnerabilities, dep.VulnerabilitiesUniqueToSynk...)
164+
outputVulType(dep.PubliclyAvailableVulnerabilities, pkgName, pkgName)
164165
}
165166
if len(dep.VulnerableTransitives) > 0 {
166167
fmt.Fprint(os.Stdout,
@@ -172,8 +173,8 @@ func outputVulDeps(deps []DependenciesType) {
172173
fmt.Fprint(os.Stdout,
173174
fmt.Sprintf("\t \u2712 %s->%s\n", pkgName, transName),
174175
)
175-
trans.CommonlyKnownVulnerabilities = append(trans.CommonlyKnownVulnerabilities, trans.VulnerabilitiesUniqueToSynk...)
176-
outputVulType(trans.CommonlyKnownVulnerabilities, transName, pkgName)
176+
trans.PubliclyAvailableVulnerabilities = append(trans.PubliclyAvailableVulnerabilities, trans.VulnerabilitiesUniqueToSynk...)
177+
outputVulType(trans.PubliclyAvailableVulnerabilities, transName, pkgName)
177178
}
178179
}
179180
}

analyses/verbose/testdata/verbosedata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"version": "1.1"
88
}],
99
"latest_version": "7.1.2",
10-
"commonly_known_vulnerabilities": [
10+
"publicly_available_vulnerabilities": [
1111
{"id": "ABC-PYTHON-CODECOV-12345", "severity": "medium", "title": "Command Injection1"},
1212
{"id": "ABC-PYTHON-CODECOV-67890", "severity": "medium", "title": "Command Injection2"},
1313
{"id": "ABC-PYTHON-CODECOV-abcde", "severity": "high", "title": "Command Injection3"}

analyses/verbose/types.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ type VulnerabilityType struct {
2424

2525
// DependenciesType verbose output
2626
type DependenciesType struct {
27-
Name string `json:"name"`
28-
Version string `json:"version"`
29-
Transitives []DependenciesType `json:"transitives"`
30-
LatestVersion string `json:"latest_version"`
31-
RecommendedVersion string `json:"recommended_version"`
32-
CommonlyKnownVulnerabilities []VulnerabilityType `json:"commonly_known_vulnerabilities"`
33-
VulnerabilitiesUniqueToSynk []VulnerabilityType `json:"vulnerabilities_unique_with_snyk"`
34-
VulnerableTransitives []DependenciesType `json:"vulnerable_transitives"`
27+
Name string `json:"name"`
28+
Version string `json:"version"`
29+
Transitives []DependenciesType `json:"transitives"`
30+
LatestVersion string `json:"latest_version"`
31+
RecommendedVersion string `json:"recommended_version"`
32+
PubliclyAvailableVulnerabilities []VulnerabilityType `json:"publicly_available_vulnerabilities"`
33+
VulnerabilitiesUniqueToSynk []VulnerabilityType `json:"vulnerabilities_unique_with_snyk"`
34+
VulnerableTransitives []DependenciesType `json:"vulnerable_transitives"`
3535
}
3636

3737
// SeverityType is Possible Types of Severities from Server

cmd/analyse.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func runAnalyse(cmd *cobra.Command, args []string) {
7777
fmt.Fprintln(os.Stdout, "Analysing your Dependency Stack! Please wait...")
7878
}
7979
hasVul := sa.StackAnalyses(requestParams, jsonOut, verboseOut)
80-
if hasVul && jsonOut {
80+
if hasVul {
8181
// Stack has vulnerability, exit with 2 code
8282
os.Exit(2)
8383
}

0 commit comments

Comments
 (0)