aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2022-03-13 10:18:22 -0400
committerPaul Duncan <pabs@pablotron.org>2022-03-13 10:18:22 -0400
commitfab4b75cf2865e0022e68a8c1d4379a5763a67af (patch)
treee9a1bb770c8206fa9c40f415fa832bc2815d6741
parent9160c2fd5dcf3db9a44539be0ea41eb69eb06b21 (diff)
downloadcvez-fab4b75cf2865e0022e68a8c1d4379a5763a67af.tar.bz2
cvez-fab4b75cf2865e0022e68a8c1d4379a5763a67af.zip
cisa: add catalog.go
-rw-r--r--cisa/catalog.go51
1 files changed, 51 insertions, 0 deletions
diff --git a/cisa/catalog.go b/cisa/catalog.go
new file mode 100644
index 0000000..38116f6
--- /dev/null
+++ b/cisa/catalog.go
@@ -0,0 +1,51 @@
+package cisa
+
+import (
+ "time"
+ "github.com/pablotron/cvez/feed"
+)
+
+// Vulnerability entry.
+type Vulnerability struct {
+ // CVE ID.
+ CveId feed.CveId `json:"cveID"`
+
+ // Vendor or project name.
+ VendorProject string `json:"vendorProject"`
+
+ // Product name.
+ Product string `json:"product"`
+
+ // Vulnerability name.
+ Name string `json:"vulnerabilityName"`
+
+ // Date vulnerability was added to catalog.
+ DateAdded Date `json:"dateAdded"`
+
+ // Short description of vulnerability.
+ ShortDescription string `json:"shortDescription"`
+
+ // Action required to address the Vulnerability.
+ RequiredAction string `json:"requiredAction"`
+
+ // Date that required action is due.
+ DueDate Date `json:"dueDate"`
+}
+
+// Known exploited vulnerabilities catalog.
+type Catalog struct {
+ // Catalog title.
+ Title string `json:"title"`
+
+ // Version of the known exploited vulnerabilities catalog.
+ Version string `json:"catalogVersion"`
+
+ // Catalog release timestamp.
+ DateReleased time.Time `json:"dateReleased"`
+
+ // Total number of vulnerabilities in catalog.
+ Count int64 `json:"count"`
+
+ // Vulnerability entries.
+ Vulnerabilities []Vulnerability `json:"vulnerabilities"`
+}