GitHub SBOM Action
Generate a CycloneDX SBOM with Syft and upload it from CI.
The traceguard/sbom-action composite action generates a CycloneDX SBOM with
Syft and uploads it to TraceGuard, which parses
and scans it automatically. Because it runs in your pipeline, it's the
highest-fidelity source — it can scan built artifacts and container images
with fully resolved versions.
Usage
# .github/workflows/traceguard.yml
name: TraceGuard SBOM
on:
push:
branches: [main]
jobs:
sbom:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: traceguard/sbom-action@v1
with:
token: ${{ secrets.TRACEGUARD_DEPLOY_TOKEN }}
organization: org_xxxxxxxxxxxxxxxx
project: 00000000-0000-0000-0000-000000000000
# target: image:ghcr.io/acme/app:latest # or a built container image
# bom-type: sbomInputs
| Input | Required | Default | Description |
|---|---|---|---|
token | yes | — | Project deploy token (tgd_…). Store as an encrypted secret. |
organization | yes | — | Organization id (org_…). |
project | yes | — | Project id (uuid). |
target | no | . | Directory to scan, or image:<ref> for a built container image. |
bom-type | no | sbom | BOM bucket: sbom, hbom, cbom, saas_bom, ai_bom, ml_bom, obom. |
api-url | no | https://app.traceguard.io | API base URL. |
syft-version | no | latest | Pin a Syft version (e.g. 1.18.0). |
How it works
- Installs Syft.
- Runs
syft <target> -o cyclonedx-jsonto produce a CycloneDX SBOM. POSTs it to the project'ssbomsendpoint with the deploy token,source_type=ci, and the commit SHA assource_ref.- TraceGuard dedupes by content, parses, and scans automatically — results land on the project's BOMs view, tagged with the commit.
The Action is one of several ways to get SBOMs in. For zero-config coverage, use GitHub sync; for non-GitHub CI, POST with a deploy token. See Getting SBOMs in.