internal/worker: add a TriageReason for known vulns

Change-Id: I78b4ab9fa3781d4176253ff284961ec01c213f3e
Reviewed-on: https://go-review.googlesource.com/c/vuln/+/369754
Trust: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Julie Qiu <julie@golang.org>
diff --git a/internal/worker/update.go b/internal/worker/update.go
index b90c554..c844978 100644
--- a/internal/worker/update.go
+++ b/internal/worker/update.go
@@ -274,6 +274,9 @@
 			cr.CVE = cve
 		} else {
 			cr.TriageState = store.TriageStateNoActionNeeded
+			if u.knownIDs[cve.ID] {
+				cr.TriageStateReason = "already in vuln DB"
+			}
 		}
 		if err := tx.CreateCVERecord(cr); err != nil {
 			return false, err
diff --git a/internal/worker/update_test.go b/internal/worker/update_test.go
index e1b6d30..5d50f31 100644
--- a/internal/worker/update_test.go
+++ b/internal/worker/update_test.go
@@ -103,7 +103,8 @@
 	rs[0].CVE = cves[0]
 	rs[1].TriageState = store.TriageStateNoActionNeeded // state is reserved
 	rs[2].TriageState = store.TriageStateNoActionNeeded // state is rejected
-	rs[3].TriageState = store.TriageStateNoActionNeeded // CVE is in the Go vuln DB
+	rs[3].TriageState = store.TriageStateNoActionNeeded
+	rs[3].TriageStateReason = "already in vuln DB"
 
 	// withTriageState returns a copy of r with the TriageState field changed to ts.
 	withTriageState := func(r *store.CVERecord, ts store.TriageState) *store.CVERecord {