Skip to content

Commit d1a617c

Browse files
authored
fix(ms): remove duplicate advisories (future-architect#1490)
1 parent 48f7597 commit d1a617c

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

gost/microsoft.go

+11-7
Original file line numberDiff line numberDiff line change
@@ -130,19 +130,23 @@ func (ms Microsoft) DetectCVEs(r *models.ScanResult, _ bool) (nCVEs int, err err
130130

131131
for cveID, cve := range cves {
132132
cveCont, mitigations := ms.ConvertToModel(&cve)
133-
advisories := []models.DistroAdvisory{}
133+
uniqKB := map[string]struct{}{}
134134
for _, p := range cve.Products {
135135
for _, kb := range p.KBs {
136-
adv := models.DistroAdvisory{
137-
AdvisoryID: kb.Article,
138-
Description: "Microsoft Knowledge Base",
139-
}
140136
if _, err := strconv.Atoi(kb.Article); err == nil {
141-
adv.AdvisoryID = fmt.Sprintf("KB%s", kb.Article)
137+
uniqKB[fmt.Sprintf("KB%s", kb.Article)] = struct{}{}
138+
} else {
139+
uniqKB[kb.Article] = struct{}{}
142140
}
143-
advisories = append(advisories, adv)
144141
}
145142
}
143+
advisories := []models.DistroAdvisory{}
144+
for kb := range uniqKB {
145+
advisories = append(advisories, models.DistroAdvisory{
146+
AdvisoryID: kb,
147+
Description: "Microsoft Knowledge Base",
148+
})
149+
}
146150

147151
r.ScannedCves[cveID] = models.VulnInfo{
148152
CveID: cveID,

0 commit comments

Comments
 (0)