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
Depscan comes with a suggest mode enabled by default to simplify the triaging experience. The fix version for each vulnerability is retrieved from the sources. Sometimes, there might be known vulnerabilities in the fix version reported. Eg: in the below screenshot the fix versions suggested for jackson-databind might contain known vulnerabilities.
Notice, how the new suggested version is `2.9.10.5` which is an optimal fix version. Please note that the optimal fix version may not be the appropriate version for your application based on compatibility.
27
26
@@ -91,7 +90,7 @@ export FETCH_LICENSE=true
91
90
92
91
The license data is sourced from choosealicense.com and is quite limited. If the license of a given package cannot be reliably matched against this list it will get silently ignored to reduce any noise. This behavior could change in the future once the detection logic gets improved.
The objects available are taken from the CycloneDX \*.vdr.json BOM file generated, just have a look at the file for its full structure:
131
130
132
-
-`metadata`
133
-
-`vulnerabilities`
134
-
-`components`
135
-
-`dependencies`
136
-
-`services`
131
+
-`metadata`
132
+
-`vulnerabilities`
133
+
-`components`
134
+
-`dependencies`
135
+
-`services`
137
136
138
137
`summary` is a dictionary type with vulnerability severity quantities as shown in the example above.
139
138
`pkg_vulnerabilities` - Same as `vulnerabilities` from the VDR
140
139
`pkg_group_rows` - List of vulnerability id and the dependency tree prioritized by depscan.
141
140
142
141
Furthermore, insights are imaginable to be made available to the template, please reach out or contribute on demand.
143
142
We appreciate it if you like to contribute your report templates as examples, please add/find them [here](https://github.com/owasp-dep-scan/dep-scan/blob/master/contrib/report-templates).
143
+
144
+
## Custom Vulnerability Data
145
+
146
+
VDB 6 supports loading custom vulnerability data from a local directory at runtime. This allows you to:
147
+
148
+
1.**Add Private Vulnerabilities:** Include internal CVEs that are not public.
149
+
2.**Override False Positives:** Correct data returned by the official database by marking specific versions as `unaffected`.
150
+
151
+
Custom data must follow the **CVE 5.2 JSON Schema**. Supported file extensions are `.json`, `.yaml`, `.yml`, and `.toml`.
152
+
153
+
To use custom data, pass the directory path to the `--custom-data` argument.
value: "Private vulnerability in internal library"
185
+
affected:
186
+
- vendor: internal
187
+
product: my-lib
188
+
packageName: my-lib
189
+
packageURL: pkg:npm/my-lib
190
+
versions:
191
+
- version: "1.0.0"
192
+
status: affected
193
+
versionType: semver
194
+
lessThan: "2.0.0"
195
+
```
196
+
197
+
### Example 2: Overriding a False Positive
198
+
199
+
If the official database reports `CVE-2023-9999` for `pkg:pypi/requests` but you have determined it is a false positive for your specific version, you can override it using an **ADP (Authorized Data Publisher)** container. This is the recommended way to append or dispute existing vulnerability data.
200
+
201
+
**Logic:** If a CVE ID and Package URL combination exists in your custom data, VDB will **ignore** the entry from the official database and use yours instead.
0 commit comments