mirror of
https://github.com/aquasecurity/trivy.git
synced 2025-12-06 04:41:18 -08:00
fix(vuln): In alpine use Name as SrcName (#3079)
This commit is contained in:
@@ -103,7 +103,11 @@ func (s *Scanner) Detect(osVer string, repo *ftypes.Repository, pkgs []ftypes.Pa
|
||||
|
||||
var vulns []types.DetectedVulnerability
|
||||
for _, pkg := range pkgs {
|
||||
advisories, err := s.vs.Get(stream, pkg.SrcName)
|
||||
srcName := pkg.SrcName
|
||||
if srcName == "" {
|
||||
srcName = pkg.Name
|
||||
}
|
||||
advisories, err := s.vs.Get(stream, srcName)
|
||||
if err != nil {
|
||||
return nil, xerrors.Errorf("failed to get alpine advisories: %w", err)
|
||||
}
|
||||
|
||||
@@ -197,6 +197,37 @@ func TestScanner_Detect(t *testing.T) {
|
||||
},
|
||||
wantErr: "failed to get alpine advisories",
|
||||
},
|
||||
{
|
||||
name: "No src name",
|
||||
fixtures: []string{"testdata/fixtures/alpine.yaml", "testdata/fixtures/data-source.yaml"},
|
||||
args: args{
|
||||
osVer: "3.9.3",
|
||||
repo: &ftypes.Repository{
|
||||
Family: os.Alpine,
|
||||
Release: "3.10",
|
||||
},
|
||||
pkgs: []ftypes.Package{
|
||||
{
|
||||
Name: "jq",
|
||||
Version: "1.6-r0",
|
||||
SrcVersion: "1.6-r0",
|
||||
},
|
||||
},
|
||||
},
|
||||
want: []types.DetectedVulnerability{
|
||||
{
|
||||
PkgName: "jq",
|
||||
VulnerabilityID: "CVE-2020-1234",
|
||||
InstalledVersion: "1.6-r0",
|
||||
FixedVersion: "1.6-r1",
|
||||
DataSource: &dbTypes.DataSource{
|
||||
ID: vulnerability.Alpine,
|
||||
Name: "Alpine Secdb",
|
||||
URL: "https://secdb.alpinelinux.org/",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
|
||||
Reference in New Issue
Block a user