New to Claude Skills? Learn how to install them →

mukul975 on GitHub

Generating and Analyzing SBOMs

Free

Create and manage SBOMs for supply-chain security.

Get this skill

Free · Opens the source repo

What Generating and Analyzing SBOMs does

The Generating and Analyzing SBOMs skill provides developers and security professionals with tools to generate Software Bill of Materials (SBOMs) from container images and filesystems, leveraging the Syft tool. It supports two key SBOM standards: CycloneDX, which is optimized for security use cases, and SPDX, which focuses on licensing and provenance. By generating these inventories, users can gain visibility into their software components, which is essential for managing supply-chain risks.

This skill also integrates with Grype, a vulnerability scanner that correlates generated SBOMs with known vulnerabilities (CVEs). This allows users to continuously monitor their software for security issues, ensuring that they can address vulnerabilities proactively. Additionally, the skill facilitates the signing and attestation of SBOMs using Cosign, enhancing the integrity and trustworthiness of the software supply chain.

The workflow is designed to be embedded into CI/CD pipelines, making it suitable for teams looking to automate their security practices. By incorporating SBOM generation and vulnerability scanning into their workflows, organizations can meet regulatory requirements and improve their overall security posture. This skill is particularly valuable for organizations that prioritize supply-chain security and wish to maintain a robust inventory of their software dependencies.

When to use it

Use this skill when you need to establish a comprehensive inventory of software components and continuously monitor for vulnerabilities, especially in CI/CD environments.

When not to use it

This skill may not be suitable for projects that do not involve container images or where SBOM generation is not a priority.

What you can build with it

Generating SBOMs from Container Images

Quickly create CycloneDX or SPDX SBOMs from container images to understand your software's dependencies.

Vulnerability Scanning

Scan existing SBOMs or images for vulnerabilities using Grype to ensure your software is secure.

Integrating into CI/CD

Embed SBOM generation and vulnerability checks into your CI/CD pipeline to automate security compliance.

How to install Generating and Analyzing SBOMs

View source

1. Install with the skills CLI

npx skills add mukul975/anthropic-cybersecurity-skills/generating-and-analyzing-sboms --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by mukul975

Generating and Analyzing SBOMs

Authorized Use Only: Generate and scan SBOMs only for software and images you own or are authorized to assess. Treat SBOMs as sensitive inventory data — they reveal your dependency attack surface.

Overview

