diff --git a/internal/services/formatters/generic/trivy/formatter.go b/internal/services/formatters/generic/trivy/formatter.go index a5886edeb..cae1b8d6f 100644 --- a/internal/services/formatters/generic/trivy/formatter.go +++ b/internal/services/formatters/generic/trivy/formatter.go @@ -34,6 +34,7 @@ import ( "github.com/ZupIT/horusec/internal/helpers/messages" "github.com/ZupIT/horusec/internal/services/formatters" "github.com/ZupIT/horusec/internal/services/formatters/generic/trivy/entities" + "github.com/ZupIT/horusec/internal/utils/file" vulnhash "github.com/ZupIT/horusec/internal/utils/vuln_hash" ) @@ -164,8 +165,9 @@ func (f *Formatter) setVulnerabilities(cmd string, result *entities.Result, path func (f *Formatter) setVulnerabilitiesOutput(vulnerabilities []*entities.Vulnerability, target string) { for _, vuln := range vulnerabilities { addVuln := f.getVulnBase() + addVuln.Code = fmt.Sprintf("%s v%s", vuln.PkgName, vuln.InstalledVersion) + _, _, addVuln.Line = file.GetDependencyInfo(addVuln.Code, target) addVuln.File = target - addVuln.Code = vuln.PkgName addVuln.Details = vuln.GetDetails() addVuln.Severity = severities.GetSeverityByString(vuln.Severity) addVuln = vulnhash.Bind(addVuln) diff --git a/internal/utils/file/file.go b/internal/utils/file/file.go index 33fb13f42..f1a162c09 100644 --- a/internal/utils/file/file.go +++ b/internal/utils/file/file.go @@ -241,7 +241,7 @@ func GetDependencyCodeFilepathAndLine( return "", "", "" } - return getDependencyInfo(paths, dependency) + return GetDependencyInfo(dependency, paths...) } // nolint: funlen @@ -266,12 +266,12 @@ func getPathsByExtension(projectPath, subPath string, extensions ...string) ([]s }) } -// getDependencyInfo return the path inside paths that match the dependency. +// GetDependencyInfo return the path inside paths that match the dependency. // // The line and the dependency trimmed is also returned. // //nolint:funlen,gocyclo -func getDependencyInfo(paths []string, dependency string) (string, string, string) { +func GetDependencyInfo(dependency string, paths ...string) (string, string, string) { var line int for _, path := range paths {