-
Notifications
You must be signed in to change notification settings - Fork 435
[RFC] Stage 1- Introducing new fields in ECS Vulnerability fields #2449
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
base: main
Are you sure you want to change the base?
Conversation
I'm going to try a copilot review on this PR... |
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.
Pull Request Overview
This pull request introduces a new vulnerability schema to support tracking and mitigating vulnerabilities in assets.
- Defines new vulnerability fields including vendor.id, title, mitigation, published, and several date fields.
- Adds a nested group for patch details with fields for existence, name, and code.
- Introduces an "age" field for dynamically calculating vulnerability age.
Comments suppressed due to low confidence (1)
rfcs/text/0045/vulnerbility.yml:1
- The file name 'vulnerbility.yml' appears to be misspelled; consider renaming it to 'vulnerability.yml' for clarity.
+- name: vulnerability
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.
I'm not a SME in vulnerability data, but I left some comments that hopefully improve the descriptions.
level: extended | ||
type: keyword | ||
description: > | ||
A vulnerability doesn't necessarily have a CVE associated with it. It makes sense to separate vulnerability ID (like CVEs) to the vendor/detection IDs. |
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.
A vulnerability doesn't necessarily have a CVE associated with it. It makes sense to separate vulnerability ID (like CVEs) to the vendor/detection IDs. | |
A vulnerability doesn't necessarily have a CVE associated with it. It makes sense to separate vulnerability ID (like CVEs) from the vendor/detection IDs. |
level: extended | ||
type: keyword | ||
description: > | ||
Title/Name/Short Description for vulnerability, to be used in flyout and dashboards. |
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.
Title/Name/Short Description for vulnerability, to be used in flyout and dashboards. | |
Title, name, and short description for the vulnerability, to be used in flyout and dashboards. |
I think an example:
would be helpful here too.
level: extended | ||
type: text | ||
description: > | ||
Explains how to fix or mitigate the problem, could be used to store resolution from the scanner vendor or document mitigation in place. |
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.
Explains how to fix or mitigate the problem, could be used to store resolution from the scanner vendor or document mitigation in place. | |
Explains how to fix or mitigate the problem. Could be used to store the resolution from the scanner vendor or document the mitigation in place. |
level: extended | ||
type: date | ||
description: > | ||
The “published” field indicates the date when information about a specific vulnerability was publicly disclosed or made available. It represents the moment when details about the vulnerability were shared with the security community, vendors, and the public. This field helps security professionals track the timeline of vulnerability awareness, in ISO 8601 format - YYYY-MM-DD. |
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.
I don't think "in ISO 8601 format - YYYY-MM-DD" is needed given that we have said it is a type: date
field.
level: extended | ||
type: keyword | ||
description: > | ||
The status field helps security teams track vulnerabilities, prioritize actions, and communicate their progress effectively. Examples: open/ignored/patched/mitigated/false_positive/risk_accepted/reopened. |
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.
The status field helps security teams track vulnerabilities, prioritize actions, and communicate their progress effectively. Examples: open/ignored/patched/mitigated/false_positive/risk_accepted/reopened. | |
The status field helps security teams track vulnerabilities, prioritize actions, and communicate their progress effectively. Examples: open, ignored, patched, mitigated, false_positive, risk_accepted, reopened. |
level: extended | ||
type: date | ||
description: > | ||
Last time a vulnerability was found on the asset, in ISO 8601 format: 2016-05-23T08:05:34.853Z. |
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.
Last time a vulnerability was found on the asset, in ISO 8601 format: 2016-05-23T08:05:34.853Z. | |
The last time a vulnerability was found on the asset. |
level: extended | ||
type: date | ||
description: > | ||
Last time a scan was performed on the asset. It's important as some companies are scanning on a quarterly basis. If last_found and last_scanned are close, it means it's still an active vulnerability, in ISO 8601 format: 2016-05-23T08:05:34.853Z. |
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.
Last time a scan was performed on the asset. It's important as some companies are scanning on a quarterly basis. If last_found and last_scanned are close, it means it's still an active vulnerability, in ISO 8601 format: 2016-05-23T08:05:34.853Z. | |
The last time a scan was performed on the asset. If last_found and last_scanned are close, it suggests that the vulnerability is likely still active. |
I'm not sure about added value of "It's important as some companies are scanning on a quarterly basis." section. Perhaps the additional context could be phrased in terms of it be in important indicator of staleness.
level: extended | ||
type: keyword | ||
description: > | ||
It's extremely important to be able to deduplicate different scans. It's often that we have different scanners showing the same vulnerability on the same asset. |
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.
It's extremely important to be able to deduplicate different scans. It's often that we have different scanners showing the same vulnerability on the same asset. | |
It's extremely important to be able to deduplicate different scans. It's common to have different scanners showing the same vulnerability on the same asset. |
description: > | ||
Last time a scan was performed on the asset. It's important as some companies are scanning on a quarterly basis. If last_found and last_scanned are close, it means it's still an active vulnerability, in ISO 8601 format: 2016-05-23T08:05:34.853Z. | ||
|
||
- name: age |
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.
Given that this is derived data, I think we should omit this field. Users of the data can calculate it on their own via the various means you mentioned if they need it.
level: extended | ||
type: text | ||
description: > | ||
Name of the patch. |
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.
Can you give an example of a named patch? I'm not sure follow what would go into this field.
Hi! We just realized that we haven't looked into this PR in a while. We're We're labeling this PR as Thank you for your contribution! |
make test
?make
and committed those changes?