Skip to content

Conversation

@jayavenkatesh19
Copy link

Towards https://github.com/rapidsai/build-infra/issues/280

Adds SBOM to base and notebook images

  • Add a new stage in each Dockerfile called syft-base with the Syft binary installed on a minimal alpine 3.20 image.
  • The main docker build is done using a stage called base-build and notebooks-build to differentiate it from the final image.
  • Another stage is added called base-sbom/ notebooks-sbom where the built stage is mounted to a specified location on the syft-base stage
  • A syft-scan is done on the mounted location, and an SBOM is generated.
  • The generated SBOM is then copied to the final stage, with image name and tags kept unchanged to ensure no changes to how these images are built and published.

@jayavenkatesh19 jayavenkatesh19 requested a review from a team as a code owner October 28, 2025 21:55
@jayavenkatesh19 jayavenkatesh19 added feature request New feature or request breaking Breaking change labels Oct 28, 2025
Copy link
Member

@jameslamb jameslamb left a comment

Choose a reason for hiding this comment

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

Thanks for getting this started! Doing it in a multi-stage build is a really cool idea, nice way to make it work with the third-party actions we use to build and publish images (no need to manually invoke docker build ourselves).

I see it's been a few weeks since the last activity here... do you need help with anything? Or is this effort just paused right now?

@jayavenkatesh19
Copy link
Author

Hey @jameslamb!

This effort has been on pause as I was focusing on creating the notebook for my talk for PyData Boston. I also have PRs open on ci-imgs and devcontainers up for a while. It'd be great if you could glance over them and leave your review for these!

I've also looked at the SBOMs generated and there's a lot of fields pertaining to individual files in the Docker images. I am not sure if we need to include every file in the image or if a list of libraries included with the image would do. The current syft scan command does a scope of all the layers in the image and includes any artifact found in the image. However, any configurational changes would be trivial to add (would just involve updating some flags in the syft scan command)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change feature request New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants