Bomly

Dale a tu agente de codificación el grafo de dependencias que está a punto de cambiar: escanea un árbol de código fuente, SBOM, referencia de Git o imagen de contenedor; explica por qué un paquete está presente; compara dos grafos; verifica hallazgos contra políticas.

Documentación

Bomly CLI

Analiza tu ADN de software.

CI OpenSSF Scorecard Latest release GitHub release downloads License: Apache-2.0 Go Reference

Bomly es un CLI gratuito y de código abierto para inteligencia de dependencias. Escanea árboles de código fuente, SBOM, referencias de Git e imágenes de contenedores; explica por qué están presentes las dependencias; enriquece los paquetes con datos de vulnerabilidades y licencias cuando lo solicitas; evalúa políticas; y genera salida apta para automatización en CI.

Gratuito y de código abierto, sin cuenta, sin inicio de sesión. Un solo binario. Sin servicio que alojar. Sin telemetría. Sin llamadas de coincidencia salientes a menos que optes por ellas con --enrich. Red y Privacidad documenta cada disparador de red para que puedas auditar esa afirmación en lugar de creerla sin más.

Instalar Bomly

# macOS / Linuxbrew
brew install bomly-dev/tap/bomly

# Linux / macOS install script
curl -fsSL https://bomly.dev/install.sh | sh

# Windows
winget install Bomly.BomlyCLI

Los archivos precompilados y los paquetes de Linux se publican desde GitHub Releases. Los lanzamientos incluyen bomly (binario completo con Syft y Grype integrados) y bomly-lite (binario más pequeño que recurre a syft y grype externos).

Verifica la instalación:

bomly version

Para paquetes de Linux, Scoop, instalación con Go, sumas de verificación, versiones fijadas, actualizaciones e instrucciones de desinstalación, consulta Instalación.

Comienza con un Escaneo

# Scan the current project
bomly scan

# Scan a specific directory
bomly scan --path ./services/api

# Scan a container image
bomly scan --image ghcr.io/example/app:latest

# Scan a remote Git ref
bomly scan --url https://github.com/owner/repo --ref v1.2.3

# Read an existing SPDX or CycloneDX SBOM
bomly scan --sbom --path ./sbom.cdx.json

Bomly lee manifiestos, archivos de bloqueo, salida de gestores de paquetes, capas de contenedores o SBOM existentes y los convierte en un único grafo de dependencias. Los detectores nativos cubren Go, npm, pnpm, Yarn, Maven, Gradle, Python, Composer, Bundler, GitHub Actions, ingesta de SBOM y más. Syft cubre la larga cola, incluidas las imágenes de contenedores. Consulta la Matriz de Soporte y Objetivos de Escaneo.

Bomly scan progress showing indexed subprojects, detected dependencies, enriched packages, and resolved graph

Qué Puede Responder Bomly

PreguntaComando
¿De qué dependemos?bomly scan
¿Qué cambió en este PR o rama?bomly diff --base main --head HEAD
¿Por qué está este paquete aquí?bomly explain lodash
¿Qué hallazgos importan para la política?bomly scan --enrich --audit --fail-on high
¿Puede el CI fallar por hallazgos de alta severidad?bomly scan --enrich --audit --fail-on high --format sarif
¿Puedo priorizar primero los hallazgos alcanzables?bomly scan --enrich --audit --analyze --fail-on high --fail-on reachable

Para más recetas, consulta Primeros Pasos y Casos de Uso. Para revisar las entradas públicas, comandos, resultados esperados y limitaciones detrás de afirmaciones de comportamiento importantes, consulta Evidencia Reproducible.

Explora Interactivamente

Abre la interfaz de terminal cuando quieras inspeccionar un grafo manualmente:

bomly scan --interactive

Úsala para buscar paquetes con coincidencia difusa, inspeccionar versiones y ámbitos, navegar por los hallazgos y ver cómo una dependencia entró al grafo sin escribir un informe en disco. Consulta TUI Interactiva.

Bomly interactive TUI overview with component, vulnerability, license, target, and distribution panels

Enriquece y Audita

Por defecto, Bomly no llama a servicios de vulnerabilidades, licencias, ciclo de vida o scorecard. Agrega --enrich cuando quieras inteligencia externa de paquetes:

# Fetch vulnerability and license data
bomly scan --enrich

# Evaluate policy against enriched package data
bomly scan --enrich --audit --fail-on high

# Add experimental reachability analysis
bomly scan --enrich --audit --analyze --fail-on high --fail-on reachable

El enriquecimiento integrado utiliza servicios públicos como OSV, CISA KEV, deps.dev y OpenSSF Scorecard. --audit evalúa los datos de vulnerabilidades y licencias ya presentes en los paquetes; usa --enrich --audit cuando quieras obtener y evaluar en una sola ejecución.

La alcanzabilidad es experimental. Es útil para la priorización, pero "no alcanzable" no es una garantía de seguridad. Lee Alcanzabilidad antes de usar --fail-on reachable como puerta de CI.

Explica y Compara

Usa explain cuando aparece un paquete transitivo y necesitas la ruta:

bomly explain requests
bomly explain lodash --path ./web

Usa diff cuando necesites revisar cambios de dependencias entre referencias de Git o SBOM:

