Skip to content
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

NVD bug rules require a release to edit #25233

Open
iansltx opened this issue Jan 8, 2025 · 6 comments
Open

NVD bug rules require a release to edit #25233

iansltx opened this issue Jan 8, 2025 · 6 comments
Labels
~engineering-initiated Engineering-initiated story, such as a bug, refactor, or contributor experience improvement. #g-software Software product group :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. story A user story defining an entire feature

Comments

@iansltx
Copy link
Member

iansltx commented Jan 8, 2025

Fleet version: <= 4.62.0


πŸ’₯ Β Actual behavior

NVD bug rules for ignoring false positives are hard-coded per-release in cpe_matching_rules.go, so simple false positives have to wait a (patch or minor) release cycle to fix.

πŸ› οΈ To fix

Switch the bug rules to read from a file published by the vulnerabilities repo build action, similar to cpe_translations.json. Given a year and a half of false-positive data, we have enough information on the shape of IgnoreIf functions that we can redeclare them as a rule data format rather than logic, and can still keep the existing CPEMatchingRule format under the hood in case we need to add more complex one-offs.

@iansltx iansltx added #g-software Software product group :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. bug Something isn't working as documented ~engineering-initiated Engineering-initiated story, such as a bug, refactor, or contributor experience improvement. labels Jan 8, 2025
@mostlikelee
Copy link
Contributor

  • i ❀️ this idea. I also think it may be a feature rather than a bug.
  • what do you think of a combined json so that eventually all rules could be in 1 place?

@iansltx
Copy link
Member Author

iansltx commented Jan 8, 2025

Yeah, was on the fence between bug and feature on this. Recategorize as you see fit.

And yeah, I saw the NVD bugs list front and center as we've had to modify that recently, but we can throw all (or most, if we have some complex IgnoreIfs that need to stay in code) rules into one bucket when we switch to JSON. Just might need to categorize them within that document, and we'll want to add a humans-only description field per rule since we'll otherwise lose comments.

@mostlikelee
Copy link
Contributor

Hey team! Please add your planning poker estimate with Zenhub @ksykulev @iansltx @jahzielv

@lukeheath lukeheath added the ~released bug This bug was found in a stable release. label Jan 17, 2025
@mostlikelee mostlikelee added story A user story defining an entire feature and removed bug Something isn't working as documented labels Jan 21, 2025
@iansltx iansltx self-assigned this Jan 21, 2025
@lukeheath
Copy link
Member

@iansltx Thanks for filing, great idea! Reminder to use the engineering-initiated story process and tag me before bringing on to the release board so that I can prioritize.

cc @mostlikelee

@mostlikelee
Copy link
Contributor

To note, this is related to a new feature request: #25688

Re-labeling this to move it through the eng initiated process

@mostlikelee mostlikelee removed :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. ~released bug This bug was found in a stable release. labels Jan 22, 2025
@mostlikelee mostlikelee assigned lukeheath and unassigned iansltx Jan 22, 2025
@lukeheath lukeheath added the :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. label Jan 22, 2025
@lukeheath lukeheath assigned mostlikelee and unassigned lukeheath Jan 22, 2025
@lukeheath
Copy link
Member

@mostlikelee Thanks! Normally I'd put it on the drafting board first for estimation, but since it's already estimated I'm moving straight to the release board.

Process βœ…

@mostlikelee mostlikelee removed their assignment Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
~engineering-initiated Engineering-initiated story, such as a bug, refactor, or contributor experience improvement. #g-software Software product group :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. story A user story defining an entire feature
Development

No branches or pull requests

3 participants