Skip to content
Back to skills

Sbom Generate

ASecurity

Generate CycloneDX 1.7 and/or SPDX 2.3 SBOMs for the repo, optionally cosign-signed, optionally cross-validated against syft output. Use when producing an SBOM for compliance, attaching to a release artefact, integrating with an SBOM registry, or satisfying a customer attestation request.

  • 4 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 12, 2026
businessgobashgit

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add aibot88/sec_skill_store --skill sbom-generate --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sbom Generate?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Sbom Generate
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aibot88-sbom-generate/badge)](https://www.skillsdirectory.com/skills/aibot88-sbom-generate)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: sbom-generate
description: 'Generate CycloneDX 1.7 and/or SPDX 2.3 SBOMs for the repo, optionally cosign-signed, optionally cross-validated against syft output. Use when producing an SBOM for compliance, attaching to a release artefact, integrating with an SBOM registry, or satisfying a customer attestation request.'
argument-hint: "[--format cyclonedx|spdx|both] [--sign] [--output PATH]"
user-invocable: true
allowed-tools: Bash, Read, Glob, Grep, Edit, Write
model: sonnet
triggers:
  - "sbom"
  - "cyclonedx"
  - "spdx"
  - "generate sbom"
chain:
  - compliance-report
  - vex-publish
outputBudget: short
cooldown: per-session
---

# Vulnetix SBOM Generate Skill

## Use when

- Producing an SBOM for SOC 2 / supply-chain compliance.
- Attaching an SBOM to a release artefact (GitHub release, container registry).
- Submitting to an SBOM registry (e.g. NTIA, in-house).
- Cosign signing for keyless OIDC supply-chain attestation.
- Cross-validating Vulnetix output against syft for component-count drift.

## Don't use for

- Just the license list — use `/vulnetix:license-check`.
- Full compliance bundle (SBOM + VEX + SARIF) — use `/vulnetix:compliance-report`.
- Container-image SBOM — use `/vulnetix:container-scan` with syft composition.

## Conventions

This skill follows [`_lib/contract.md`](../_lib/contract.md): the Vulnetix CLI is auto-installed by hooks, `.vulnetix/capabilities.yaml` is always present, every `vulnetix vdb` call is piped through a verified `jq` filter from [`_lib/jq/`](../_lib/jq/), independent calls run in parallel as concurrent Bash tool calls, and trailing follow-ups are limited to one line. See the contract for output style, memory write rules, and cooldowns.

## Step 1: Load capabilities

Read `.vulnetix/capabilities.yaml`. Use `binaries.cosign` to gate signing. If user asks for `--sign` without cosign, surface install hint and skip signing.

## Step 2: Generate

```bash
OUT="${OUTPUT_DIR:-.vulnetix/sboms/$(date -u +%Y%m%dT%H%M%SZ)}"
mkdir -p "$OUT"

if [[ "$FORMAT" == "cyclonedx" ]] || [[ "$FORMAT" == "both" ]]; then
    vulnetix scan -o json-cyclonedx > "$OUT/sbom.cdx.json"
fi

if [[ "$FORMAT" == "spdx" ]] || [[ "$FORMAT" == "both" ]]; then
    vulnetix license -o json-spdx > "$OUT/sbom.spdx.json"
fi
```

## Step 3: Optional sign

```bash
[[ "$SIGN" == "true" ]] && cosign sign-blob --yes "$OUT/sbom.cdx.json" --bundle "$OUT/sbom.cdx.json.sig.bundle"
```

## Step 4: Compose with detected SBOM tools (conditional)

If `binaries.syft: true`, also produce a syft SBOM for cross-validation:

```bash
syft "$(pwd)" -o cyclonedx-json > "$OUT/sbom.syft.cdx.json"
```

Surface the diff (component count delta) so the user can spot gaps.

## Step 5: Render

```
SBOM(s) generated:
- CycloneDX: <path>  (<N components>, <M deps>)
- SPDX: <path>
- Signature: <path|none>
- Cross-validated with: syft (delta: +3 components)
```

Suggest `/vulnetix:compliance-report` for a full compliance bundle, or `/vulnetix:vex-publish` to attach VEX.

## Edge cases & gotchas

- `vulnetix scan -o json-cyclonedx` produces CycloneDX 1.7; `vulnetix license -o json-spdx` produces SPDX 2.3. The flags are not interchangeable.
- Cosign signing requires keyless OIDC identity (Fulcio) or `--key file:cosign.key`. CI runners typically have OIDC; dev laptops may not.
- Cross-validation with syft requires `binaries.syft: true`. The delta = Vulnetix components - syft components; non-zero delta usually means private packages.
- CycloneDX 1.7 supports VEX-in-SBOM; pass `--include-vex` to embed the VEX block (otherwise it is a separate file).
- Output directory `.vulnetix/sboms/<ISO8601>/` is created on every invocation; never overwrites.
- For repos with no manifest files, the SBOM contains only the application metadata (no components). Check `components.length` before publishing.

Files in this skill

  • SKILL.md3.7 KB
  • source.json804 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.