
Utiliza a API do ChatGPT, API do Bard e Llama2, módulos Python-Nmap, DNS Recon, PCAP e JWT recon e utiliza o modelo GPT3 para criar relatórios de vulnerabilidades baseados em dados de varredura Nmap e informações de varredura DNS. Também pode realizar enumeração de subdomínios em grande extensão.
O GVA é um kit de ferramentas de reconhecimento e análise de vulnerabilidades assistido por IA. Ele executa o scan (nmap, DNS, subdomínios, JWT, PCAP, GeoIP) e, em seguida, entrega a saída bruta a um modelo de linguagem de grande porte que retorna uma análise estruturada, orientada a pentesters. Ele é fornecido com uma interface de linha de comando e uma GUI de desktop.
A camada de IA é agnóstica em relação ao provedor: OpenAI, Anthropic Claude, Google Gemini e modelos Ollama locais são todos suportados. Escolha um, ou execute vários ao mesmo tempo e deixe um agente de deliberação reconciliar suas análises em um único relatório.
pyproject.toml (gerenciadas com uv) ou requirements.txtnmap no PATH para o ataque nmaptshark no PATH para o ataque pcapO ataque nmap invoca o binário nmap do sistema através do python-nmap, portanto o nmap
deve estar instalado e executável.
sudo, ou você pode passar --sudo. Os perfis 1–5 são executados sem privilégios; o perfil 1
é o padrão e funciona sem root.libssh2.so.1: cannot open shared object file:
o nmap do sistema está sem uma biblioteca compartilhada. Se você usa conda,
conda install -c conda-forge nmap é autocontido e tem precedência no PATH.
Caso contrário, instale-o com rpm-ostree install libssh2 (e reinicie), ou use
brew install nmap ou um contêiner distrobox.Se o nmap estiver ausente ou quebrado, o ataque reporta um erro claro em vez de travar.
O script de instalação configura os pacotes do sistema, o uv e as dependências Python. Execute-o como seu usuário normal; ele eleva apenas a etapa de pacotes do sistema com sudo.
./install.sh # full install
./install.sh --no-system # skip system packages (uv + Python deps only)
Ele detecta automaticamente seu gerenciador de pacotes (apt, dnf, pacman, zypper, apk, brew ou
rpm-ostree), instala o uv no nível do usuário, executa uv sync e cria o .env. Não
execute sudo su primeiro: se o projeto estiver em uma montagem somente de usuário (por exemplo, /run/host ou
/media), o root não consegue lê-lo, então a invocação como usuário normal é o caminho confiável.
Para instalar manualmente com uv:
uv sync
pip install -r requirements.txt também funciona como alternativa.
Copie o arquivo de ambiente de exemplo e preencha as chaves dos provedores que você deseja. Qualquer provedor sem chave é ignorado automaticamente.
cp .env.example .env
GEOIP_API_KEY=
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
GEMINI_API_KEY=
Cada provedor é um agente Pydantic AI que retorna um resultado validado e estruturado. Selecione mais de um e cada modelo analisa o scan de forma independente e concorrente; um agente de deliberação (um dos modelos selecionados) então os reconcilia em um único relatório consolidado. Um painel de progresso ao vivo mostra o status de cada modelo, o tempo e a etapa de deliberação enquanto ela é executada.
| Provedor | Chave | Modelo padrão | Preço aprox. / 1M tokens |
|---|---|---|---|
| OpenAI | openai | gpt-5.6-luna | $0.20 in / $1.20 out |
| Anthropic | claude | claude-haiku-4-5 | $1.00 in / $5.00 out |
gemini | gemini-3.6-flash | $0.75 in / $3.75 out | |
| Ollama | ollama | llama3 | local / free |
Substitua qualquer modelo com a variável *_MODEL correspondente no .env. Veja .env.example
para alternativas. O Ollama usa uma imagem Docker local e é iniciado automaticamente quando
selecionado.
Execute com uv run gpt_vuln.py ..., ou python gpt_vuln.py ... dentro de um venv ativado.
# Help
uv run gpt_vuln.py --help
uv run gpt_vuln.py --rich_menu help
# Nmap scan (default profile 1), analysed by OpenAI
python gpt_vuln.py --target scanme.nmap.org --attack nmap --ai openai
# Choose a scan profile (see the profile table below, or --list_profiles)
python gpt_vuln.py --target scanme.nmap.org --attack nmap --profile 2
python gpt_vuln.py --list_profiles
# DNS recon (no profile needed)
python gpt_vuln.py --target example.com --attack dns
# Subdomain enumeration (default or custom wordlist)
python gpt_vuln.py --target example.com --attack sub
python gpt_vuln.py --target example.com --attack sub --sub_list path/to/list.txt
# GeoIP lookup
python gpt_vuln.py --target 8.8.8.8 --attack geo
# JWT analysis
python gpt_vuln.py --target <token> --attack jwt
# PCAP analysis
python gpt_vuln.py --target capture.pcap --attack pcap --output outputs/output.json
# Several providers: each analyses independently, then one consolidated report
python gpt_vuln.py --target example.com --attack dns --ai openai,claude,gemini
# Choose which model deliberates, and also show each model's own analysis
python gpt_vuln.py --target example.com --attack dns --ai all --summarizer claude --show_individual
# Password cracking
python gpt_vuln.py --password_hash <hash> --wordlist_file words.txt --algorithm md5 --parallel
# Interactive step-by-step menu
python gpt_vuln.py --menu
--menu inicia uma interface guiada que solicita o alvo, as opções e os provedores de IA
para cada ataque.
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ Option ┃ Action ┃
┡━━━━━━━━━╇━━━━━━━━━━━━━━━━┩
│ 1 │ Nmap scan │
│ 2 │ DNS recon │
│ 3 │ Subdomain enum │
│ 4 │ GeoIP lookup │
│ 5 │ JWT analysis │
│ 6 │ PCAP analysis │
│ 7 │ Hash cracker │
│ q │ Quit │
└─────────┴────────────────┘
Os perfis 1–5 são executados sem privilégios (scans TCP connect, sem root). O perfil 1 é o padrão.
Os perfis 6–10 usam flags SYN/UDP/detecção de SO que precisam de root; o GVA escala apenas a
etapa do nmap com sudo quando você escolhe um. Execute python gpt_vuln.py --list_profiles para
ver esta tabela no seu terminal.