aboutsummaryrefslogtreecommitdiff
path: root/cisa/catalog.go
blob: 4e9cc1a4545c2846a5338451b1990422394f066e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package cisa

import (
  "time"
  "github.com/pablotron/cvez/feed"
  "github.com/pablotron/cvez/rfc3339"
)

// 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 rfc3339.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 rfc3339.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"`
}