aboutsummaryrefslogtreecommitdiff
path: root/cpematch/cpematch.go
diff options
context:
space:
mode:
Diffstat (limited to 'cpematch/cpematch.go')
-rw-r--r--cpematch/cpematch.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/cpematch/cpematch.go b/cpematch/cpematch.go
new file mode 100644
index 0000000..0bae622
--- /dev/null
+++ b/cpematch/cpematch.go
@@ -0,0 +1,31 @@
+// CPE match feed 1.0 parser.
+//
+// Latest CPE match feed available from here:
+// https://nvd.nist.gov/vuln/data-feeds#cpeMatch
+//
+// JSON schema available here:
+// https://csrc.nist.gov/schema/cpematch/feed/1.0/nvd_cpematch_feed_json_1.0.schema
+package cpematch
+
+// CPE name
+type Name struct {
+ Cpe22Uri string `json:"cpe22Uri"`
+ Cpe23Uri string `json:"cpe23Uri"`
+}
+
+// CPE match string or range
+type Match struct {
+ Vulnerable *bool `json:"vulnerable"`
+ Cpe22Uri string `json:"cpe22Uri"`
+ Cpe23Uri string `json:"cpe23Uri"`
+ VersionStartExcluding string `json:"versionStartExcluding"`
+ VersionStartIncluding string `json:"versionStartIncluding"`
+ VersionEndExcluding string `json:"versionEndExcluding"`
+ VersionEndIncluding string `json:"versionEndIncluding"`
+ Names []Name `json:"cpe_name"` // CPE match strings
+}
+
+// CPE matches
+type Matches struct {
+ Matches []Match `json:"matches"` // Array of CPE matches
+}