Skip to content

add chainguard osv feed#1205

Merged
willmurphyscode merged 13 commits into
anchore:mainfrom
crosleyzack:crosley/add-chainguard-osv-feed
Jul 8, 2026
Merged

add chainguard osv feed#1205
willmurphyscode merged 13 commits into
anchore:mainfrom
crosleyzack:crosley/add-chainguard-osv-feed

Conversation

@crosleyzack

@crosleyzack crosleyzack commented May 27, 2026

Copy link
Copy Markdown
Contributor

What

Adds the ability for the chainguard provider to consume the Chainguard OSV feed in addition to the chainguard secdb feed

Why

We are trying to migrate to OSV due to the additional context and fidelity it provides. The SecDB feed is slated to be deprecated end of this year (2026)

Notes

The quality tests passed, which is to be expected as no behavior should have changed.

✦2 ❯ make validate provider=chainguard
uv run yardstick validate --result-set pr_vs_latest_via_sbom_chainguard
Loading label entries...done! 23 entries loaded
Validating with 'pr_vs_latest_via_sbom_chainguard'
2026-05-27 16:47:07,206 [INFO] only considering matches from allowed namespaces: chainguard:distro:chainguard:rolling
2026-05-27 16:47:07,206 [INFO] Testing image: 'ghcr.io/chainguard-images/scanner-test@sha256:59bddc101fba0c45d5c093575c6bc5bfee7f0e46ff127e6bb4e5acaaafb525f9' with 'syft@latest, grype@main+import-db=build/vulnerability.db, grype@main+import-db=https://grype.anchore.io/databases/v6/vulnerability-db_v6.1.4_2026-05-13T00:47:21Z_1778657102.tar.zst'
   Results used for image ghcr.io/chainguard-images/scanner-test@sha256:59bddc101fba0c45d5c093575c6bc5bfee7f0e46ff127e6bb4e5acaaafb525f9:
    ├── c9988b12-2a36-4fb4-9490-db690002220d : grype[custom-db]@v0.99.1-14-g8a04a093 (custom-db)  against ghcr.io/chainguard-images/scanner-test@sha256:59bddc101fba0c45d5c093575c6bc5bfee7f0e46ff127e6bb4e5acaaafb525f9
    └── ddec88a3-940d-47ec-b954-8541a59680e3 : grype[reference]@v0.99.1-14-g8a04a093 (reference)  against ghcr.io/chainguard-images/scanner-test@sha256:59bddc101fba0c45d5c093575c6bc5bfee7f0e46ff127e6bb4e5acaaafb525f9
--------------------------------------------------------------------------------

Quality gate passed!

Succesfully ran VUNNEL_PROVIDERS_CHAINGUARD_USE_OSV=true VUNNEL_ROOT=data_osv uv run vunnel run chainguard and GRYPE_DB_PROVIDER_ROOT=../vunnel/data_osv GRYPE_DB_BUILD_DIR=./db_osv/6 go run ./cmd/grype-db build --schema 6 to create grype-db

Part of Chainguard issue INT-520

@crosleyzack crosleyzack marked this pull request as draft May 27, 2026 16:58
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
@crosleyzack crosleyzack force-pushed the crosley/add-chainguard-osv-feed branch from 797b578 to 2c2b429 Compare May 27, 2026 17:10
Comment on lines +33 to 36
# NOTE: schema and distribution version are actually set on init depending
# on which feed we configure the provider to use.
__schema__ = schema.OSSchema()
__distribution_version__ = int(__schema__.major_version)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it a problem if this always reports OSSchema? I ensured the argument to writer.write below is the actual, correct schema

@crosleyzack crosleyzack force-pushed the crosley/add-chainguard-osv-feed branch 2 times, most recently from d620923 to 8ac7bbf Compare May 28, 2026 13:25
@crosleyzack

Copy link
Copy Markdown
Contributor Author

This appears to be a dupe of a PR by Ville updating the vunnel provider. Humbly, I think creating a new parser is much cleaner as an approach though

@crosleyzack crosleyzack marked this pull request as ready for review June 2, 2026 17:08
@crosleyzack crosleyzack force-pushed the crosley/add-chainguard-osv-feed branch from 8ac7bbf to 52af1d3 Compare June 3, 2026 13:38
@crosleyzack

Copy link
Copy Markdown
Contributor Author

VUNNEL_PROVIDERS_CHAINGUARD_USE_OSV=true VUNNEL_ROOT=data_osv uv run vunnel run chainguard successfully creates vunnel output
GRYPE_DB_PROVIDER_ROOT=../vunnel/data_osv GRYPE_DB_BUILD_DIR=./db_osv/6 go run ./cmd/grype-db build --schema 6 successfully creates grype-db

