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
Analiza tu ADN de software.
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.
Qué Puede Responder Bomly
| Pregunta | Comando |
|---|---|
| ¿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.
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.
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:
~/.bomly/config.yaml--config <path>oBOMLY_CONFIG- Variables de entorno
BOMLY_* - 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.