Issues
Issues are the fundamental weakness detected, regardless of the assets on which they are found. That’s why issues don’t have a lifecycle or state, they only hold information related to their security implications.
The issues stored in the Vulnerability DB are not a static set, instead they are regularly expanded by new issues reported from the vulnerability detection sources that communicate with the VulnDB.
Querying the API for issues
The Vulnerability Database API provides different methods to query information about the issues currently present in the system.
List Issues
List issues endpoint allows to query all the issues currently present in the Vulnerability Database.
curl -H "Content-Type: application/json" \
"https://vulnerabilitydb.example.com/issues"
Get Issue
The Get Issue endpoint allows to query information related with a particular issue, specifying its ID.
curl -H "Content-Type: application/json" \
"https://vulnerabilitydb.example.com/issues/0205a902-64a7-4c77-8d00-5d4c8d06399a"
List Findings by Issue
Sometimes we might want to know which findings are associated with a specific issue. For example, we might want to know which findings are related to TLS POODLE vulnerability. The List Findings by Issue endpoint allows us to do just that, specifying the vulnerability ID for which we want to list its findings. Because we are querying for findings, we can set status querystring param to filter only the ones that are currently OPEN or FIXED.
curl -H "Content-Type: application/json" \
"https://vulnerabilitydb.example.com/issues/20289f5d-8c6e-40e7-81a3-b3e2e0f7fbe5/findings?status=OPEN"
List Targets by Issue
Similar to List Findings by Issue, this endpoint allows to query the list of assets/targets that are affected by a specific issue.
curl -H "Content-Type: application/json" \
"https://vulnerabilitydb.example.com/issues/20289f5d-8c6e-40e7-81a3-b3e2e0f7fbe5/targets"
Get Finding by Issue and Target
This endpoint allows users to get the data for the finding correspondent to a specific issue and target.
curl -H "Content-Type: application/json" \
"https://vulnerabilitydb.example.com/issues/c6a1099c-6141-415c-8fd8-30d68aedb90c/targets/dc7fdc6c-e9d2-4e63-9ef1-ffce36ad6352"
Issue MTTR
MTTR stands for Mean Time To Remediate, and is the average time that elapses since the vulnerability is found until it is fixed. This endpoint allows to query that average time specifically for one particular issue.
curl -H "Content-Type: application/json" \
"https://vulnerabilitydb.example.com/issues/20289f5d-8c6e-40e7-81a3-b3e2e0f7fbe5/mttr"