-
Notifications
You must be signed in to change notification settings - Fork 29
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
Redhat package_name
with /
do not always reference modules
#443
Comments
We can drop those, but I don't really understand how that correlates to incorrect results in grype since it should only be matching that row if the package has a modularity matching |
I was thinking something similar, and I think it comes down to this conditional but I don't recall why this conditional should be there (I'm sure we've talked about this before). |
Ah right, because if the package has no modularity specified we can't make any assumptions about what it should match because that was a new qualifier added to v5 and if someone were using sboms from an older version of syft or some input that knew nothing about modularity it would result in no matches ever being raised and therefore false negatives, whereas just returning all rows only results in false positives |
I'll take a look at the data later to see if there are more instances like this and get it cleaned up in vunnel |
I'm also wondering if we can somehow do better for the cases with no modularity by ensuring we always create a row with blank modularity and some combination of constraints. Then we could get rid of that condition in grype. |
Really I think the modularity we're looking for should always have a numerical component to it, but I need to look at the data again to verify that assumption. That would make this easier I think |
Ah, except I'd like to determine the correct version constraints for records with no modularity in vunnel, but that isn't possible with the current schema since is entries only emit |
I'll split it up into multiple pieces of work and get the filtering in first though which should solve the current grype issue at least. |
|
Yeah, looking at the full set the rest do appear to be actual app streams from what I can tell, so I think for now just eliminating the flatpak records is the way to go since we're not going to know what to do with those in grype anyways |
Also, looking at the full set of rpm-modularity package qualifiers, I noticed that |
While looking into anchore/grype#1541 we found a secondary issue: We have a section of code in the rhel provider that I believe (after some debate/discovery with @willmurphyscode @nurmi @kzantow @tgerla ) is incorrectly assuming an RPM modularity from a value, specifically the
package_name
field with/
:full output
Specifically, in
inkscape:flatpak/python-lxml
I think the valueinkscape:flatpak
is being parsed as the RPM modularity:(note the first row).
I cannot find any reference to python-lxml that is part of an appstream named this, however, the indicator
:flatpak
might indicate that this is referring to a python-lxml package within the contents of theinkscape
flatpak image.This means that the row in the DB is wrong (should not exist). My vote would be to drop any entry where the modularity value is
*:flatpack
.CC @westonsteimel
The text was updated successfully, but these errors were encountered: