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.

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
Ver Repositório
21há 1 mêsAinda não revisado

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.

Motivação real: Em 2024, a pesquisadora de segurança Johanna Curiel documentou exatamente este problema ao analisar o Kubernetes Java Client (artigo no LinkedIn). O scanner OSV identificou em segundos um CVE de alto risco em com.diffplug.spotless:spotless-maven-plugin 1.17.0. Determinar que era not_affected (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.


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.

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

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