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
Vlun-Agent-X — VulnAgent-X: Um Framework Agêntico em Camadas para Detecção de Vulnerabilidades em Nível de Repositório | Kitploit
Ferramentas/GitHubGitHub/renweimeng/vlun-agent-x
Análise EstáticaAnálise Dinâmica (Sandboxing)Análise de VulnerabilidadesAnálise de CódigoAprendizado de MáquinaPapers e PesquisaSegurança de IA
GitHubrenweimeng/vlun-agent-x

Vlun-Agent-X

VulnAgent-X: Um Framework Agêntico em Camadas para Detecção de Vulnerabilidades em Nível de Repositório

Ver Repositório
1há 5 mesesAinda 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

中文 English

Protótipo de Pesquisa VulnAgent-X

VulnAgent-X é um protótipo de detecção de vulnerabilidades/defeitos baseado em múltiplos Agents, voltado à reprodução de pesquisas acadêmicas. A entrada é um repositório local ou um diff, e a saída inclui findings estruturados, cadeia de evidências, resultados de localização, confiança e logs de experimentos.

Capacidades principais

  • Forma de entrada: repo path ou unified diff
  • Fluxo de trabalho: screening -> context expansion -> scheduler -> router -> experts -> sceptic -> verification(stub) -> evidence fusion
  • Campos de saída:
    • issue_type
    • location(file + line range)
    • evidence_summary
    • confidence
    • severity
    • optional_cwe
    • fix_hint
    • evidence_chain
    • counter_evidence
  • Interface: CLI + FastAPI
  • Experimentos reproduzíveis: pytest / mypy / ruff + suporte a execução via Docker

Visão geral do fluxo de trabalho

  1. screening: triagem rápida de regiões suspeitas (regras + sinais de metadados)
  2. context_expansion: recupera o "contexto mínimo suficiente" (extrai janelas ao redor das localizações suspeitas)
  3. scheduler: aplica estratégias de escalonamento com base em confiança e risco (early_exit / expert_review / verification)
  4. router_agent: seleciona um Agent especialista para cada região suspeita
  5. semantic/security/logic: fornecem alegações e evidências estruturadas sob diferentes perspectivas
  6. sceptic_agent: gera contraprovas e sinais de penalização
  7. verification: verificação dinâmica opcional (atualmente uma implementação stub segura)
  8. evidence_fusion: realiza a fusão unificada e gera os findings finais

Tutorial de instalação e execução

1) Preparação do ambiente

Requisitos: Python 3.11+ (também é executado em versões mais recentes)

root@kitploit:~
cd /Users/xiaolu/Documents/Python_code/vulnAgentX
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e '.[dev]'

2) Uso via CLI

Analisar o repositório inteiro:

root@kitploit:~
.venv/bin/vulnagentx analyze --repo /path/to/repo --output json

Analisar um arquivo de diff:

root@kitploit:~
.venv/bin/vulnagentx analyze --diff-file /path/to/patch.diff --output json

Saída resumida:

root@kitploit:~
.venv/bin/vulnagentx analyze --repo /path/to/repo --output summary

3) Uso da API

Iniciar o serviço:

root@kitploit:~
.venv/bin/uvicorn vulnagentx.app.api:app --reload

Verificação de integridade (health check):

root@kitploit:~
curl http://127.0.0.1:8000/health

Enviar uma análise:

root@kitploit:~
curl -X POST http://127.0.0.1:8000/analyze \
  -H "Content-Type: application/json" \
  -d '{"repo_path":"/path/to/repo"}'

4) Execução com Docker

root@kitploit:~
docker compose -f docker/docker-compose.yml up --build

5) Verificação de qualidade e testes

root@kitploit:~
.venv/bin/ruff check src tests
.venv/bin/mypy src
.venv/bin/pytest

Exemplo de saída

root@kitploit:~
{
  "run_id": "...",
  "findings": [
    {
      "issue_type": "command_injection",
      "location": {"file_path": "app.py", "start_line": 42, "end_line": 42},
      "evidence_summary": "Command execution surface detected...",
      "confidence": 0.87,
      "severity": "critical",
      "optional_cwe": "CWE-78",
      "fix_hint": "Avoid shell command composition...",
      "source_agents": ["security_agent", "semantic_agent"],
      "evidence_chain": [],
      "counter_evidence": []
    }
  ],
  "metrics": {
    "runtime_seconds": 0.07
  },
  "logs": []
}

Explicação da finalidade dos arquivos (arquivo por arquivo)

Diretório raiz e arquivos do projeto

Código-fonte principal (src/vulnagentx)

Arquivos de teste (tests)

ArquivoFinalidade
tests/test_agents.pyTestes unitários: saídas estruturadas de cada Agent e lógica de contraprovas.
tests/test_end_to_end.pyTeste de ponta a ponta: fluxo principal do repositório de entrada até os findings finais.
tests/test_research_modules.pyTestes dos novos módulos: construção do grafo com Tree-sitter, cadeia de execução da verification e métricas de avaliação.

Módulos de aprimoramento implementados nesta versão

  • Adaptadores LLM reais: OpenAI + Ollama local + alternância automática via factory
  • AST real com Tree-sitter e grafo de código: analisa funções/importações/relações de chamadas e suporta expansão de contexto para arquivos vizinhos
  • Conjunto real de regras Semgrep: arquivos de regras integrados e conectado à fase de screening
  • Cadeia de execução da sandbox de verification: planejamento de tarefas, execução restrita, controle de timeout e gravação estruturada dos resultados
  • Avaliação em datasets e ablação: carregadores de dados, módulos de métricas e scripts de experimentos e ablação
Baixar ferramenta
ArquivoFinalidade
.env.exampleModelo de variáveis de ambiente (configurações opcionais, como nível de log).
pyproject.tomlBuild do projeto, dependências, entradas de scripts e configuração de pytest/ruff/mypy.
README.mdREADME principal (com botões de troca de idioma; padrão: chinês).
README.zh.mdDocumentação completa em chinês.
README.en.mdDocumentação completa em inglês.
docker/DockerfileArquivo de construção da imagem do contêiner do serviço de API.
docker/docker-compose.ymlSobe os serviços de contêiner localmente com um clique.
rules/semgrep/vulnagentx-rules.ymlConjunto de regras Semgrep integradas (injeção de comandos/injeção de SQL/desserialização/API C insegura).
scripts/run_experiment.pyScript de execução de experimentos em lote sobre datasets; gera predições em JSONL.
scripts/evaluate.pyLê as saídas dos experimentos e calcula métricas de detecção/localização/eficiência.
scripts/run_ablation.pyScript de experimentos de ablação (no_semgrep/no_treesitter/no_sceptic/no_verification).
ArquivoFinalidade
src/vulnagentx/__init__.pyDefinição da versão e das exportações do pacote.
src/vulnagentx/app/__init__.pyInicialização do subpacote app.
src/vulnagentx/app/cli.pyPonto de entrada da CLI (vulnagentx analyze).
src/vulnagentx/app/api.pyPonto de entrada do serviço FastAPI (/health, /analyze).
src/vulnagentx/app/schemas.pySchemas Pydantic de requisição/resposta da API.
src/vulnagentx/core/__init__.pyInicialização do subpacote core.
src/vulnagentx/core/state.pyModelo de estado global: regiões, evidências, saídas dos Agents, Findings, logs e métricas.
src/vulnagentx/core/screening.pyTriagem rápida da primeira fase; extrai regiões suspeitas.
src/vulnagentx/core/context_expansion.pyExpansão de contexto: extrai janelas mínimas de código ao redor das localizações.
src/vulnagentx/core/scheduler.pyEstratégia de escalonamento ciente da confiança (early_exit/expert_review/verification).
src/vulnagentx/core/verification.pyMódulo de verificação dinâmica opcional (atualmente uma versão stub segura).
src/vulnagentx/core/evidence_fusion.pyFusão de evidências de múltiplos Agents; gera os findings finais.
src/vulnagentx/core/workflow.pyPonto de entrada de orquestração de ponta a ponta VulnAgentWorkflow.
src/vulnagentx/agents/__init__.pyAgregação das exportações dos Agents.
src/vulnagentx/agents/base.pyClasse base abstrata dos Agents e utilitários de obtenção de contexto.
src/vulnagentx/agents/router_agent.pyAgent roteador: atribui um Agent especialista a cada região suspeita.
src/vulnagentx/agents/semantic_agent.pyAgent semântico: riscos na camada semântica (ex.: ponteiro nulo, desserialização, exceções engolidas).
src/vulnagentx/agents/security_agent.pyAgent de segurança: regras de vulnerabilidades de segurança (injeção de comandos, injeção de SQL, estouro de limites etc.).
src/vulnagentx/agents/logic_bug_agent.pyAgent de lógica: defeitos de negócio/fluxo de controle (limites, divisão por zero, autorização ausente etc.).
src/vulnagentx/agents/sceptic_agent.pyAgent cético: gera contraprovas, penaliza conflitos e reduz a confiança.
src/vulnagentx/adapters/__init__.pyInicialização do subpacote de adaptadores.
src/vulnagentx/adapters/sandbox_adapter.pyExecutor de sandbox em subprocesso restrito (com timeout, sem shell) usado para a verification.
src/vulnagentx/adapters/semgrep_adapter.pyAdaptador da CLI do Semgrep (habilitação opcional).
src/vulnagentx/adapters/treesitter_adapter.pyAdaptador real de Tree-sitter (analisa AST e relações de chamadas/importações quando disponível; faz fallback quando indisponível).
src/vulnagentx/adapters/llm/__init__.pyAgregação das exportações dos adaptadores LLM.
src/vulnagentx/adapters/llm/base.pyInterface de protocolo dos adaptadores LLM.
src/vulnagentx/adapters/llm/mock_adapter.pyLLM Mock testável offline.
src/vulnagentx/adapters/llm/openai_adapter.pyAdaptador do SDK oficial da OpenAI.
src/vulnagentx/adapters/llm/local_adapter.pyAdaptador para modelos locais (API HTTP do Ollama).
src/vulnagentx/adapters/llm/factory.pySeleciona automaticamente o adaptador LLM conforme a configuração e faz fallback para o Mock.
src/vulnagentx/retrieval/repo_graph.pyÍndice do grafo de código e recuperação de arquivos vizinhos (com base na sobreposição de símbolos da AST).
src/vulnagentx/datasets/base.pyEstrutura genérica de amostras de datasets e leitura de JSONL/CSV.
src/vulnagentx/datasets/devign.pyPonto de entrada de carregamento dos dados Devign.
src/vulnagentx/datasets/bigvul.pyPonto de entrada de carregamento dos dados Big-Vul.
src/vulnagentx/datasets/primevul.pyPonto de entrada de carregamento dos dados PrimeVul.
src/vulnagentx/datasets/jit.pyPonto de entrada de carregamento dos dados JIT.
src/vulnagentx/eval/detection_metrics.pyMétricas de detecção (Precision/Recall/F1/Accuracy).
src/vulnagentx/eval/localization_metrics.pyMétricas de localização (Top-1/Top-3/MRR).
src/vulnagentx/eval/efficiency_metrics.pyMétricas de eficiência (tempo médio, P95, média de findings).
src/vulnagentx/eval/ablations.pyLógica de execução dos experimentos de ablação.
src/vulnagentx/utils/config.pyCentro de configuração do fluxo de trabalho (chaves via env/CLI/API).