Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ndaal_public_SBOM_Auditor — Aplicação web offline de binário único que ingere SBOMs CycloneDX, SPDX e syft, executa um conjunto de scanners de CVE, enriquece os resultados com EPSS, CISA-KEV e nuclei, e exporta SARIF, CSAF e PDF. | Kitploit
Ferramentas/GitLabGitLab/vpierre/ndaal_public_sbom_auditor
Ferramentas DefensivasGerenciamento de Indicadores de Comprometimento (IOC)Análise EstáticaScanners de VulnerabilidadesAnálise de VulnerabilidadesAuditoria de ConfiguraçãoDevSecOpsUtilitários e Frameworks

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Inteligência de Ameaças
Segurança da Cadeia de Suprimentos
GitLabvpierre/ndaal_public_sbom_auditor

ndaal_public_SBOM_Auditor

Aplicação web offline de binário único que ingere SBOMs CycloneDX, SPDX e syft, executa um conjunto de scanners de CVE, enriquece os resultados com EPSS, CISA-KEV e nuclei, e exporta SARIF, CSAF e PDF.

Ver RepositórioSite
37há 1 diaAinda não revisado
Compartilhar

ndaal SBOM Auditor

Um aplicativo web offline de binário único para investigar arquivos SBOM (Software Bill of Materials). Faça upload de um SBOM ou importe uma pasta deles, analise cada um com um conjunto de ferramentas independentes, revise os achados normalizados em uma única interface local e exporte o resultado em oito formatos. Sem instalação, sem acesso à rede, sem telemetria.

Traduções: Deutsch · Français

O que ele faz

  1. Ingestão — faça upload de um SBOM no navegador, ou importe todos os SBOMs de uma pasta configurável. CycloneDX (JSON/XML), SPDX (JSON/tag-value e 3.0 JSON-LD) e syft-json são detectados; os arquivos recebem hash de conteúdo e são deduplicados.
  2. Análise — executa as ferramentas habilitadas contra o SBOM, cada uma como um subprocesso isolado sob um prazo e um limite de concorrência. Uma ferramenta ausente é um skip limpo e visivelmente distinto — nunca reportado como um resultado limpo.
  3. Achados — a saída de cada ferramenta é normalizada para um formato comum, com o alias CVE resolvido a partir do identificador GHSA/OSV da ferramenta, e exibida por ferramenta com badges de severidade.
  4. Pontuação — avalia o SBOM em relação a todos os dezessete elementos mínimos da CISA 2026, distinguindo um NOASSERTION explícito de um fornecedor de um campo que está simplesmente ausente.
  5. Busca — encontra quais dos seus SBOMs declaram um determinado componente, em todo o corpus, por nome ou package URL.
  6. — grava a análise como SARIF 2.1, SARIF 2.2, Markdown, ODT, DOCX, PDF e avisos CSAF 2.1 / 2.2. persiste os formatos selecionados no diretório de exportação do servidor, cada um acompanhado por cinco sidecars de hash criptográfico; renderiza os mesmos formatos em memória e os transmite ao navegador — um documento, ou um pacote ZIP para vários — sem gravar nada em disco.
Exportação
Export
Start download

Painel de SBOMs armazenados

A página inicial (/) lista todos os SBOMs armazenados e permanece utilizável à medida que o corpus cresce:

  • Paginado — 25 linhas por página, com uma legenda "Showing X–Y of N" e controles Previous / Page / Next.
  • Colunas ordenáveis — clique no cabeçalho Name, Format ou Components para ordenar por ele; clique no cabeçalho novamente para inverter a direção.
  • Filtro de formato — restringe a lista a um formato (CycloneDX JSON/XML, SPDX JSON, SPDX 3.0 JSON, SPDX tag-value, Syft JSON ou Unknown); um botão Reset limpa os filtros mantendo a ordenação atual.
  • Coluna de severidade — uma coluna mais à direita, após Ingested, mostra a única severidade de achado mais alta de cada SBOM (Critical, High, Medium, Low ou Negligible), ou "—" quando ainda não tem achados, com um filtro de severidade correspondente.
  • Busca de texto completo — uma caixa de busca, apoiada por um índice de texto completo tantivy, corresponde ao nome, formato e versão de especificação de um SBOM, bem como aos nomes e package URLs dos componentes que ele contém, de modo que uma consulta como log4j ou openssl encontra todo SBOM que inclui esse componente. A consulta tem limite de comprimento e é analisada de forma tolerante.

Conjunto de analisadores

Cada ferramenta é opcional em tempo de execução e detectada no PATH (substitua o binário com SBA_TOOL_<NAME>_BIN). Os achados nunca dependem de uma única ferramenta.

FerramentaPapel
syftNormalizador de SBOM / conversor CycloneDX 1.6
grypeCorrespondência de CVE
trivyScanner de vulnerabilidades
osv-scannerConsultas ao banco de dados OSV
bomberCorrespondência independente em conjunto
bomdriftDrift de cadeia de suprimentos / typosquat (SARIF)
inspektrScanner de vulnerabilidades de SBOM (JSON)
shieldbomScanner offline de CVE para embarcados/IoT (SARIF)
provenantLicença / copyright / proveniência (ScanCode)

As primeiras oito ferramentas contribuem com achados de vulnerabilidade em formato CVE; provenant é diferente — ele reporta proveniência de licença, copyright, detentor e autor, que o auditor armazena e exibe como seu próprio formato de achado (uma seção "Licence & provenance" por execução, incluída na exportação Markdown) em vez de descartá-la.

Os scanners não conseguem ler todos os formatos diretamente: bomber consome apenas CycloneDX ≤ 1.6, e nenhum dos scanners lê SPDX 3.0 JSON-LD. Em ambos os casos o auditor normaliza a entrada para CycloneDX via syft convert primeiro, e faz skip com um motivo documentado quando o syft não está disponível, em vez de deixar uma ferramenta reportar zero pacotes. O banco de dados de vulnerabilidades do grype é atualizado uma vez por execução (fora de banda) para que uma obsolescência rotineira seja uma varredura nova, não uma falha.

Enriquecimento de vulnerabilidades

Após a análise, cada achado em formato CVE é enriquecido com três sinais reais obtidos de um serviço vulnlookup (padrão https://vulnlookup.ndaal.eu):

  • EPSS — a pontuação de probabilidade de exploração e seu percentil.
  • CISA-KEV — um sinalizador que marca a CVE como conhecidamente explorada.
  • nuclei — se existe um template de exploit público, e sua severidade.

Cada achado mostra seus valores KEV, Nuclei, EPSS e Source, onde Source aponta de volta para o registro vulnlookup, e os achados são ordenados do mais urgente para o menos: entradas conhecidamente exploradas (KEV) vêm primeiro, depois aquelas com o maior percentil EPSS; achados sem enriquecimento mantêm a ordem em que o analisador os produziu. O enriquecimento viaja para todos os formatos de exportação — SARIF 2.1 / 2.2, Markdown, ODT, DOCX, PDF e CSAF 2.1 / 2.2, onde o CSAF carrega EPSS como métrica nativa e registra CISA-KEV e nuclei como notas — e o formulário de exportação agora marca todos os formatos por padrão.

Configure-o em Settings → Vulnerability enrichment: um botão liga/desliga (habilitado por padrão) e até três fontes vulnlookup, cada uma com uma URL base, uma porta TCP e uma porta QUIC (uma porta em branco é tratada como 443). As fontes 1 e 2 usam por padrão o https://vulnlookup.ndaal.eu público na porta 443; a fonte 3 usa por padrão um loopback https://127.0.0.1 nas próprias portas 8680 (TCP) / 8681 (QUIC) deste host, de modo que um vulnlookup co-localizado é um fallback funcional pronto para uso. As fontes são tentadas em ordem — a primeira é primária, as outras são fallbacks.

Postura de segurança

  • Transporte: somente HTTPS, TLS 1.3 (rustls + aws-lc-rs) com troca de chaves pós-quântica (X25519MLKEM768) oferecida primeiro. Certificado de desenvolvimento autoassinado, regenerado na inicialização; arquivos PEM do operador suportados.
  • Segurança de memória: escrito em Rust com #![forbid(unsafe_code)]; a política de lint nega atalhos que causam panic, aritmética não verificada e indexação não verificada em código de produção.
  • Confinamento do sistema de arquivos: toda E/S de dados / importação / exportação é confinada por um handle de capacidade cap-std (classes de path-traversal, symlink e TOCTOU fechadas). Os nomes de arquivos armazenados são derivados pelo servidor, nunca fornecidos pelo cliente.
  • Criptografia de armazenamento (opcional): XChaCha20-Poly1305 sela os bytes de SBOM armazenados e a saída bruta das ferramentas enquanto estão em disco (--encryption-key-file).
  • Reforço web: cabeçalhos de resposta de defesa em profundidade em cada resposta, uma Content-Security-Policy fixada por hash, verificações de mesma origem em cada POST, e um limite de tamanho do corpo da requisição.
  • Sem telemetria, sem backdoors. Tudo roda localmente. Atende aos critérios TeleTrusT "IT Security made in Germany / Europe".

Reforço neste ciclo

  • Limite de DoS multipart — o parser de upload rejeita qualquer boundary multipart maior que os 70 caracteres da RFC 2046 e o localiza com uma busca linear bidirecional, fechando um caminho de esgotamento de CPU O(body×boundary).
  • Descriptografia de dados armazenados fail-closed — um blob criptografado indescritível (chave errada ou adulteração) agora gera um erro rígido em vez de ser lido como um documento vazio que reportava "nenhum achado".
  • Validação de CVSS — as pontuações base de CVSS dos analisadores são limitadas ou rejeitadas quando não finitas ou fora de [0, 10] antes de chegarem a um CSAF ou SARIF gerado, e uma mesclagem entre ferramentas mantém a pontuação mais forte.
  • Reforço de chave TLS — --tls-key recusa uma chave RSA PKCS#1 (política no-RSA) e, no Unix, um arquivo de chave legível por grupo ou por todos.
  • Portão de extensão de download de exportação — GET /export/download serve apenas nomes com uma extensão reconhecida de exportação ou sidecar de checksum, de modo que um diretório de exportação mal configurado não possa entregar um arquivo de sistema.
  • Atualização do h2 (RUSTSEC-2026-0258) — a pilha HTTP/2 incluída é atualizada para 0.4.18 para frames DATA vazios ilimitados; cargo audit está limpo.

Compilar e executar

Instale a versão publicada do crates.io — cargo install a compila a partir do código-fonte, cargo binstall busca o binário pré-compilado da release do GitLab:

root@kitploit:~
cargo install sbom-auditor     # build from source
cargo binstall sbom-auditor    # prebuilt GitLab-release binary

Ou compile este checkout diretamente (é necessária uma toolchain Rust estável recente):

root@kitploit:~
cargo build --release
./target/release/sbom-auditor

Em seguida, abra https://127.0.0.1:8680 (o navegador avisará uma vez sobre o certificado autoassinado). A navegação superior executa Home, Upload, Import, Export, Components, Tools, Settings, seguida pelo seletor de tema escuro/claro, menu de idioma e menu de informações à direita. A interface é fornecida em 49 idiomas — inglês, alemão e francês, além de todos os idiomas oficiais europeus, norueguês Nynorsk, os três idiomas sámi oficiais na Noruega (sámi setentrional, lule e meridional), e três adições asiáticas — chinês (中文), hindi (हिन्दी) e urdu (اردو, da direita para a esquerda) — selecionáveis no menu de idiomas (e lembrados por navegador). A seção Supported GUI languages abaixo tem o detalhamento completo.

Opções comuns

root@kitploit:~
--port <PORT>              Listen port (default 8680, env SBA_PORT)
--bind <ADDR>              Bind address (default 127.0.0.1, env SBA_BIND)
--data-dir <DIR>           Data directory (SQLite store + stored SBOMs)
--db <PATH>                Database path (default <data-dir>/auditor.db)
--encryption-key-file <F>  Enable storage encryption with this 32-byte key
--tls-cert <F> --tls-key <F>  Operator certificate instead of self-signed
--allow-non-loopback       Permit binding a non-loopback address
--check-update             Check gitlab.com for a newer release, then exit
--self-update              Download + verify + install the latest release
--help                     Full option list

Portas: 8680 serve a API e a interface web sobre TLS 1.3 (HTTP/1.1 + HTTP/2); 8681 está reservada para um futuro listener QUIC / HTTP-3 (ainda não implementado).

Idiomas de GUI suportados

A interface web é fornecida em 49 idiomas. Inglês, alemão e francês são o conjunto mantido e escrito por humanos e estão fixados na frente do seletor de idiomas; todos os outros idiomas seguem em ordem alfabética pelo seu nome em inglês.

Três idiomas asiáticos entraram neste ciclo: chinês / 中文 (mandarim, simplificado), hindi / हिन्दी e urdu / اردو. O urdu é da direita para a esquerda — o aplicativo renderiza <html dir="rtl"> enquanto ele está selecionado.

Todos os idiomas além dos três fixados são traduzidos por máquina e aguardam revisão nativa; qualquer string ausente de uma tradução recorre automaticamente ao inglês. O seletor na página lista cada idioma pelo seu próprio endônimo de nome nativo e é a lista autoritativa — consulte-o em vez de uma enumeração aqui.

Isso se aplica apenas à interface web. Os relatórios gerados (SARIF, CSAF e a exportação PDF) e a API HTTP permanecem somente em inglês.

Testes

root@kitploit:~
cargo nextest run          # unit + integration suite
cargo test --doc           # doctests

Harnesses adicionais: loom-harness/ (modelos de permutação de concorrência), test/bruno/ (coleção de API), test/playwright/ (E2E de navegador), test/example-corpus/ (API + GUI upload→analyze→export sobre o corpus de SBOMs example/ incluído) e loadtest/ (cenários de carga Goose). tests/scripts/test_examples_upload_via_api.sh (com um .bats irmão) faz upload de cada SBOM de example/ contra uma instância em execução e verifica se cada um produz um SARIF, um CSAF e um PDF via o ZIP transmitido por POST /export/download; o TLS é verificado para hosts não-loopback e ignorado para o certificado autoassinado do localhost, e --base-url aponta para qualquer instância (por exemplo https://sbom.ndaal.eu/). A suíte test/magnitude/ (Magnitude, *.mag.ts) adiciona verificações visuais orientadas por IA da ordem da navbar e dos padrões de exportação, além de Start download; ela complementa os testes determinísticos, precisa de um LLM para rodar e não faz parte do portão de CI bloqueante. O diretório example/ carrega 651 SBOMs de teste públicos (Git LFS); veja example/PROVENANCE.md. Veja documentation/structure.md para o mapa de módulos e o fluxo de requisições.

Documentação

  • REFERENCE.md — referência de CLI, ambiente, rotas, configurações e formatos de exportação
  • documentation/structure.md — mapa de arquitetura
  • documentation/User_Guide.md — passo a passo para o usuário final
  • documentation/Administrator_Guide.md — implantação e operações
  • documentation/arc42/en/ — visões de arquitetura arc42
  • documentation/compliance/CSI_2026_cisa_sbom_minimum_elements_508c.md — avaliação de conformidade com os CISA 2026 SBOM Minimum Elements
  • CHANGELOG.md — histórico de versões

Licença

O código é licenciado sob Apache-2.0. Os assets de UI incluídos carregam suas próprias licenças (Bootstrap MIT, htmx 0BSD, Roboto OFL-1.1); veja os sidecars .license por arquivo em src/static/.

Baixar ferramenta