feat(cpescan): Use JVN as a second DB for CPE scan (#1268)

* feat(cpescan): Use JVN as a second DB for CPE scan

* feat(tui): display score of detectionmethod

* update go.mod
This commit is contained in:
Kota Kanbe
2021-07-08 12:39:46 +09:00
committed by GitHub
parent 0b9ec05181
commit f0b3a8b1db
7 changed files with 39 additions and 43 deletions

View File

@@ -420,17 +420,21 @@ func DetectCpeURIsCves(r *models.ScanResult, cpeURIs []string, cnf config.GoCveD
return err
}
for _, detail := range details {
confidence := models.CpeVersionMatch
if detail.IsJvn() {
confidence = models.CpeVendorProductMatch
}
if val, ok := r.ScannedCves[detail.CveID]; ok {
names := val.CpeURIs
names = util.AppendIfMissing(names, name)
val.CpeURIs = names
val.Confidences.AppendIfMissing(models.CpeNameMatch)
val.CpeURIs = util.AppendIfMissing(val.CpeURIs, name)
val.Confidences.AppendIfMissing(confidence)
r.ScannedCves[detail.CveID] = val
} else {
v := models.VulnInfo{
CveID: detail.CveID,
CpeURIs: []string{name},
Confidences: models.Confidences{models.CpeNameMatch},
Confidences: models.Confidences{confidence},
}
r.ScannedCves[detail.CveID] = v
nCVEs++