fix(ms): remove duplicate advisories (#1490)

This commit is contained in:
MaineK00n
2022-07-14 09:26:30 +09:00
committed by GitHub
parent 48f7597bcf
commit d1a617cfff

View File

@@ -130,19 +130,23 @@ func (ms Microsoft) DetectCVEs(r *models.ScanResult, _ bool) (nCVEs int, err err
for cveID, cve := range cves {
cveCont, mitigations := ms.ConvertToModel(&cve)
advisories := []models.DistroAdvisory{}
uniqKB := map[string]struct{}{}
for _, p := range cve.Products {
for _, kb := range p.KBs {
adv := models.DistroAdvisory{
AdvisoryID: kb.Article,
Description: "Microsoft Knowledge Base",
}
if _, err := strconv.Atoi(kb.Article); err == nil {
adv.AdvisoryID = fmt.Sprintf("KB%s", kb.Article)
uniqKB[fmt.Sprintf("KB%s", kb.Article)] = struct{}{}
} else {
uniqKB[kb.Article] = struct{}{}
}
advisories = append(advisories, adv)
}
}
advisories := []models.DistroAdvisory{}
for kb := range uniqKB {
advisories = append(advisories, models.DistroAdvisory{
AdvisoryID: kb,
Description: "Microsoft Knowledge Base",
})
}
r.ScannedCves[cveID] = models.VulnInfo{
CveID: cveID,