You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ A good vulnerability database must have the following properties:
10
10
- Easy to [download](#download-pre-built-database-recommended), [integrate](./INTEGRATION.md), and use
11
11
- Performance
12
12
13
-
Multiple upstream sources are used by vdb to improve accuracy and reduce false negatives. SQLite database containing data in CVE 5.0 schema format is precompiled and distributed as files via ghcr to simplify download. With automatic purl prefix generation even for git repos, searches on the database can be performed with purl, cpe, or even http git url string. Every row in the database uses an open specification such as CVE 5.0 or Package URL (purl and vers) thus preventing the possibility of vendor lock-in.
13
+
Multiple upstream sources are used by vdb to improve accuracy and reduce false negatives. SQLite database containing data in CVE 5.1 schema format is precompiled and distributed as files via ghcr to simplify download. With automatic purl prefix generation even for git repos, searches on the database can be performed with purl, cpe, or even http git url string. Every row in the database uses an open specification such as CVE 5.0 or Package URL (purl and vers) thus preventing the possibility of vendor lock-in.
14
14
15
15
## Vulnerability Data sources
16
16
@@ -40,7 +40,7 @@ Multiple upstream sources are used by vdb to improve accuracy and reduce false n
40
40
## Installation
41
41
42
42
```shell
43
-
pip install appthreat-vulnerability-db>=6.0.1
43
+
pip install appthreat-vulnerability-db>=6.2.0
44
44
```
45
45
46
46
To install vdb with optional dependencies such as `oras` use the `[oras]` or `[all]` dependency group.
@@ -49,10 +49,10 @@ To install vdb with optional dependencies such as `oras` use the `[oras]` or `[a
49
49
pip install appthreat-vulnerability-db[all]
50
50
```
51
51
52
-
**NOTE:** VDB v6 is a major rewrite to use SQLite database. Current users of depscan v5 must continue using version 5.6.x
52
+
**NOTE:** VDB v6 is a major rewrite to use SQLite database. Current users of depscan v5 must continue using version 5.8.x
53
53
54
54
```shell
55
-
pip install appthreat-vulnerability-db==5.6.7
55
+
pip install appthreat-vulnerability-db==5.8.0
56
56
```
57
57
58
58
## Usage
@@ -93,7 +93,7 @@ Use any sqlite browser or cli tools to load and query the two databases.
Copy file name to clipboardExpand all lines: data/CVE_Record_Format.json
+62-31Lines changed: 62 additions & 31 deletions
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,8 @@
46
46
]
47
47
}
48
48
}
49
-
}
49
+
},
50
+
"additionalProperties": false
50
51
},
51
52
"cveId": {
52
53
"type": "string",
@@ -74,8 +75,7 @@
74
75
},
75
76
"timestamp": {
76
77
"type": "string",
77
-
"format": "date-time",
78
-
"description": "Date/time format based on RFC3339 and ISO ISO8601, with an optional timezone in the format 'yyyy-MM-ddTHH:mm:ssZZZZ'. If timezone offset is not given, GMT (0000) is assumed.",
78
+
"description": "Date/time format based on RFC3339 and ISO ISO8601, with an optional timezone in the format 'yyyy-MM-ddTHH:mm:ss[+-]ZH:ZM'. If timezone offset is not given, GMT (+00:00) is assumed.",
"description": "This is meta data about the CVE ID such as the CVE ID, who requested it, who assigned it, when it was requested, the current state (PUBLISHED, REJECTED, etc.) and so on. These fields are controlled by the CVE Services.",
@@ -477,7 +484,8 @@
477
484
"description": "Timestamp to be set by the system of record at time of submission. If dateUpdated is provided to the system of record it will be replaced by the current timestamp at the time of submission."
478
485
}
479
486
},
480
-
"required": ["orgId"]
487
+
"required": ["orgId"],
488
+
"additionalProperties": false
481
489
},
482
490
"cnaPublishedContainer": {
483
491
"description": "An object containing the vulnerability information provided by a CVE Numbering Authority (CNA) for a published CVE ID. There can only be one CNA container per CVE record since there can only be one assigning CNA. The CNA container must include the required information defined in the CVE Rules, which includes a product, version, problem type, prose description, and a reference.",
@@ -555,6 +563,7 @@
555
563
"patternProperties": {
556
564
"^x_[^.]*$": {}
557
565
},
566
+
"$comment": "The character . is restricted in names allowed by patternProperties to work-around naming limitations in some common implementations.",
558
567
"additionalProperties": false
559
568
},
560
569
"cnaRejectedContainer": {
@@ -585,6 +594,7 @@
585
594
"patternProperties": {
586
595
"^x_[^.]*$": {}
587
596
},
597
+
"$comment": "The character . is restricted in names allowed by patternProperties to work-around naming limitations in some common implementations.",
588
598
"additionalProperties": false
589
599
},
590
600
"adpContainer": {
@@ -657,6 +667,7 @@
657
667
"patternProperties": {
658
668
"^x_[^.]*$": {}
659
669
},
670
+
"$comment": "The character . is restricted in names allowed by patternProperties to work-around naming limitations in some common implementations.",
660
671
"additionalProperties": false
661
672
},
662
673
"affected": {
@@ -715,7 +726,8 @@
715
726
"required": [
716
727
"type",
717
728
"value"
718
-
]
729
+
],
730
+
"additionalProperties": false
719
731
}
720
732
}
721
733
},
@@ -729,7 +741,8 @@
729
741
"type": "object",
730
742
"description": "A description with lang set to an English language (en, en_US, en_UK, and so on).",
"description": "Prose description of the impact scenario. At a minimum provide the description given by CAPEC.",
820
835
"$ref": "#/definitions/descriptions"
821
836
}
822
-
}
837
+
},
838
+
"additionalProperties": false
823
839
}
824
840
},
825
841
"metrics": {
@@ -829,8 +845,11 @@
829
845
"uniqueItems": true,
830
846
"items": {
831
847
"type": "object",
832
-
"description": "This is impact type information (e.g. a text description, CVSSv2, CVSSv3, etc.). Must contain: At least one entry, can be text, CVSSv2, CVSSv3, others may be added.",
848
+
"description": "This is impact type information (e.g. a text description, CVSSv2, CVSSv3, CVSSV4, etc.). Must contain: At least one entry, can be text, CVSSv2, CVSSv3, others may be added.",
"$comment": "additionalProperties are allowed here, since this construct supports arbitrary JSON.",
896
918
"description": "JSON object not covered by another metrics format.",
897
919
"minProperties": 1
898
920
}
899
-
}
921
+
},
922
+
"additionalProperties": false
900
923
}
901
-
}
924
+
},
925
+
"additionalProperties": false
902
926
}
903
927
},
904
928
"configurations": {
@@ -951,7 +975,7 @@
951
975
],
952
976
"properties": {
953
977
"time": {
954
-
"description": "Timestamp representing when the event in the timeline occurred. The timestamp format is based on RFC3339 and ISO ISO8601, with an optional timezone. yyyy-MM-ddTHH:mm:ssZZZZ - if the timezone offset is not given, GMT (0000) is assumed.",
978
+
"description": "Timestamp representing when the event in the timeline occurred. The timestamp format is based on RFC3339 and ISO ISO8601, with an optional timezone. yyyy-MM-ddTHH:mm:ss[+-]ZH:ZM - if the timezone offset is not given, GMT (+00:00) is assumed.",
955
979
"$ref": "#/definitions/timestamp"
956
980
},
957
981
"lang": {
@@ -964,7 +988,8 @@
964
988
"minLength": 1,
965
989
"maxLength": 4096
966
990
}
967
-
}
991
+
},
992
+
"additionalProperties": false
968
993
}
969
994
},
970
995
"credits": {
@@ -1006,6 +1031,7 @@
1006
1031
]
1007
1032
}
1008
1033
},
1034
+
"additionalProperties": false,
1009
1035
"required": [
1010
1036
"lang",
1011
1037
"value"
@@ -1035,15 +1061,15 @@
1035
1061
"uniqueItems": true,
1036
1062
"items": {
1037
1063
"type": "object",
1038
-
"description": "",
1064
+
"description": "A taxonomy mapping object identifies the taxonomy by a name and version (eg., ATT&CK v13.1, CVSS 3.1, CWE 4.12) along with a list of relations relevant to this CVE.",
1039
1065
"required": [
1040
1066
"taxonomyName",
1041
1067
"taxonomyRelations"
1042
1068
],
1043
1069
"properties": {
1044
1070
"taxonomyName": {
1045
1071
"type": "string",
1046
-
"description": "The name of the taxonomy.",
1072
+
"description": "The name of the taxonomy, eg., ATT&CK, D3FEND, CWE, CVSS",
1047
1073
"minLength": 1,
1048
1074
"maxLength": 128
1049
1075
},
@@ -1055,12 +1081,12 @@
1055
1081
},
1056
1082
"taxonomyRelations": {
1057
1083
"type": "array",
1058
-
"description": "",
1084
+
"description": "List of relationships to the taxonomy for the vulnerability.",
1059
1085
"minItems": 1,
1060
1086
"uniqueItems": true,
1061
1087
"items": {
1062
1088
"type": "object",
1063
-
"description": "List of relationships to the taxonomy for the vulnerability. Relationships can be between the taxonomy and the CVE or two taxonomy items.",
1089
+
"description": "A relationship between the taxonomy and the CVE or two taxonomy items.",
1064
1090
"required": [
1065
1091
"taxonomyId",
1066
1092
"relationshipName",
@@ -1085,17 +1111,20 @@
1085
1111
"minLength": 1,
1086
1112
"maxLength": 2048
1087
1113
}
1088
-
}
1114
+
},
1115
+
"additionalProperties": false
1089
1116
}
1090
1117
}
1091
-
}
1118
+
},
1119
+
"additionalProperties": false
1092
1120
}
1093
1121
},
1094
1122
"tagExtension": {
1095
1123
"type": "string",
1096
1124
"minLength": 2,
1097
1125
"maxLength": 128,
1098
-
"pattern": "^x_.*$"
1126
+
"pattern": "^x_.*$",
1127
+
"$comment": "These values are not used as JSON property names, so there is not a need to work-around property naming limitations in some common implementations."
1099
1128
},
1100
1129
"cnaTags": {
1101
1130
"type": "array",
@@ -1134,6 +1163,7 @@
1134
1163
{
1135
1164
"title": "Published",
1136
1165
"description": "When a CNA populates the data associated with a CVE ID as a CVE Record, the state of the CVE Record is Published.",
1166
+
"type": "object",
1137
1167
"properties": {
1138
1168
"dataType": {
1139
1169
"$ref": "#/definitions/dataType"
@@ -1171,6 +1201,7 @@
1171
1201
{
1172
1202
"title": "Rejected",
1173
1203
"description": "If the CVE ID and associated CVE Record should no longer be used, the CVE Record is placed in the Rejected state. A Rejected CVE Record remains on the CVE List so that users can know when it is invalid.",
0 commit comments