{"adoption": {"forks": 260, "observed_at": "2026-09-03T02:15:09.903677+00:00", "stars": 1060}, "canonical_url": "https://ross.abutalabs.com/products/cdxgen", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Creates CycloneDX Bill of Materials (BOM) for your projects from source and container images. Supports many languages and package managers. Integrate in your CI/CD pipeline with automatic submission to Dependency Track server", "domain": ["security", "developer-tools"], "enriched": true, "function": ["developer-tools", "security", "dependency-audit", "cli", "container-runtime", "ci-cd"], "health_score": 100, "homepage": "https://cdxgen.github.io/cdxgen/", "language": "JavaScript", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["cdxgen/cdxgen"], "name": "cdxgen/cdxgen", "platform": ["cli", "cross-platform", "windows"], "pushed_at": "2026-09-03T01:49:16+00:00", "repo": "cdxgen/cdxgen", "stars": 1060, "tags": ["sbom", "cyclonedx", "spdx", "bom", "software-composition-analysis", "supply-chain-security", "package-url", "cbom", "obom", "saasbom", "ai-bom", "devops", "containers", "supply-chain", "nodejs", "docker", "linux", "macos"], "topics": ["bom", "sca", "cyclonedx", "sbom", "docker", "oci", "containers", "owasp", "package-url", "purl", "software-bill-of-materials", "saasbom", "supply-chain", "cbom", "spdx", "spdx-sbom"], "urls": [], "use_cases": ["generate an sbom for my project", "create cyclonedx bom from a docker image", "produce software bill of materials in ci pipeline", "export spdx sbom for compliance", "inventory cryptography used in my java app", "submit sbom to dependency-track automatically", "generate ai bom for my llm project"], "what_it_is": "cdxgen is a CLI tool, library, and server that creates CycloneDX Bill of Materials (SBOM) documents from source code and container images, supporting many languages and package managers. It also generates hardware, cryptography, operations, SaaS, and AI/ML BOMs, supports SPDX export, and integrates with CI/CD pipelines including Dependency-Track submission.", "when_to_avoid": ["you only need vulnerability scanning without BOM generation (use OWASP depscan instead)", "you need a GUI-based SBOM tool", "your ecosystem is unsupported by cdxgen's language analyzers"], "when_to_choose": ["you need standards-compliant CycloneDX or SPDX SBOMs across many languages and package managers", "you want to scan container images or live hosts for BOM generation", "you need CI/CD integration with automatic Dependency-Track submission", "you need specialized BOMs like CBOM, OBOM, SaaSBOM, or AI-BOM"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cdxgen", "repo": "cdxgen/cdxgen", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:00:17.275115+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f80ca272c3c3475e3f14e0d6bc98b2cd8ee3218c4bb9c2d00cb1383030b9b100", "fetched_at": "2026-09-03T02:15:09.903677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdxgen/cdxgen"}, {"content_hash": "55bcf678a29bc32e0c53224cdf2b17891e57a44c6afb02417ee4f061829ccb41", "fetched_at": "2026-08-29T13:01:31.608081+00:00", "kind": "homepage", "missing": false, "url": "https://cdxgen.github.io/cdxgen/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:00:17.275115+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f80ca272c3c3475e3f14e0d6bc98b2cd8ee3218c4bb9c2d00cb1383030b9b100", "fetched_at": "2026-09-03T02:15:09.903677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdxgen/cdxgen"}, {"content_hash": "55bcf678a29bc32e0c53224cdf2b17891e57a44c6afb02417ee4f061829ccb41", "fetched_at": "2026-08-29T13:01:31.608081+00:00", "kind": "homepage", "missing": false, "url": "https://cdxgen.github.io/cdxgen/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:00:17.275115+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f80ca272c3c3475e3f14e0d6bc98b2cd8ee3218c4bb9c2d00cb1383030b9b100", "fetched_at": "2026-09-03T02:15:09.903677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdxgen/cdxgen"}, {"content_hash": "55bcf678a29bc32e0c53224cdf2b17891e57a44c6afb02417ee4f061829ccb41", "fetched_at": "2026-08-29T13:01:31.608081+00:00", "kind": "homepage", "missing": false, "url": "https://cdxgen.github.io/cdxgen/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:00:17.275115+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f80ca272c3c3475e3f14e0d6bc98b2cd8ee3218c4bb9c2d00cb1383030b9b100", "fetched_at": "2026-09-03T02:15:09.903677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdxgen/cdxgen"}, {"content_hash": "55bcf678a29bc32e0c53224cdf2b17891e57a44c6afb02417ee4f061829ccb41", "fetched_at": "2026-08-29T13:01:31.608081+00:00", "kind": "homepage", "missing": false, "url": "https://cdxgen.github.io/cdxgen/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:00:17.275115+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f80ca272c3c3475e3f14e0d6bc98b2cd8ee3218c4bb9c2d00cb1383030b9b100", "fetched_at": "2026-09-03T02:15:09.903677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdxgen/cdxgen"}, {"content_hash": "55bcf678a29bc32e0c53224cdf2b17891e57a44c6afb02417ee4f061829ccb41", "fetched_at": "2026-08-29T13:01:31.608081+00:00", "kind": "homepage", "missing": false, "url": "https://cdxgen.github.io/cdxgen/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:00:17.275115+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f80ca272c3c3475e3f14e0d6bc98b2cd8ee3218c4bb9c2d00cb1383030b9b100", "fetched_at": "2026-09-03T02:15:09.903677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdxgen/cdxgen"}, {"content_hash": "55bcf678a29bc32e0c53224cdf2b17891e57a44c6afb02417ee4f061829ccb41", "fetched_at": "2026-08-29T13:01:31.608081+00:00", "kind": "homepage", "missing": false, "url": "https://cdxgen.github.io/cdxgen/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:09.903677+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:00:17.275115+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f80ca272c3c3475e3f14e0d6bc98b2cd8ee3218c4bb9c2d00cb1383030b9b100", "fetched_at": "2026-09-03T02:15:09.903677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdxgen/cdxgen"}, {"content_hash": "55bcf678a29bc32e0c53224cdf2b17891e57a44c6afb02417ee4f061829ccb41", "fetched_at": "2026-08-29T13:01:31.608081+00:00", "kind": "homepage", "missing": false, "url": "https://cdxgen.github.io/cdxgen/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:00:17.275115+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f80ca272c3c3475e3f14e0d6bc98b2cd8ee3218c4bb9c2d00cb1383030b9b100", "fetched_at": "2026-09-03T02:15:09.903677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdxgen/cdxgen"}, {"content_hash": "55bcf678a29bc32e0c53224cdf2b17891e57a44c6afb02417ee4f061829ccb41", "fetched_at": "2026-08-29T13:01:31.608081+00:00", "kind": "homepage", "missing": false, "url": "https://cdxgen.github.io/cdxgen/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:00:17.275115+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f80ca272c3c3475e3f14e0d6bc98b2cd8ee3218c4bb9c2d00cb1383030b9b100", "fetched_at": "2026-09-03T02:15:09.903677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdxgen/cdxgen"}, {"content_hash": "55bcf678a29bc32e0c53224cdf2b17891e57a44c6afb02417ee4f061829ccb41", "fetched_at": "2026-08-29T13:01:31.608081+00:00", "kind": "homepage", "missing": false, "url": "https://cdxgen.github.io/cdxgen/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:00:17.275115+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f80ca272c3c3475e3f14e0d6bc98b2cd8ee3218c4bb9c2d00cb1383030b9b100", "fetched_at": "2026-09-03T02:15:09.903677+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdxgen/cdxgen"}, {"content_hash": "55bcf678a29bc32e0c53224cdf2b17891e57a44c6afb02417ee4f061829ccb41", "fetched_at": "2026-08-29T13:01:31.608081+00:00", "kind": "homepage", "missing": false, "url": "https://cdxgen.github.io/cdxgen/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 100, "rhythm": 86}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2438, "days_push": 0, "days_rel": 15, "gap_med": 5, "n_releases_24m": 90}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}