@crosleyzack crosleyzack force-pushed the crosley/add-chainguard-osv-feed branch from 52af1d3 to 2a887d5 Compare June 10, 2026 01:20
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
@crosleyzack crosleyzack force-pushed the crosley/add-chainguard-osv-feed branch from b435fe8 to 1df5f76 Compare June 10, 2026 18:06
@crosleyzack crosleyzack force-pushed the crosley/add-chainguard-osv-feed branch from 1df5f76 to 3795fec Compare June 17, 2026 18:27
@oss-housekeeper oss-housekeeper Bot added the needs-manual-review automated action that should be reviewed by a human label Jun 17, 2026

@oss-housekeeper oss-housekeeper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warning

Changes github configuration or dependencies — this requires manual review from @anchore/tools

No action from the PR author is needed.

Guarded files touched in this PR:

  • .github/scripts/dev-shell.sh (sha: ffc651d4e069a6d2ba96f750e0f31c87b2da595a)

This review disposition can be dismissed after manual review.

@crosleyzack crosleyzack force-pushed the crosley/add-chainguard-osv-feed branch 2 times, most recently from 258465e to 98e6ed4 Compare June 18, 2026 15:09
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
crosleyzack and others added 7 commits June 30, 2026 08:30
provider

Signed-off-by: crosleyzack <mail@crosleyzack.com>
Signed-off-by: Zackary Crosley <zackary.crosley@chainguard.dev>
Signed-off-by: crosleyzack <mail@crosleyzack.com>
Signed-off-by: Zackary Crosley <zackary.crosley@chainguard.dev>
Signed-off-by: crosleyzack <mail@crosleyzack.com>
Signed-off-by: Zackary Crosley <zackary.crosley@chainguard.dev>
Signed-off-by: crosleyzack <mail@crosleyzack.com>
Signed-off-by: Zackary Crosley <zackary.crosley@chainguard.dev>
Signed-off-by: crosleyzack <mail@crosleyzack.com>
Signed-off-by: Zackary Crosley <zackary.crosley@chainguard.dev>
Signed-off-by: Zackary Crosley <zackary.crosley@chainguard.dev>
Signed-off-by: Zackary Crosley <zackary.crosley@chainguard.dev>
Signed-off-by: Zackary Crosley <zackary.crosley@chainguard.dev>
Signed-off-by: Zackary Crosley <zackary.crosley@chainguard.dev>
@crosleyzack crosleyzack force-pushed the crosley/add-chainguard-osv-feed branch from fa339a0 to 39b57d5 Compare June 30, 2026 13:09

# Override with VUNNEL_PROVIDERS_WOLFI_ENABLE
# Enable allows us to switch to an OSV feed in the future if/when one becomes available
enable: bool = True

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this have a different name for Wolfi than for Chainguard?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because the Wolfi information is in the same OSV feed as the chainguard info, so to have wolfi use the chainguard information it would be use_osv == true in Chainguard and disabling wofli. This is part of our larger move to no longer have multiple namespaces for our OS

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What should the distro field be? I think some images have wolfi in /etc/os-release and some have chainguard. Is that going to stop happening?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My understanding is this: at some point, Wolfi will stop being it's own namespace (all the data will be in the chainguard feed), and this gives us a config-only switch to turn off the wolfi feed when that happens. makes sense and looks good.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We still have both. If you look at https://packages.cgr.dev/chainguard/v3/osv/CGA-27xx-xp52-rjpm.json as an example, we have two affected entries: one for Chainguard and one for Wolfi

Comment thread src/vunnel/providers/wolfi/__init__.py
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
Comment thread src/vunnel/providers/wolfi/parser.py
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
Comment thread src/vunnel/providers/wolfi/parser.py Outdated
Comment thread src/vunnel/providers/wolfi/parser.py
Signed-off-by: Zackary Crosley <zackary.crosley@chainguard.dev>
@wagoodman wagoodman self-assigned this Jul 2, 2026
@wagoodman wagoodman added this to OSS Jul 2, 2026
@wagoodman wagoodman moved this to In Review in OSS Jul 2, 2026
Signed-off-by: Zackary Crosley <zackary.crosley@chainguard.dev>
Comment thread src/vunnel/providers/wolfi/parser.py Fixed
Comment thread src/vunnel/providers/wolfi/parser.py Fixed
Comment thread src/vunnel/providers/wolfi/parser.py Fixed
Comment thread tests/unit/providers/chainguard/test_chainguard.py Fixed
Signed-off-by: Will Murphy <willmurphyscode@users.noreply.github.com>
@willmurphyscode willmurphyscode added the run-pr-quality-gate Triggers running of quality gate on PRs label Jul 7, 2026
Signed-off-by: Will Murphy <willmurphyscode@users.noreply.github.com>
@willmurphyscode willmurphyscode dismissed oss-housekeeper[bot]’s stale review July 8, 2026 12:45

Dismissing review because replacing pip with uv pip in dev shell seems like a correct change.

@willmurphyscode willmurphyscode merged commit 107095a into anchore:main Jul 8, 2026
19 checks passed
@github-project-automation github-project-automation Bot moved this from In Review to Done in OSS Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-manual-review automated action that should be reviewed by a human run-pr-quality-gate Triggers running of quality gate on PRs

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants