Skip to content
Back to skills

Sbom Management

ASecurity

Produce signed software bills of materials from real artifacts and consume them to answer "are we affected" fast. Use when setting up build output, responding to a new advisory, or fielding a customer SBOM request.

  • 7 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
ai-agents

Works with

  • cli

Security analysis

A100/100

Scanned September 5, 2026

npx -y skills add Amey-Thakur/AI-SKILLS --skill sbom-management --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Sbom Management?

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

Security grade badge for Sbom Management
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/amey-thakur-sbom-management/badge)](https://www.skillsdirectory.com/skills/amey-thakur-sbom-management)

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-management
description: Produce signed software bills of materials from real artifacts and consume them to answer "are we affected" fast. Use when setting up build output, responding to a new advisory, or fielding a customer SBOM request.
---

# SBOM management

A software bill of materials (SBOM) is the ingredient list for what you
shipped. Without one, the day a critical advisory lands you are grepping
lockfiles across repos and guessing what is actually deployed. Generated
right and kept current, an SBOM turns that scramble into a query.

## Method

1. **Generate from the built artifact, not the source tree.** Run `syft`
   against the final container image or binary: `syft my-image:1.4 -o
   cyclonedx-json`. Scanning source misses vendored code, build-time
   injections, and base-image packages, so the SBOM must describe what
   actually left the build.
2. **Pick one format and hold it.** CycloneDX and SPDX are both machine
   readable; CycloneDX carries dependency graph and VEX in one document,
   SPDX is common for license and compliance work. Convert on demand with
   `cyclonedx-cli convert` rather than maintaining two source formats.
3. **Include the NTIA minimum elements.** Every component needs supplier,
   name, version, a unique identifier (a PURL like
   `pkg:npm/lodash@4.17.21` or a CPE), dependency relationships, plus
   author and timestamp. An SBOM with no PURLs cannot be matched to an
   advisory feed and is decoration.
4. **Sign the SBOM and bind it to the artifact digest.** Attach it as an
   attestation with `cosign attest --predicate sbom.json --type cyclonedx`
   so a consumer can confirm the SBOM belongs to that exact image and was
   not swapped. An unsigned SBOM is a claim, not evidence.
5. **Consume continuously, not once.** Feed stored SBOMs to `grype
   sbom:./sbom.json` or load them into Dependency-Track, which re-evaluates
   every stored SBOM as new CVEs arrive. The point is that a fresh advisory
   flags an old release without anyone rebuilding it.
6. **Emit VEX to kill the false positives.** Publish an OpenVEX or
   CycloneDX VEX statement marking unreachable findings `not_affected` with
   a justification like `vulnerable_code_not_in_execute_path`, so consumers
   and your own dashboard stop paging on a CVE you already triaged.
7. **Track coverage and freshness.** Require an SBOM for every deployed
   artifact and regenerate it each release. A stale SBOM from three
   releases back answers "are we affected" confidently and wrongly.

## Checks

- Can you list every running service that contains `log4j-core 2.14` from
  stored SBOMs in minutes, without rebuilding anything?
- Does each release ship a signed SBOM whose component set matches what the
  image actually contains?
- When a new CVE publishes, does something re-scan existing SBOMs
  automatically, or only the next build?

## Boundaries

This skill covers producing and consuming the inventory. Hardening the
pipeline that builds and signs artifacts belongs to supply-chain-defense,
and gating or removing an individual risky package belongs to
dependency-auditing. Format mandates from a specific regulator defer to
that program's own requirements.

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…