Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
SBOM-VEX-Taint-Analysis — Pipeline automatizada de SBOM para VEX usando um sistema seguro de IA multiagente para analisar CVEs, raciocinar sobre explorabilidade e gerar documentos VEX CycloneDX assinados em conformidade com as diretrizes OWASP GenAI. | Kitploit
Ferramentas/GitHubGitHub/owasp/sbom-vex-taint-analysis
Análise de VulnerabilidadesSegurança da Cadeia de SuprimentosPapers e PesquisaAprendizado e EducaçãoRecursos CuradosSegurança de IA
GitHubowasp/sbom-vex-taint-analysis

SBOM-VEX-Taint-Analysis

Pipeline automatizada de SBOM para VEX usando um sistema seguro de IA multiagente para analisar CVEs, raciocinar sobre explorabilidade e gerar documentos VEX CycloneDX assinados em conformidade com as diretrizes OWASP GenAI.

Ver Repositório
2159há 1 mêsAinda não revisado

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 →
Compartilhar

Agente SBOM → VEX

Gere automaticamente documentos VEX CycloneDX assinados a partir de SBOMs utilizando um pipeline seguro de múltiplos agentes de IA, construído em conformidade com as diretrizes do Projeto OWASP GenAI Security.

License: MIT OWASP CycloneDX AutoGen


O Problema

Gerar um SBOM revela centenas de CVEs. Na prática, mais de 90% não são exploráveis no contexto de execução de um produto específico. Sem um documento Vulnerability Exploitability eXchange (VEX), todas as ferramentas a jusante — Dependency-Track, portões de release, listas de verificação de procurement — são inundadas por falsos positivos.

Leia a WIKI para mais detalhes técnicos e resultados de testes

A geração manual de VEX consome tempo e não escala. Um analista qualificado pode gastar horas avaliando um único componente. Um SBOM de produção pode conter de 500 a 2.000 componentes.

Este projeto automatiza esse pipeline de raciocínio — de forma segura, sem dependência de fornecedor, com todos os dados permanecendo na sua infraestrutura.

Em 2024, a pesquisadora de segurança Johanna Curiel documentou exatamente este problema ao analisar o Kubernetes Java Client (). O scanner OSV identificou em segundos um CVE de alto risco em . Determinar que era (plugin de compilação, nunca executado em tempo de execução) exigiu horas de análise manual. Este projeto automatiza essa etapa de raciocínio.

Motivação real:
artigo no LinkedIn
com.diffplug.spotless:spotless-maven-plugin 1.17.0
not_affected

Arquitetura

Quatro zonas de segurança. Nada cruza um limite sem validação explícita.

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│  ZONE 1 — Entrada de dados (sem LLM)                             │
│  Upload do SBOM → Validação de esquema → Sanitização → Hash SHA-256 │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 2 — Middleware de guardrails OWASP                        │
│  Guardião de prompt (LLM01) · Filtro de saída (LLM02/05)        │
│  Limitador de agência (LLM06) · Orçamento de tokens (LLM10)     │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 3 — Pipeline multiagente (AutoGen AgentChat)               │
│                                                                  │
│  Orquestrador                                                    │
│       ├── Analista de CVEs      NVD v2 + OSV + EPSS por componente │
│       ├── Raciocinador de Exploração  Grafo de chamadas · Raciocínio LLM · RAG │
│       └── Escritor VEX        Validado pelo esquema CycloneDX 1.6 │
│                                                                  │
│  Armazenamento vetorial (Qdrant) — decisões VEX assinadas anteriores │
└────────────────────────────┬────────────────────────────────────┘
                             │
┌────────────────────────────▼────────────────────────────────────┐
│  ZONE 4 — Saída, assinatura, auditoria                          │
│  Portão humano-no-circuito → assinatura cosign/GPG → registro de auditoria │
└─────────────────────────────────────────────────────────────────┘

Conformidade com OWASP GenAI

Este projeto foi projetado de acordo com o OWASP Top 10 for LLM Applications 2025 e o OWASP Top 10 for Agentic Applications 2026.

Risco OWASPIDMitigação neste projeto
Injeção de PromptLLM01Todos os campos do SBOM sanitizados antes da injeção no LLM; lista de bloqueio de padrões de injeção
Divulgação de Informações SensíveisLLM02Removedor de PII em todas as saídas dos agentes; filtro de caminhos internos
Manipulação Incorreta da SaídaLLM05Validação do esquema CycloneDX antes da assinatura; repetição em caso de falha
Agência ExcessivaLLM06Ferramentas somente leitura durante a análise; portão humano-no-circuito para todas as decisões com CVSS ≥ 7,0
Vazamento de Prompt de SistemaLLM07Políticas internas separadas do prompt de sistema
Fraqueza de Vetores / EmbeddingsLLM08Vetores armazenados assinados; proveniência verificada antes da injeção de contexto
Consumo IlimitadoLLM10MaxMessageTermination(20); orçamento de tokens por componente; timeout da NVD

Humano-no-circuito é obrigatório. Uma declaração VEX not_affected para um CVE de alta severidade é uma afirmação de nível legal. Nenhum VEX é assinado sem aprovação do revisor humano. Isto não é configurável.


Pilha Tecnológica

ComponenteFerramentaNotas
Orquestração de agentesAutoGen AgentChat v0.4Multiagente, uso de ferramentas, hooks de mensagens
LLM (recomendado)Qwen2.5-Coder-32BMelhor JSON estruturado + raciocínio de segurança
Servidor LLMvLLM (prod) / Ollama (dev)API compatível com OpenAI
Dados de CVEAPI NVD v2 + OSV.dev + EPSSTodos gratuitos, sem necessidade de chave de API
Armazenamento vetorialQdrantAuto-hospedado, decisões VEX anteriores
Embeddingsall-MiniLM-L6-v2 (sentence-transformers)Totalmente local
Formatos de SBOMCycloneDX 1.4–1.7 (JSON/XML), SPDX 2.3/3.0Validados pelo esquema na ingestão
Saída VEXCycloneDX 1.6 VEXValidado pelo esquema antes da assinatura
Assinaturacosign (Sigstore keyless)Com timestamp, registrado em auditoria
Registro de auditoriaPostgreSQL (append-only, pgaudit)Cada decisão do agente registrada

Tudo executa localmente. Nenhum dado sai da sua infraestrutura.


Requisitos

Hardware (produção):

  • 1× A100 80GB, ou 2× RTX 3090 (48GB VRAM combinados) para Qwen2.5-Coder-32B
  • 16GB+ de RAM do sistema
  • 100GB+ de SSD para pesos do modelo e armazenamento vetorial

Hardware (desenvolvimento / SBOMs pequenos):

  • Qualquer máquina com 16GB de RAM — use llama3.1:8b via Ollama

Software:

  • Python 3.11+
  • Docker + Docker Compose
  • Node.js 18+ (para ferramentas cosign)

Início Rápido

1. Clone e instale

root@kitploit:~
git clone https://github.com/your-org/sbom-vex-agent
cd sbom-vex-agent
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

2. Inicie o backend LLM

root@kitploit:~
# Desenvolvimento — Ollama (CPU/GPU, qualquer laptop)
ollama pull llama3.1
ollama serve

# Produção — vLLM (GPU necessária)
python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen2.5-Coder-32B-Instruct \
  --gpu-memory-utilization 0.90 \
  --host 0.0.0.0 --port 8000

3. Inicie os serviços de suporte

root@kitploit:~
docker compose up -d   # inicia Qdrant + PostgreSQL

4. Execute o agente em um SBOM

root@kitploit:~
python -m vex_agent analyse \
  --sbom path/to/your-sbom.cdx.json \
  --output path/to/output.vex.json

O pipeline irá:

  1. Validar e sanitizar o SBOM
  2. Consultar CVEs para cada componente
  3. Raciocinar sobre a explorabilidade
  4. Apresentar o rascunho do VEX a um revisor humano
  5. Assinar e emitir o documento final após aprovação

Configuração

Copie .env.example para .env e defina:

root@kitploit:~
# Backend LLM
VLLM_BASE_URL=http://localhost:8000/v1    # ou Ollama: http://localhost:11434/v1
LLM_MODEL=Qwen2.5-Coder-32B-Instruct     # ou llama3.1 para desenvolvimento

# Serviços
QDRANT_URL=http://localhost:6333
AUDIT_DB_URL=postgresql://audit:secret@localhost:5432/audit

# Assinatura (deixe em branco para usar cosign keyless via Sigstore OIDC)
GPG_KEY_ID=                               # opcional: usar GPG

Estrutura do Projeto

root@kitploit:~
sbom-vex-agent/
├── vex_agent/
│   ├── ingest.py          # Zona 1: Validação e sanitização de SBOM
│   ├── guardrails.py      # Zona 2: Middleware OWASP (GuardrailedAgent)
│   ├── agents/
│   │   ├── orchestrator.py
│   │   ├── cve_analyst.py
│   │   ├── exploit_reasoner.py
│   │   └── vex_writer.py
│   ├── tools/
│   │   ├── nvd.py         # Cliente da API NVD v2
│   │   ├── osv.py         # Cliente OSV.dev
│   │   └── epss.py        # Pontuação EPSS
│   ├── vector_store.py    # Integração com Qdrant + assinatura de proveniência
│   ├── hitl.py            # Portão de revisão humano-no-circuito
│   └── sign.py            # Zona 4: Assinatura cosign / GPG
├── schemas/
│   ├── cdx-1.6.schema.json
│   └── cdx-1.6-vex.schema.json
├── tests/
├── docker-compose.yml
├── .env.example
└── requirements.txt

Formato de Saída VEX

O agente produz documentos VEX CycloneDX 1.6. Exemplo de saída para um único componente:

root@kitploit:~
{
  "bomFormat": "CycloneDX",
  "specVersion": "1.6",
  "version": 1,
  "metadata": {
    "timestamp": "2026-04-26T10:00:00Z",
    "tools": [{ "name": "sbom-vex-agent", "version": "1.0.0" }]
  },
  "vulnerabilities": [
    {
      "id": "CVE-2021-37714",
      "affects": [{ "ref": "pkg:maven/com.diffplug.spotless/[email protected]" }],
      "analysis": {
        "state": "not_affected",
        "justification": "vulnerable_code_not_in_execute_path",
        "detail": "Plugin executa apenas em tempo de compilação; não está presente no runtime implantado."
      }
    }
  ]
}

Valores válidos para state: affected · not_affected · fixed · under_investigation

Valores válidos para justification (para not_affected):

  • component_not_present
  • vulnerable_code_not_present
  • vulnerable_code_not_in_execute_path
  • vulnerable_code_cannot_be_controlled_by_adversary
  • inline_mitigations_already_exist

Recursos Relacionados

  • OWASP GenAI Security Project
  • OWASP Top 10 for LLM Applications 2025
  • OWASP Top 10 for Agentic Applications 2026
  • Especificação CycloneDX
  • AutoGen AgentChat v0.4
  • Banco de Dados de Vulnerabilidades OSV
  • API de Pontuação EPSS
  • Sigstore / cosign
  • Johanna Curiel — Analysing Supply Chain Vulnerabilities in the Kubernetes Java Client Using SBOM and Generating VEX (2024)

Contribuições

Contribuições são bem-vindas. Por favor, abra uma issue antes de enviar um pull request para alterações significativas.

Problemas de segurança devem ser reportados de forma privada — consulte SECURITY.md.


Licença

MIT — veja LICENSE.


Construído em conformidade com o OWASP GenAI Security Project. Não é um projeto oficial da OWASP.

Baixar ferramenta