# Compare Git refs
bomly diff --base main --head HEAD

# Compare two SBOM files
bomly diff --sbom --base ./old.spdx.json --head ./new.spdx.json

Consulta Primeros Pasos para el recorrido de la primera ejecución y Casos de Uso para recetas de revisión de PR, revisión de actualizaciones y priorización de incidentes.

Genera Salida para CI

Bomly puede escribir texto legible por humanos, JSON, SARIF, SPDX 2.3 y CycloneDX 1.7:

# Structured JSON for automation
bomly scan --json

# SARIF for security tabs and code-scanning integrations
bomly scan --enrich --audit --fail-on high --format sarif

# Write SBOM artifacts (add --format text to also print the report)
bomly scan -o spdx=sbom.spdx.json -o cyclonedx=sbom.cdx.json

# Emit one SBOM to stdout
bomly scan --format cyclonedx

Los códigos de salida son estables para scripts: 0 para resultados limpios, 2 para violaciones de política, y valores separados para fallos de uso, tiempo de ejecución y proyectos no admitidos. Consulta Formatos de Salida, Formatos SBOM y Códigos de Salida.

Para proteger las solicitudes de extracción, usa la acción Bomly Guard o llama al CLI directamente desde tu flujo de trabajo:

# .github/workflows/bomly.yml
- uses: actions/checkout@v5
  with:
    fetch-depth: 0
- uses: bomly-dev/bomly-guard@v1
  with:
    fail-on: high

Consulta Bomly Guard y Integración con CI.

GitHub pull request checks showing Bomly Guard failing a required dependency check

Usa Bomly con Agentes de IA

Bomly puede ejecutarse como un servidor MCP local para que los agentes de IA puedan llamar a las mismas herramientas de grafo de dependencias que usas en la línea de comandos:

bomly mcp serve

Si no has instalado el CLI, el paquete npm bomly-mcp inicia el mismo servidor:

npx -y bomly-mcp

Agrega Bomly a un agente compatible con MCP como Claude Code, Cursor, VS Code o una herramienta personalizada, y el agente recibirá JSON estructurado que podrá resumir o razonar. Consulta Servidor MCP para recetas de configuración y la referencia de herramientas.

Configura y Extiende

Bomly lee la configuración de tu configuración de usuario, un archivo de configuración seleccionado explícitamente, las variables de entorno BOMLY_* y los indicadores del CLI, y las fuentes posteriores tienen precedencia:

  1. ~/.bomly/config.yaml
  2. --config <path> o BOMLY_CONFIG
  3. Variables de entorno BOMLY_*
  4. Indicadores del CLI

Los archivos de configuración del repositorio nunca se cargan automáticamente. Un proyecto puede mantener su configuración compartida en .bomly/config.yaml, pero debes confiar en ella explícitamente con --config .bomly/config.yaml o BOMLY_CONFIG. Consulta la Referencia de Configuración generada.

Los complementos administrados te permiten agregar detectores, comparadores y auditores sin bifurcar Bomly:

bomly plugins install github:bomly-dev/bomly-plugin-bun-lock-detector@v0.1.0
bomly plugins enable bomly.examples.detector.bun-lock
bomly plugins verify bomly.examples.detector.bun-lock

Consulta Complementos para obtener orientación sobre instalación, confianza y creación.

Documentación

  • Primeros Pasos - instala Bomly y ejecuta tu primer escaneo
  • Tutorial - desde el primer escaneo hasta una puerta de CI en un proyecto real
  • FAQ - respuestas rápidas sobre privacidad, cuentas y diferencias entre herramientas
  • Instalación - métodos de instalación, sumas de verificación, actualizaciones, desinstalación
  • Casos de Uso - recetas prácticas para puertas de PR, SBOM, priorización y escaneos sin conexión
  • Objetivos de Escaneo - directorios, repositorios de Git, contenedores y SBOM
  • Formatos de Salida - texto, JSON, SARIF, SPDX, CycloneDX
  • Formatos SBOM - SPDX 2.3 y CycloneDX 1.7, ingesta y recetas de conversión
  • Integración con CI - GitHub Actions, GitLab, Jenkins, Azure, CircleCI
  • Bomly Guard - acción de GitHub lista para usar para revisión de dependencias en PR
  • Servidor MCP - conecta Bomly a Claude Code, Cursor, VS Code u otro cliente MCP
  • Alcanzabilidad - priorización experimental de vulnerabilidades alcanzables
  • Complementos - detectores, comparadores y auditores externos administrados
  • Notas de Versión - qué cambió en cada versión
  • Toda la Documentación - índice completo de documentación

La configuración de contribuidores está en CONTRIBUTING.md. Los detalles de arquitectura están en docs/ARCHITECTURE.md.

Preguntas

Para preguntas, ideas y soporte general, usa Bomly Discussions.

Usa los issues de este repositorio solo para errores confirmados, regresiones o trabajo de implementación accionable.

Soporte

Bomly es un proyecto de código abierto. Si te resulta útil, puedes apoyar el proyecto marcando el repositorio con una estrella, compartiendo comentarios, abriendo issues, contribuyendo mejoras o patrocinando el mantenimiento continuo.

Consulta Apoya a Bomly.

Licencia

El CLI de Bomly está licenciado bajo la Apache License 2.0.