Docs/Security/SBOM Generation

SBOM Generation

DepAegis automatically generates a Software Bill of Materials (SBOM) for every package published to the registry. This page covers SBOM format, contents, access methods, and compliance use cases.

What is an SBOM?

A Software Bill of Materials (SBOM)is a formal, machine-readable inventory of all components that make up a piece of software. It lists every dependency, its version, its supplier, and other metadata — similar to an ingredients list on food packaging.

SBOMs are a cornerstone of modern software supply chain security. They enable:

DepAegis generates SBOMs automatically on publish. No configuration or extra tooling is required. The SBOM is stored alongside the package and is accessible from the dashboard and the API.

CycloneDX Format

DepAegis generates SBOMs in CycloneDX format (XML and JSON), the industry-standard SBOM format managed by the OWASP Foundation. CycloneDX is widely supported by security tools, compliance platforms, and dependency management systems.

A minimal CycloneDX SBOM for an npm package looks like this:

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.6",
  "version": 1,
  "metadata": {
    "component": {
      "type": "library",
      "name": "@myorg/ui-components",
      "version": "1.2.3",
      "purl": "pkg:npm/@myorg/ui-components@1.2.3"
    },
    "timestamp": "2026-06-11T10:00:00Z",
    "tools": [
      { "name": "DepAegis", "version": "2.0.0" }
    ]
  },
  "components": [
    {
      "type": "library",
      "name": "lodash",
      "version": "4.17.21",
      "purl": "pkg:npm/lodash@4.17.21",
      "hashes": [
        { "alg": "SHA-512", "content": "d8a..." }
      ],
      "licenses": [
        { "license": { "id": "MIT" } }
      ]
    }
  ]
}

Auto-Generation on Publish

When a package is published, DepAegis performs the following steps:

  1. Extract the package tarball and parse the dependency manifest (package-lock.json, packages.lock.json, or container image layers).
  2. Resolve the full dependency tree, including transitive dependencies.
  3. Enrich each component with license information, hashes, and package URLs (purl).
  4. Generate the CycloneDX document in JSON and XML formats.
  5. Attach the SBOM to the package version as a first-class artifact.

The entire process takes less than five seconds for most packages.

SBOM Contents

Each generated SBOM includes the following information:

FieldDescription
ComponentsEvery direct and transitive dependency with name, version, and ecosystem.
LicensesSPDX license identifiers for each component (where detectable).
HashesSHA-256 and SHA-512 checksums for each component artifact.
Package URLs (purl)Standardized package identifiers following the purl specification.
Supplier / AuthorPublisher information where available.
Dependency relationshipsWhich components depend on which, forming the full dependency graph.

Downloading SBOM from the Dashboard

To download an SBOM for a specific package version:

  1. Navigate to the package in the DepAegis dashboard.
  2. Select the desired version.
  3. Click the SBOM tab.
  4. Download in JSON or XML format.

The SBOM can also be downloaded as part of the package’s artifact bundle, which includes the tarball, signature, provenance, and SBOM in a single zip file.

API Access to SBOM

SBOMs are accessible via the DepAegis REST API for integration into your own tooling:

# Download SBOM in JSON format
curl -H "Authorization: Bearer $DEPAEGIS_TOKEN" \
  "https://app.depaegis.com/api/v1/packages/@myorg%2Fui-components/versions/1.2.3/sbom" \
  -o sbom.json

# Download SBOM in XML format
curl -H "Authorization: Bearer $DEPAEGIS_TOKEN" \
  "https://app.depaegis.com/api/v1/packages/@myorg%2Fui-components/versions/1.2.3/sbom?format=xml" \
  -o sbom.xml

The API also supports querying SBOM data directly:

# List all components in the SBOM
curl -H "Authorization: Bearer $DEPAEGIS_TOKEN" \
  "https://app.depaegis.com/api/v1/packages/@myorg%2Fui-components/versions/1.2.3/sbom/components"

Compliance Use Cases

EU Cyber Resilience Act (CRA)

The EU Cyber Resilience Act requires that products with digital elements be accompanied by an SBOM for vulnerability management and incident response. DepAegis SBOMs satisfy CRA requirements by providing:

US Executive Order 14028

The US Executive Order on Improving the Nation’s Cybersecurity requires federal software suppliers to provide an SBOM for each product. DepAegis SBOMs meet NTIA’s minimum elements:

For regulated industries, export SBOMs from DepAegis and ingest them into your compliance platform (e.g. Dependency-Track, GUAC, or FOSSA) for continuous monitoring and audit readiness.

Integration with Dependency Management Tools

DepAegis SBOMs integrate with popular supply chain security tools:

# Ingest DepAegis SBOM into Dependency-Track
curl -X POST \
  -H "X-API-Key: $DT_API_KEY" \
  -H "Content-Type: multipart/form-data" \
  -F "bom=@sbom.json" \
  "https://dtrack.example.com/api/v1/bom"