Skip to content

[sbom] Upload manifest metadata properties#2329

Open
rjcoulter22 wants to merge 2 commits into
masterfrom
ryan.coulter/sbom/upload-manifest-metadata
Open

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

Conversation

@rjcoulter22
Copy link
Copy Markdown

@rjcoulter22 rjcoulter22 commented May 21, 2026

🚀 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
Copy link
Copy Markdown

datadog-official Bot commented May 21, 2026

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
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
Copy link
Copy Markdown
Contributor

@anderruiz anderruiz left a comment

Choose a reason for hiding this comment

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

LGTM

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