-
Notifications
You must be signed in to change notification settings - Fork 444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
qualys_vmdr: expand CVE list for each vulnerability #9375
Conversation
🚀 Benchmarks reportTo see the full report comment with |
This is the equivalent change to the asset_host_detection change for v2.0.0 Reference for the DTD: https://cdn2.qualys.com/docs/qualys-api-vmpc-xml-dtd-reference.pdf
I think we can keep it to something simpler like an array of all CVEs. If we have one document per CVE per QID, it'll make enrichment harder (as it'll match multiple documents). By keeping an array of CVEs, we can easily enrich on any CVE in the array. I think the final document should be similar to the following: [
{
"qualys_vmdr": {
"knowledge_base": {
"title": "Amazon Linux Security Advisory for Hypertext Preprocessor (PHP) : ALAS2PHP8.0-2023-005",
"qid": "356044",
"cve_list": [
"CVE-2022-31629",
"CVE-2022-31628"
]
}
}
},
{
"qualys_vmdr": {
"knowledge_base": {
"title": "Another vulnerability",
"qid": "111111",
"cve_list": [
"CVE-2024-00001",
"CVE-2024-00002"
]
}
}
}
] |
@clement-fouque So, you basically just want to drop the URLs and remove the then-redundant object? |
Yes, correct (if by then-redundant object you mean one document per CVE per QID). |
Not quite; from |
Also, I'm trying to understand how this would be consistent with ECS. As noted in the issue this would result in an array in |
This is arguably now not a breaking change. The field definitions are different to how they were before, but they did not work previously. |
💚 Build Succeeded
History
|
Quality Gate passedKudos, no new issues were introduced! 0 New issues |
Pinging @elastic/security-service-integrations (Team:Security-Service Integrations) |
I'm not sure I understand why it'll result in an array in vulnerability.id (I got the array part but not why vulnerability.id will be filled in). For the Knowledge Base datastream, I don't think we need (and we have) to copy any value into I think it's good to only have the array field The only element that I think of to have one document per CVE per QID is if we want to enrich other sources (e.g. Snyk, Rapid7) with the Qualys Knowledge Base. It is unlikely, but still I think it would work if we define the match field on the multi-value field |
The previous code attempted to set |
I think it's better to comply with ECS and don't copy CVE IDs into the vulnerability.id field. Users will have the possibility to do it on their own. |
We do have few packages that are using Since Elasticsearch supports array out-of-the-box, maybe we could add multiple CVEs into |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Package qualys_vmdr - 3.0.0 containing this change is available at https://epr.elastic.co/search?package=qualys_vmdr |
Proposed commit message
Reference for the DTD: https://cdn2.qualys.com/docs/qualys-api-vmpc-xml-dtd-reference.pdf
Checklist
changelog.yml
file.Author's Checklist
How to test this PR locally
Related issues
Screenshots