sbom-fidelity-loop

Iteratively executes cdxgen introspection remediations to raise SBOM fidelity tiers.

1.1k|260|Updated Dec 30, 2019
One-click install
npx skills add https://github.com/cdxgen/cdxgen --skill sbom-fidelity-loop
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: sbom-fidelity-loop
Source: https://github.com/cdxgen/cdxgen/tree/main/.agents/skills/sbom-fidelity-loop
Command: npx skills add https://github.com/cdxgen/cdxgen --skill sbom-fidelity-loop

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Generated SBOMs often capture only direct dependencies because build tools are missing or misconfigured, leaving transitive dependencies invisible. This Skill runs the cdxgen introspection loop: it reads the fidelity report, executes the ranked remediations, and re-scans until the fidelity tiers stop improving.

Core Features & Use Cases

  • Iterative Fidelity Loop: Runs cdxgen --introspect or --profile introspect, parses the JSON report, applies the top-ranked remediation, and re-scans until success, stalled, blocked, or budget-exhausted.
  • Safe Remediation Execution: Distinguishes six action kinds (install, env, build, config, container, rerun), asks before host installs, prefers reversible container runs, and never modifies the project or weakens the measurement.
  • Persistent Loop State: Tracks iterations and attempted remediations in .cdxgen/introspection-history.json keyed by inputsFingerprint so sessions and agents share progress.
  • Use Case: A Java project scanned without Maven produces a 45/100 manifest-tier BOM with 58 components; the loop installs or locates Maven, re-runs the build, and reaches a resolved 100/100 BOM with 204 components.

Quick Start

Run the SBOM fidelity loop on this project with cdxgen introspection and keep applying the ranked remediations until the fidelity tiers stop improving.

Frequently Asked Questions about sbom-fidelity-loop

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix missing transitive dependencies in a cdxgen SBOM?

Run cdxgen with --introspect or --profile introspect to generate a fidelity report, then execute the top-ranked remediation's actions and re-scan. Repeat until every ecosystem reaches resolved, lockfile, or at-ceiling state, verifying each fix by the next report's verify clause.

What is the cdxgen introspection report and how do I read it?

The introspection report is a JSON document grading each scanned ecosystem on a tier ladder from resolved down to absent, with a 0-100 score and ranked remediations. The remediation array is ordered by expected gain, so remediation[0] is the next candidate to execute.

Should I use --introspect or --profile introspect with cdxgen?

Both produce the same fidelity report. Prefer --introspect when the project's language does not support evidence collection or when the profile's extra passes add noise the loop does not need.

Can the fidelity loop add a lockfile or edit my build files to improve the score?

No. The loop never modifies the project, since adding a lockfile the project does not carry falsifies the SBOM's subject. Config-type remediations are surfaced to the human as advice instead of being executed.

What does it mean when the cdxgen fidelity score stalls or stops improving?

A stall means a re-run with the same inputsFingerprint did not raise the score, so the applied fix did not change the inputs. The loop reports the attempted remediation id and stops rather than retrying failed or no-change outcomes at the same fingerprint.

Why are some cdxgen remediations marked blocked?

Blocked entries cannot run in the current environment due to secure mode, command allowlists, offline network, dry-run, or already running inside a container. They are information for the human; the loop stops and reports blocked rather than improvising workarounds.