A Software Bill of Materials (SBOM) is a formal, machine-readable inventory of every component, library, and dependency in a piece of software — the supply-chain equivalent of an ingredients label. SBOMs are central to defending against supply-chain compromise (CISA's SBOM initiative, US Executive Order 14028) because you cannot patch what you cannot see. The two dominant SBOM standards are:

  • CycloneDX — an OWASP standard optimized for security use cases (vulnerabilities, VEX, dependency relationships).
  • SPDX — a Linux Foundation / ISO standard (ISO/IEC 5962) strong on licensing and provenance.

The reference open-source toolchain is from Anchore:

  • Syft generates SBOMs (CycloneDX, SPDX, or its native format) from container images and filesystems.
  • Grype matches an SBOM (or image) against vulnerability databases to find CVEs.
  • Cosign (Sigstore) signs SBOMs and attaches them to images as signed attestations for tamper-evident provenance.

This skill covers producing standards-compliant SBOMs, correlating them with vulnerability intelligence, and embedding the workflow into CI/CD.

When to Use

  • Establishing and maintaining a component inventory for applications and container images.
  • Continuously detecting known vulnerabilities (including newly disclosed CVEs against existing artifacts).
  • Satisfying procurement/regulatory SBOM requirements (CISA, EO 14028).
  • Producing signed SBOM attestations for downstream supply-chain trust.

Prerequisites

  • Install Syft and Grype (official install scripts):
    curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
    curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin
    
  • Install Cosign for signing/attestation:
    # via Go, or download a release from https://github.com/sigstore/cosign/releases
    go install github.com/sigstore/cosign/v2/cmd/cosign@latest
    
  • Access to the target images/source and (for signing) a registry plus keys or keyless OIDC.

Objectives

  • Generate CycloneDX and SPDX SBOMs from images and directories.
  • Scan SBOMs and images for vulnerabilities with Grype.
  • Gate CI/CD builds on severity thresholds.
  • Sign and attach SBOM attestations with Cosign and verify them.

MITRE ATT&CK Mapping

IDOfficial Technique NameRelevance to this skill
T1195.001Supply Chain Compromise: Compromise Software Dependencies and Development ToolsSBOM generation and vulnerability correlation expose compromised or vulnerable dependencies — the attack surface adversaries abuse under this technique.

This is a defensive supply-chain skill; the mapping reflects the adversary technique it is designed to detect and mitigate.

Workflow

1. Generate a CycloneDX SBOM from a container image

-o <format> selects output; cyclonedx-json is security-oriented.

syft alpine:latest -o cyclonedx-json=alpine.cdx.json

2. Generate an SPDX SBOM from a source directory

Use the dir: source to inventory a checked-out repository; spdx-json for the SPDX standard.

syft dir:. -o spdx-json=app.spdx.json

3. Emit multiple formats at once

Produce both standards in a single pass for different consumers.

syft myorg/app:1.4.2 \
  -o cyclonedx-json=app.cdx.json \
  -o spdx-json=app.spdx.json \
  -o table

4. Scan the SBOM for vulnerabilities with Grype

Decoupling generation from scanning lets you re-scan stored SBOMs as new CVEs land — without rebuilding.

# Scan an existing SBOM
grype sbom:app.cdx.json -o table

# JSON report for automation
grype sbom:app.cdx.json -o json > app.vulns.json

You can also scan an image directly (Grype generates the SBOM internally):

grype myorg/app:1.4.2 -o table

5. Gate CI/CD on severity

--fail-on exits non-zero at or above a severity, failing the pipeline.

grype sbom:app.cdx.json --fail-on high

Filter out unfixable noise with a .grype.yaml policy (only-fixed: true) or --only-fixed:

grype sbom:app.cdx.json --only-fixed --fail-on critical

6. Sign and attach the SBOM as an attestation

Cosign records the SBOM as a signed, in-toto attestation alongside the image in the registry.

# Key-based signing
cosign attest --key cosign.key \
  --predicate app.spdx.json \
  --type spdxjson \
  myorg/app:1.4.2

# Keyless (Sigstore OIDC / Fulcio + Rekor)
COSIGN_EXPERIMENTAL=1 cosign attest \
  --predicate app.cdx.json \
  --type cyclonedx \
  myorg/app:1.4.2

7. Verify the attestation downstream

Consumers verify provenance before trusting an image.

cosign verify-attestation --key cosign.pub --type spdxjson myorg/app:1.4.2

8. Retrieve and re-scan attached SBOMs

Pull the attested SBOM from the registry and re-run Grype as part of continuous monitoring.

cosign download attestation myorg/app:1.4.2 \
  | jq -r '.payload' | base64 -d | jq '.predicate' > pulled.spdx.json
grype sbom:pulled.spdx.json -o table

9. Correlate to vulnerability intelligence

Feed Grype JSON into your vulnerability management workflow: deduplicate by CVE, enrich with EPSS/KEV for prioritization, and track remediation SLAs. Re-scan stored SBOMs on each Grype DB update to catch newly disclosed CVEs in unchanged artifacts.

Tools and Resources

ToolPurposeLink
SyftSBOM generationhttps://github.com/anchore/syft
GrypeVulnerability scanning of SBOMs/imageshttps://github.com/anchore/grype
CosignSBOM signing/attestationhttps://github.com/sigstore/cosign
CycloneDXSecurity-focused SBOM standardhttps://cyclonedx.org/
SPDXISO SBOM standardhttps://spdx.dev/
CISA SBOMGuidance and minimum elementshttps://www.cisa.gov/sbom

Format Comparison

AspectCycloneDXSPDX
StewardOWASPLinux Foundation / ISO 5962
StrengthSecurity, VEX, vulnerabilitiesLicensing, provenance
Common syft -o valuescyclonedx-json, cyclonedx-xmlspdx-json, spdx (tag-value)

Validation Criteria

  • CycloneDX SBOM generated from the target image
  • SPDX SBOM generated from source where required
  • SBOM scanned with Grype producing a CVE report
  • CI/CD gated with --fail-on at an agreed severity
  • SBOM signed and attached as an attestation with Cosign
  • Attestation verified downstream
  • Stored SBOMs re-scanned on Grype DB updates
  • Findings correlated/prioritized (EPSS/KEV) and tracked to remediation

Frequently asked questions about Generating and Analyzing SBOMs

Similar skills