Change model ScanResult.ScannedCves.AffectedPackages
This commit is contained in:
@@ -508,10 +508,15 @@ func (o *debian) scanVulnInfos(updatablePacks models.Packages, meta *cache.Meta)
|
||||
o.log.Debugf("%d Cves are found. cves: %v", len(cveIDs), cveIDs)
|
||||
vinfos := models.VulnInfos{}
|
||||
for cveID, names := range cvePackages {
|
||||
affected := models.PackageStatuses{}
|
||||
for _, n := range names {
|
||||
affected = append(affected, models.PackageStatus{Name: n})
|
||||
}
|
||||
|
||||
vinfos[cveID.CveID] = models.VulnInfo{
|
||||
CveID: cveID.CveID,
|
||||
Confidence: cveID.Confidence,
|
||||
PackageNames: names,
|
||||
CveID: cveID.CveID,
|
||||
Confidence: cveID.Confidence,
|
||||
AffectedPackages: affected,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -164,13 +164,15 @@ func (o *bsd) scanUnsecurePackages() (models.VulnInfos, error) {
|
||||
})
|
||||
}
|
||||
|
||||
names := []string{}
|
||||
affected := models.PackageStatuses{}
|
||||
for name := range packs {
|
||||
names = append(names, name)
|
||||
affected = append(affected, models.PackageStatus{
|
||||
Name: name,
|
||||
})
|
||||
}
|
||||
vinfos[cveID] = models.VulnInfo{
|
||||
CveID: cveID,
|
||||
PackageNames: names,
|
||||
AffectedPackages: affected,
|
||||
DistroAdvisories: disAdvs,
|
||||
Confidence: models.PkgAuditMatch,
|
||||
}
|
||||
|
||||
@@ -610,13 +610,13 @@ func (o *redhat) scanCveIDsInChangelog(updatable models.Packages) (models.VulnIn
|
||||
for name, cveIDs := range packCveIDs {
|
||||
for _, cid := range cveIDs {
|
||||
if v, ok := vinfos[cid]; ok {
|
||||
v.PackageNames = append(v.PackageNames, name)
|
||||
v.AffectedPackages = append(v.AffectedPackages, models.PackageStatus{Name: name})
|
||||
vinfos[cid] = v
|
||||
} else {
|
||||
vinfos[cid] = models.VulnInfo{
|
||||
CveID: cid,
|
||||
PackageNames: []string{name},
|
||||
Confidence: models.ChangelogExactMatch,
|
||||
CveID: cid,
|
||||
AffectedPackages: models.PackageStatuses{{Name: name}},
|
||||
Confidence: models.ChangelogExactMatch,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -703,18 +703,19 @@ func (o *redhat) scanCveIDsByCommands(updatable models.Packages) (models.VulnInf
|
||||
|
||||
packs := dict[advIDCveIDs.DistroAdvisory.AdvisoryID]
|
||||
for _, pack := range packs {
|
||||
vinfo.PackageNames = append(vinfo.PackageNames, pack.Name)
|
||||
vinfo.AffectedPackages = append(vinfo.AffectedPackages,
|
||||
models.PackageStatus{Name: pack.Name})
|
||||
}
|
||||
} else {
|
||||
names := []string{}
|
||||
packs := dict[advIDCveIDs.DistroAdvisory.AdvisoryID]
|
||||
for _, pack := range packs {
|
||||
names = append(names, pack.Name)
|
||||
affected := models.PackageStatuses{}
|
||||
for _, p := range packs {
|
||||
affected = append(affected, models.PackageStatus{Name: p.Name})
|
||||
}
|
||||
vinfo = models.VulnInfo{
|
||||
CveID: cveID,
|
||||
DistroAdvisories: []models.DistroAdvisory{advIDCveIDs.DistroAdvisory},
|
||||
PackageNames: names,
|
||||
AffectedPackages: affected,
|
||||
Confidence: models.YumUpdateSecurityMatch,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user