Skip to content

Add Root IO provider labels for ubuntu test image#167

Open
chait-slim wants to merge 4 commits intoanchore:mainfrom
chait-slim:rootio-labels
Open

Add Root IO provider labels for ubuntu test image#167
chait-slim wants to merge 4 commits intoanchore:mainfrom
chait-slim:rootio-labels

Conversation

@chait-slim
Copy link
Copy Markdown

@chait-slim chait-slim commented Dec 30, 2025

No description provided.

@willmurphyscode
Copy link
Copy Markdown
Contributor

Hi @chait-slim I am unable to pull the test image:

❯ docker pull cr.root.io/cassandra@sha256:b3cc918a6a364af0a6b0a45becef0d0979db7e604751fad627ec2a94945b4e03
Error response from daemon: failed to resolve reference "cr.root.io/cassandra@sha256:b3cc918a6a364af0a6b0a45becef0d0979db7e604751fad627ec2a94945b4e03": pull access denied, repository does not exist or may require authorization: authorization failed: no basic auth credentials

Am I missing something? Is it possible for you all to make an old tag public or something?

@chait-slim
Copy link
Copy Markdown
Author

Hi @chait-slim I am unable to pull the test image:

❯ docker pull cr.root.io/cassandra@sha256:b3cc918a6a364af0a6b0a45becef0d0979db7e604751fad627ec2a94945b4e03
Error response from daemon: failed to resolve reference "cr.root.io/cassandra@sha256:b3cc918a6a364af0a6b0a45becef0d0979db7e604751fad627ec2a94945b4e03": pull access denied, repository does not exist or may require authorization: authorization failed: no basic auth credentials

Am I missing something? Is it possible for you all to make an old tag public or something?

Updated the image location: docker.io/rootpublic/cassandra:latest@sha256:02272b14efbe14e70ee5512ce707c4e300d3c1813f0e5df9562512c1b96be835

Updated vulnerability match labels for Root IO provider validation:
- Image: docker.io/rootpublic/cassandra:latest@sha256:02272b14efbe14e70ee5512ce707c4e300d3c1813f0e5df9562512c1b96be835
- 4 labels created for standard Ubuntu packages
- Scanned with grype@0.104.0 (database built 2026-01-15)

These labels are required for the Root IO provider PR in vunnel.

Signed-off-by: Chai Tadmor <chai.tadmor@root.io>
@willmurphyscode
Copy link
Copy Markdown
Contributor

Hi @chait-slim can you add some labels that are FPs? As I understand the current plan is for the rootio provider to emit UnaffectedPackageHandles that prevent Grype from matching on vulnerabilities that Root has patched. When compared with a scan by Grype that doesn't know about rootio patches, this would be a False Positive. In other words, for the labels to prove that the approach is working, there should be matches that Grype finds without the rootio data, that it stops finding with the rootio data, that are labeled as False Positives, that is, as matches that it is correct for Grype to stop finding.

@chait-slim
Copy link
Copy Markdown
Author

@willmurphyscode I've added another image that should have better labels

@willmurphyscode
Copy link
Copy Markdown
Contributor

@chait-slim I'm confused. All of the labels in this branch have "label": "TP" in them. But when we're building a provider that works via NAKs / unaffectedPackageHandles, we need some false positives, that should have "label": "FP" in the JSON.

@willmurphyscode
Copy link
Copy Markdown
Contributor

Hi @chait-slim just wanted to make sure we are not both waiting on each other. My understanding is that I am waiting for you to push some changes to this PR showing that some of grype's current findings against RootIO should be labeled "FP" (false positive) but everything still has "TP" labels in this PR.

Please let me know if there's anything I can do to help.

@chait-slim
Copy link
Copy Markdown
Author

chait-slim commented Mar 9, 2026 via email

@chait-slim
Copy link
Copy Markdown
Author

chait-slim commented Mar 10, 2026

@willmurphyscode updated
Added FP labels for CVE-2016-20013 (libc-bin, libc6, locales) and CVE-2021-46848 (libtasn1-6) on both the cassandra and ubuntu rootpublic images.
These are vulnerabilities Root IO has patched — grype correctly suppresses them with the custom-db via unaffectedPackageHandles, so they should be
labeled FP, not left unlabeled.

    CVE-2016-20013 (libc-bin, libc6, locales) and CVE-2021-46848 (libtasn1-6)
    are patched by Root IO; grype[custom-db] correctly suppresses them via
    unaffectedPackageHandles. Labels these as FP so the quality gate can
    distinguish intentional suppressions from unlabeled unknowns.

Signed-off-by: Chai Tadmor <chai.tadmor@root.io>
@chait-slim
Copy link
Copy Markdown
Author

@willmurphyscode did you get a chance to look at this? Am I on the right track this time?

@willmurphyscode
Copy link
Copy Markdown
Contributor

Hi @chait-slim thanks for checking in! Yes, this looks like what I was expecting to see.

I just took at look at anchore/vunnel#963 to try to do an end to end test, and I think some changes are needed there, but this looks good. I'll comment details on the vunnel PR.

…d labels

  - Replace cassandra test image with docker.io/rootpublic/python:3.11-slim-bookworm
  - Update expected namespaces to include debian:12 and github:language:python
  - Update vulnerability-match-labels submodule with new ubuntu TP/FP labels
  - Remove cassandra label files

Signed-off-by: Chai Tadmor <chai.tadmor@root.io>
@chait-slim chait-slim changed the title Add Root IO provider labels for cassandra test image Add Root IO provider labels for ubuntu and python test images Apr 6, 2026
@chait-slim chait-slim changed the title Add Root IO provider labels for ubuntu and python test images Add Root IO provider labels for ubuntu test image Apr 6, 2026
  Update labels for e2e-rootio-alpine-test to the new Alpine 3.18 image
  (sha256:b823...) which adds @rootio/semver (NPM) alongside the existing
  rootio-jinja2 (PyPI) and rootio-openssh/openssl (APK) packages.

  - Add FP labels for @rootio/semver (CVE-2022-25883) and rootio-jinja2
    (CVE-2025-27516): grype[custom-db] correctly suppresses these via NAK
  - Add TP labels for nodejs, npm transitive deps (minimatch, brace-expansion,
    tar, semver, diff, glob, ip, cross-spawn), nghttp2-libs, py3-pip
  - Remove stale labels for old digest (d74e...)

Signed-off-by: Chai Tadmor <chai.tadmor@root.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants