Skip to content

[sbom] Upload manifest metadata properties#2329

Merged
rjcoulter22 merged 2 commits into
masterfrom
ryan.coulter/sbom/upload-manifest-metadata
May 26, 2026
Merged

[sbom] Upload manifest metadata properties#2329
rjcoulter22 merged 2 commits into
masterfrom
ryan.coulter/sbom/upload-manifest-metadata

Conversation

@rjcoulter22

@rjcoulter22 rjcoulter22 commented May 21, 2026

Copy link
Copy Markdown
Contributor

🚀 Motivation

Manifest-only SCA scans need to carry version range information and signal that transitive dependency enrichment is required. Today datadog-ci silently drops these properties from the upload payload because only a fixed allow-list of datadog:* properties is recognized.

📚 Documentation

Document Link or Detail
RFC N/A
Incident N/A
Jira Ticket K9VULN-14786

📝 Summary

  • Parse datadog:version-range (string) and datadog:requires-transitive-enrichment (boolean) on SBOM library components in extractingDependency and include them on the uploaded Dependency.
  • Extend the Dependency type with version_range and requires_transitive_enrichment fields.
  • Remove the long-deprecated osv-scanner:* and datadog-sbom-generator:* property prefixes along with their dual-parse fallback in payload.ts — the SBOM generator only emits datadog:-prefixed properties now. Migrated the test fixtures to canonical names and deleted the dedicated dual-parse test.
    • As you can see using this metric we have not seen the legacy property convention since removal

🧪 Testing

  • New tests were added for new logic.
  • Existing tests were updated for new logic, and not only so that they pass!
  • Benchmark results prove that performance is the same or better.

🚧 Staging validation

  • Deployed and monitored using Datadog dashboards.
  • Proof that it works as expected, including profiling or UX screenshots.
    • Uploaded SBOM using local build successfully, verified results in staging (repos page, vulns page)
    • Ranged versions are filtered out by our backend - in a follow up support will be added for resolving them
Screenshot 2026-05-21 at 11 19 34 AM

🆘 Recovery

Notes for on-call - select only one:

  • The change can be rolled back.
  • Do not roll back. Why?:

@datadog-official

datadog-official Bot commented May 21, 2026

Copy link
Copy Markdown

Pipelines  Tests

Fix all issues with BitsAI

⚠️ Warnings

🚦 1 Pipeline job failed

PR labels | Categorize PR   View in Datadog   GitHub Actions

🛟 This job is unlikely to succeed on retry. Please review your pipeline configuration. Label error. Requires at least 1 of: datadog-ci, dependencies, documentation, chores, release, code-intelligence, software-delivery, static-analysis, rum, serverless, source-code-integration, synthetics, profiling. Found:

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: d6d6ca7 | Docs | Datadog PR Page | Give us feedback!

@rjcoulter22 rjcoulter22 added the static-analysis Related to [sarif, sbom] label May 21, 2026
@rjcoulter22

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

To use Codex here, create a Codex account and connect to github.

@rjcoulter22
rjcoulter22 marked this pull request as ready for review May 21, 2026 15:27
@rjcoulter22
rjcoulter22 requested review from a team as code owners May 21, 2026 15:27

@anderruiz anderruiz left a comment

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.

LGTM

@rjcoulter22
rjcoulter22 merged commit d2d6efd into master May 26, 2026
31 of 32 checks passed
@rjcoulter22
rjcoulter22 deleted the ryan.coulter/sbom/upload-manifest-metadata branch May 26, 2026 12:08
@afontan afontan mentioned this pull request May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

static-analysis Related to [sarif, sbom]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants