Skip to content

safedep/xbom

xBom

Generate BOMs enriched with AI, SaaS and more using Static Code Analysis

Go Report Card License Release OpenSSF Scorecard SLSA 3 CodeQL Go Reference

🎯 Why xbom?

Modern applications rely on much more than just open-source libraries. They often include:

  • AI SDKs 🧠
  • ML models πŸ€–
  • 3rd party SaaS APIs ☁️
  • Cryptographic algorithms πŸ”‘

βœ… Beyond Manifests - xbom builds inventory using actual evidence from your codebase

βœ… Extensible Signatures - add your own signatures over community maintained repository

βœ… Robust Compliance - single tool to comply with all your software supply chain compliances

βœ… Multi-ecosystem support β€” Java, Python and more coming up !

πŸ‘€ xbom in action

xbom-cli

⚑ Quick Start

# Installation on macOS & Linux
brew install safedep/tap/xbom

or download a pre-built binary

# Generate BOM for your source code
xbom generate --dir /path/to/code --bom /path/to/bom.cdx.json

This will generate a CycloneDX v1.6 SBOM with AI components detected in the code base.

Supported Languages

Currently, xbom supports the following programming languages:

Language Status
Python βœ… Active
Java βœ… Active
JavaScript 🚧 WIP

Supported BOMs

AI

LangChain Anthropic
CrewAI OpenAI

Cloud

GCP Azure
ℹ️ To request support for a new framework, please create an issue.

πŸ‘€ Visual convenience

We generate BOMs as JSON files following CycloneDX SPEC. For a quick overview, you can view the BOM in an interactive HTML output linked in console output.

xbom-demo

Development

Signatures

xbom maintains community driven signatures for popular SDKs, APIs and libraries in signatures/ following file naming convention - signatures/$vendor/$product/$service.yml. To add new signatures, refer contributing signatures guide.

Contributing

Refer to CONTRIBUTING.md

Limitations

xbom is currently limited to AI BOM generation only. It uses static code analysis to identify AI products used in the code base. For generating a more comprehensive SBOM with library dependencies, you can use vet.

Telemetry

xbom collects anonymous telemetry to help us understand how it is used and improve the product. To disable telemetry, set XBOM_DISABLE_TELEMETRY environment variable to true.

export XBOM_DISABLE_TELEMETRY=true

About

Generate xBOMs enriched with AI, SaaS, Crypto and more using Static Code Analysis

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •