Integrations
Seamlessly integrate SBOM generation, analysis, and enrichment into your existing workflow.
CI/CD & Generation
Generate SBOMs automatically in your pipelines. We support all major CI/CD providers.
GitHub is at the core of many organizations. Our GitHub Action makes integration straightforward.
- name: Upload SBOM
uses: sbomify/sbomify-action@master
env:
TOKEN: ${{ secrets.SBOMIFY_TOKEN }}
COMPONENT_ID: 'my-component-id'
LOCK_FILE: 'requirements.txt'
COMPONENT_NAME: 'my-awesome-app'
COMPONENT_VERSION: ${{ github.ref_name }}
AUGMENT: true
ENRICH: trueUse our Docker image directly in GitLab CI with built-in caching support.
generate-sbom:
image: sbomifyhub/sbomify-action
cache:
key: sbomify-cache
paths:
- .sbomify-cache/
variables:
SBOMIFY_CACHE_DIR: "${CI_PROJECT_DIR}/.sbomify-cache/sbomify"
TRIVY_CACHE_DIR: "${CI_PROJECT_DIR}/.sbomify-cache/trivy"
SYFT_CACHE_DIR: "${CI_PROJECT_DIR}/.sbomify-cache/syft"
LOCK_FILE: poetry.lock
OUTPUT_FILE: sbom.cdx.json
UPLOAD: "false"
ENRICH: "true"
script:
- sbomify-actionSeamlessly integrate with Bitbucket Pipelines using our Docker image with built-in caching.
pipelines:
default:
- step:
caches:
- sbomify
script:
- pipe: docker://sbomifyhub/sbomify-action:latest
variables:
SBOMIFY_CACHE_DIR: "${BITBUCKET_CLONE_DIR}/.sbomify-cache/sbomify"
TRIVY_CACHE_DIR: "${BITBUCKET_CLONE_DIR}/.sbomify-cache/trivy"
SYFT_CACHE_DIR: "${BITBUCKET_CLONE_DIR}/.sbomify-cache/syft"
LOCK_FILE: poetry.lock
OUTPUT_FILE: sbom.cdx.json
UPLOAD: "false"
ENRICH: "true"
definitions:
caches:
sbomify: .sbomify-cacheFor any other CI/CD system, use our Docker image directly. All generators are pre-installed.
# Create persistent cache volume
docker volume create sbomify-cache
docker run --rm \
-v $(pwd):/github/workspace \
-v sbomify-cache:/cache \
-w /github/workspace \
-e SBOMIFY_CACHE_DIR=/cache/sbomify \
-e TRIVY_CACHE_DIR=/cache/trivy \
-e SYFT_CACHE_DIR=/cache/syft \
-e LOCK_FILE=/github/workspace/requirements.txt \
-e OUTPUT_FILE=/github/workspace/sbom.cdx.json \
-e UPLOAD=false \
-e ENRICH=true \
sbomifyhub/sbomify-actionInstall via pip for local development or non-Docker environments. Requires external generators (Trivy, Syft, or cdxgen) to be installed separately.
pip install sbomify-action
# CLI usage
sbomify-action --lock-file requirements.txt \
--enrich --no-upload -o sbom.cdx.json
# Or use environment variables
export LOCK_FILE=requirements.txt
export ENRICH=true
export UPLOAD=false
sbomify-actionSupported Ecosystems
Generate SBOMs from lockfiles across 14 languages, plus Docker images and Yocto/OpenEmbedded builds.
Python
JavaScript
Java
Go
Rust
Ruby
PHP
.NET / C#
Swift
Dart
Elixir
Scala
C++
Terraform
Docker Images
Generate SBOMs directly from container images using DOCKER_IMAGE instead of a lockfile. Scans all layers and installed packages.
Yocto / OpenEmbedded
Batch process SPDX SBOMs from Yocto builds. Extracts .spdx.tar.zst archives, uploads package SBOMs, and tags them with a product release.
SBOM Generators
Five generators with automatic fallback. The best tool for each ecosystem is selected automatically.
cyclonedx-py
Priority 10Native Python generator. Most accurate for Python ecosystems.
cargo-cyclonedx
Priority 10Native Rust generator. Most accurate for Rust ecosystems.
cdxgen
Priority 20Broadest ecosystem support. Best choice for Java/Gradle and multi-language projects.
Trivy
Priority 30Security-focused scanner by Aqua Security. Supports CycloneDX and SPDX output.
Syft
Priority 35Comprehensive scanner by Anchore. Supports CycloneDX and SPDX output including Terraform.
CycloneDX
Default format. Versions 1.3 through 1.7 supported depending on generator.
SBOM_FORMAT=cyclonedxSPDX
Versions 2.2 and 2.3 via Trivy or Syft, plus 3.0 via Yocto/OpenEmbedded. Validated against JSON schemas.
SBOM_FORMAT=spdxVulnerability Analysis
Comprehensive scanning powered by industry-leading databases.
Google OSV
We integrate with the Open Source Vulnerability (OSV) database to provide precise, distributed vulnerability intelligence across a wide range of ecosystems.
Dependency Track
Leverage the power of OWASP Dependency-Track for continuous component analysis. Upload SBOMs directly from CI/CD with UPLOAD_DESTINATIONS=dependency-track.
Direct Upload: sbomify-action can upload SBOMs directly to your Dependency Track instance from any CI pipeline.
Bring Your Own: Enterprise customers can connect their existing Dependency Track instance for unified visibility.
Enrichment Data Sources
We integrate with 12 data sources to add metadata to your SBOM components: descriptions, licenses, supplier information, and more.
Pre-computed Databases (Fastest)
Local data with zero network latency. Checked first for maximum performance.
LicenseDB
Pre-computed license database covering 28 Linux distro versions. Provides authoritative license data for APK, DEB, and RPM packages.
Lifecycle Database
CLE lifecycle dates (release, end-of-support, end-of-life) for major runtimes and frameworks following ECMA-428.
Native Package Registries
Authoritative data direct from the ecosystem's official source.
PyPI
Python Package Index
pkg:pypi/*crates.io
Rust Package Registry
pkg:cargo/*pub.dev
Dart/Flutter Packages
pkg:pub/*Debian Sources
Debian Package Archive
pkg:deb/debian/*Conan Center
C/C++ (Conan)
pkg:conan/*Package Aggregators
Multi-ecosystem services providing broad coverage.
deps.dev
GoogleOpen source dependency insights from Google. Covers most major ecosystems.
Community-driven package metadata and project health metrics across ecosystems.
Fallback Sources
Additional coverage when primary sources do not have data.
PURL Extraction
Local extraction from package URLs. Maps namespaces to suppliers without API calls.
ClearlyDefined
Community-curated license and metadata for open source components.
Repology
Cross-distribution package tracking for Linux packages.
How it works: Enrichment happens automatically when using our GitHub Action or CLI with the enrich flag.
ENRICH=true
or
--enrichAugmentation Providers
Add organizational metadata to your SBOM: supplier info, manufacturer details, VCS context, and more.
sbomify API
Pull organizational metadata from your sbomify workspace: supplier, manufacturer, authors, and declared license.
Local Config
Override metadata via sbomify.json in your repository for supplier, authors, license, and VCS info.
CI/CD Auto-Detection
Automatically detects VCS URL, commit SHA, and branch from GitHub Actions, GitLab CI, and Bitbucket Pipelines environment variables.
Fields Added
Supplier, manufacturer, authors, license, lifecycle phase, repository URL, commit SHA, branch/ref.
How it works: Augmentation pulls metadata from sbomify and your CI environment.
AUGMENT=true
or
--augment