Bomly
Dê ao seu agente de codificação o grafo de dependências que ele está prestes a alterar: escaneie uma árvore de código-fonte, SBOM, referência Git ou imagem de contêiner; explique por que um pacote está presente; compare dois grafos; verifique descobertas contra políticas.
Documentação
Analise o DNA do seu software.
Bomly é um CLI gratuito e de código aberto para inteligência de dependências. Ele examina árvores de código-fonte, SBOMs, referências Git e imagens de contêineres; explica por que as dependências estão presentes; enriquece pacotes com dados de vulnerabilidades e licenças quando você solicita; avalia políticas; e gera saídas amigáveis para automação em CI.
Gratuito e de código aberto, sem conta, sem login. Um único binário. Nenhum serviço para hospedar. Sem telemetria. Nenhuma chamada de correspondência de saída, a menos que você opte por participar com --enrich. Rede e Privacidade documenta cada gatilho de rede para que você possa auditar essa afirmação em vez de aceitá-la por fé.
Instalar o 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
Arquivos pré-compilados e pacotes Linux são publicados a partir de GitHub Releases. Os lançamentos incluem bomly (binário completo com Syft e Grype integrados) e bomly-lite (binário menor que delega para syft e grype externos).
Verifique a instalação:
bomly version
Para pacotes Linux, Scoop, instalação via Go, somas de verificação, versões fixadas, atualizações e instruções de desinstalação, consulte Instalação.
Comece com uma Verificação
# 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 lê manifestos, lockfiles, saídas de gerenciadores de pacotes, camadas de contêineres ou SBOMs existentes e os transforma em um único grafo de dependências. Detectores nativos cobrem Go, npm, pnpm, Yarn, Maven, Gradle, Python, Composer, Bundler, GitHub Actions, ingestão de SBOM e muito mais. Syft preenche a cauda longa, incluindo imagens de contêineres. Consulte a Matriz de Suporte e Alvos de Verificação.
O que o Bomly Pode Responder
| Pergunta | Comando |
|---|---|
| Do que dependemos? | bomly scan |
| O que mudou neste PR ou branch? | bomly diff --base main --head HEAD |
| Por que este pacote está aqui? | bomly explain lodash |
| Quais descobertas importam para a política? | bomly scan --enrich --audit --fail-on high |
| O CI pode falhar em descobertas de alta gravidade? | bomly scan --enrich --audit --fail-on high --format sarif |
| Posso triar primeiro as descobertas alcançáveis? | bomly scan --enrich --audit --analyze --fail-on high --fail-on reachable |
Para mais receitas, consulte Começando e Casos de Uso. Para revisar as entradas públicas, comandos, resultados esperados e limitações por trás de afirmações importantes de comportamento, consulte Evidências Reproduzíveis.
Explore Interativamente
Abra a interface de terminal quando quiser inspecionar um grafo manualmente:
bomly scan --interactive
Use-a para encontrar pacotes com busca difusa, inspecionar versões e escopos, navegar pelas descobertas e ver como uma dependência entrou no grafo sem gravar um relatório em disco. Consulte TUI Interativo.
Enriqueça e Audite
Por padrão, o Bomly não chama serviços de vulnerabilidade, licença, ciclo de vida ou scorecard. Adicione --enrich quando quiser inteligência externa de pacotes:
# 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
O enriquecimento integrado usa serviços públicos como OSV, CISA KEV, deps.dev e OpenSSF Scorecard. --audit avalia os dados de vulnerabilidade e licença já presentes nos pacotes; use --enrich --audit quando quiser buscar e avaliar em uma única execução.
A alcançabilidade é experimental. É útil para triagem, mas "inalcançável" não é uma garantia de segurança. Leia Alcançabilidade antes de usar --fail-on reachable como um portão de CI.
Explique e Compare
Use explain quando um pacote transitivo aparecer e você precisar do caminho:
bomly explain requests
bomly explain lodash --path ./web
Use diff quando precisar revisar mudanças de dependências entre referências Git ou SBOMs:
# Compare Git refs
bomly diff --base main --head HEAD
# Compare two SBOM files
bomly diff --sbom --base ./old.spdx.json --head ./new.spdx.json
Consulte Começando para o passo a passo da primeira execução e Casos de Uso para receitas de revisão de PR, revisão de atualizações e triagem de incidentes.
Gere Saídas para CI
O Bomly pode escrever texto legível por humanos, JSON, SARIF, SPDX 2.3 e 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
Os códigos de saída são estáveis para scripts: 0 para resultados limpos, 2 para violações de política e valores separados para falhas de uso, tempo de execução e projetos sem suporte. Consulte Formatos de Saída, Formatos SBOM e Códigos de Saída.
Para bloquear pull requests, use a ação Bomly Guard ou chame o CLI diretamente do seu fluxo de trabalho:
# .github/workflows/bomly.yml
- uses: actions/checkout@v5
with:
fetch-depth: 0
- uses: bomly-dev/bomly-guard@v1
with:
fail-on: high
Consulte Bomly Guard e Integração com CI.
Use o Bomly com Agentes de IA
O Bomly pode ser executado como um servidor MCP local para que agentes de IA possam chamar as mesmas ferramentas de grafo de dependências que você usa na linha de comando:
bomly mcp serve
Se você não instalou o CLI, o wrapper npm bomly-mcp inicia o mesmo servidor:
npx -y bomly-mcp
Adicione o Bomly a um agente compatível com MCP, como Claude Code, Cursor, VS Code ou uma ferramenta personalizada, e o agente receberá JSON estruturado que pode resumir ou raciocinar. Consulte Servidor MCP para receitas de configuração e a referência de ferramentas.
Configure e Estenda
O Bomly lê configuração do seu arquivo de usuário, de um arquivo de configuração
selecionado explicitamente, de variáveis de ambiente BOMLY_* e de flags de CLI,
com fontes posteriores tendo precedência:
~/.bomly/config.yaml--config <path>ouBOMLY_CONFIG- Variáveis de ambiente
BOMLY_* - Flags de CLI
Arquivos de configuração do repositório nunca são carregados automaticamente. Um projeto pode manter
sua configuração compartilhada em .bomly/config.yaml, mas você deve confiar nela
explicitamente com --config .bomly/config.yaml ou BOMLY_CONFIG. Consulte a
Referência de Configuração gerada.
Plugins gerenciados permitem adicionar detectores, correspondentes e auditores sem bifurcar o 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
Consulte Plugins para orientações sobre instalação, confiança e criação.
Documentação
- Começando - instale o Bomly e execute sua primeira verificação
- Tutorial - da primeira verificação a um portão de CI em um projeto real
- FAQ - respostas rápidas sobre privacidade, contas e diferenças de ferramentas
- Instalação - métodos de instalação, somas de verificação, atualizações, desinstalação
- Casos de Uso - receitas práticas para portões de PR, SBOMs, triagem e verificações offline
- Alvos de Verificação - diretórios, repositórios Git, contêineres e SBOMs
- Formatos de Saída - texto, JSON, SARIF, SPDX, CycloneDX
- Formatos SBOM - SPDX 2.3 e CycloneDX 1.7, ingestão e receitas de conversão
- Integração com CI - GitHub Actions, GitLab, Jenkins, Azure, CircleCI
- Bomly Guard - ação GitHub turnkey para revisão de dependências em PRs
- Servidor MCP - conecte o Bomly ao Claude Code, Cursor, VS Code ou outro cliente MCP
- Alcançabilidade - triagem experimental de vulnerabilidades alcançáveis
- Plugins - detectores, correspondentes e auditores externos gerenciados
- Notas de Lançamento - o que mudou em cada versão
- Toda a Documentação - índice completo de documentação
A configuração de contribuidores está em CONTRIBUTING.md. Detalhes de arquitetura estão em docs/ARCHITECTURE.md.
Perguntas
Para perguntas, ideias e suporte geral, use Discussões do Bomly.
Use os problemas deste repositório apenas para bugs confirmados, regressões ou trabalho de implementação acionável.
Suporte
O Bomly é um projeto de código aberto. Se você o achar útil, pode apoiar o projeto marcando o repositório com estrela, compartilhando feedback, abrindo problemas, contribuindo com melhorias ou patrocinando a manutenção contínua.
Consulte Apoie o Bomly.
Licença
O CLI do Bomly é licenciado sob a Apache License 2.0.