DLPX-98872 linux-pkg: generate per-package CycloneDX SBOM via Syft deb scan and publish S3 sidecar - #417
Draft
justsanjeev wants to merge 1 commit into
Conversation
justsanjeev
force-pushed
the
dlpx/pr/justsanjeev/37f4f3ab-2f2c-423c-9289-f6c7ee616c82
branch
3 times, most recently
from
September 8, 2026 12:17
80bfbe6 to
bcfd67c
Compare
…b scan and publish S3 sidecar PR URL: https://www.github.com/delphix/linux-pkg/pull/417
justsanjeev
force-pushed
the
dlpx/pr/justsanjeev/37f4f3ab-2f2c-423c-9289-f6c7ee616c82
branch
from
September 8, 2026 12:17
bcfd67c to
a5efbf5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Phase 1 (#414 + appliance-build#892) gives every image a flat, dpkg-only
CycloneDX base scan. That's correct for 3rd-party debs but wrong for
Delphix's own first-party packages (masking, virtualization,
delphix-sso-app, containerized-masking, windows-connector, zfs, ptools,
delphix-rust), which bundle third-party components across ecosystems
(jars, npm, wheels, Rust crates) invisible to dpkg.
Solution
Adds SBOM_DEEP_SCAN as a per-package opt-in flag, a CI lint requiring
every package to be explicitly classified, and generate_sbom() (wired
as a new buildpkg.sh stage) which runs Syft against a flagged
package's built .deb(s) -- merging via cyclonedx-cli when a package
emits more than one .deb -- to produce a .cdx.json sidecar.
No new S3 upload plumbing is needed: the existing artifacts/ sync
already picks it up.
This is Phase 2 (CP-13465, Jira DLPX-98872) of the CycloneDX SBOM
effort (Epic CP-13455). Full design in
docs/specs/2026-09-08-sbom-per-package-sidecar-design.md.
Stacked on #414 (Phase 1's syft/cyclonedx-cli packages), which this
depends on.
Testing Done
Verified locally (no build host available in this environment):
Not yet verified against a real build host: that syft can scan a
standalone .deb directly, and an end-to-end zfs (multi-deb) + masking
(single-deb) build producing a valid sidecar in S3. Tracked as a
follow-up before merge.