
Verwendet ChatGPT API, Bard API und Llama2, Python-Nmap, DNS Recon, PCAP und JWT Recon-Module und verwendet das GPT3-Modell, um Schwachstellenberichte basierend auf Nmap-Scan-Daten und DNS-Scan-Informationen zu erstellen. Es kann auch Subdomain-Enumeration in großem Umfang durchführen.
GVA ist ein KI-gestütztes Toolkit für Reconnaissance und Schwachstellenanalyse. Es führt den Scan aus (nmap, DNS, Subdomains, JWT, PCAP, GeoIP) und übergibt die Rohausgabe dann an ein großes Sprachmodell, das eine strukturierte, auf Pentester ausgerichtete Analyse zurückgibt. Es wird sowohl mit einer Kommandozeilenschnittstelle als auch mit einer Desktop-GUI ausgeliefert.
Die KI-Schicht ist anbieterunabhängig: OpenAI, Anthropic Claude, Google Gemini und lokale Ollama-Modelle werden alle unterstützt. Wähle eines aus oder führe mehrere gleichzeitig aus und lasse einen Deliberations-Agenten ihre Analysen zu einem einzigen Bericht zusammenführen.
pyproject.toml (verwaltet mit uv) oder requirements.txtnmap im PATH für den nmap-Angrifftshark im PATH für den pcap-AngriffDer nmap-Angriff ruft die System-Binary nmap über python-nmap auf, daher muss nmap
installiert und ausführbar sein.
sudo, oder du kannst --sudo übergeben. Profile 1–5 laufen unprivilegiert; Profil 1
ist die Standardeinstellung und funktioniert ohne Root.libssh2.so.1: cannot open shared object file:
dem System-nmap fehlt eine Shared Library. Wenn du conda verwendest,
ist conda install -c conda-forge nmap eigenständig und hat Vorrang im PATH.
Andernfalls binde es mit rpm-ostree install libssh2 ein (danach neu starten) oder verwende
brew install nmap oder einen distrobox-Container.Wenn nmap fehlt oder defekt ist, meldet der Angriff einen sauberen Fehler, anstatt abzustürzen.
Das Installationsskript richtet Systempakete, uv und die Python-Abhängigkeiten ein. Führe es als deinen normalen Benutzer aus; es erhebt nur den Systempaket-Schritt mit sudo.
./install.sh # full install
./install.sh --no-system # skip system packages (uv + Python deps only)
Es erkennt deinen Paketmanager automatisch (apt, dnf, pacman, zypper, apk, brew oder
rpm-ostree), installiert uv auf Benutzerebene, führt uv sync aus und erstellt .env. Führe nicht
zuerst sudo su aus: Wenn das Projekt auf einem nur für Benutzer zugänglichen Mount liegt (zum Beispiel /run/host oder
/media), kann Root es nicht lesen, daher ist der Aufruf als normaler Benutzer der zuverlässige Weg.
Zur manuellen Installation mit uv:
uv sync
pip install -r requirements.txt funktioniert ebenfalls als Fallback.
Kopiere die Beispiel-Umgebungsdatei und trage die Schlüssel für die Anbieter ein, die du möchtest. Jeder Anbieter ohne Schlüssel wird automatisch übersprungen.
cp .env.example .env
GEOIP_API_KEY=
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
GEMINI_API_KEY=
Jeder Anbieter ist ein Pydantic-AI-Agent, der ein validiertes, strukturiertes Ergebnis zurückgibt. Wähle mehr als einen aus, und jedes Modell analysiert den Scan unabhängig und gleichzeitig; ein Deliberations-Agent (eines der ausgewählten Modelle) führt sie dann zu einem einzigen konsolidierten Bericht zusammen. Ein Live-Fortschrittsboard zeigt den Status jedes Modells, die Zeitmessung und den Deliberationsschritt während der Ausführung.
| Anbieter | Schlüssel | Standardmodell | Ungefährer Preis / 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 |
Überschreibe jedes Modell mit der passenden *_MODEL-Variable in .env. Siehe .env.example
für Alternativen. Ollama verwendet ein lokales Docker-Image und wird automatisch gestartet, wenn es
ausgewählt wird.
Führe es mit uv run gpt_vuln.py ... aus, oder python gpt_vuln.py ... innerhalb einer aktivierten venv.
# 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 startet eine geführte Oberfläche, die nach dem Ziel, den Optionen und den KI-
Anbietern für jeden Angriff fragt.
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ 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 │
└─────────┴────────────────┘
Profile 1–5 laufen unprivilegiert (TCP-Connect-Scans, kein Root). Profil 1 ist die Standardeinstellung.
Profile 6–10 verwenden SYN/UDP/OS-Detection-Flags, die Root benötigen; GVA eskaliert nur den
nmap-Schritt mit sudo, wenn du eines auswählst. Führe python gpt_vuln.py --list_profiles aus, um
diese Tabelle in deinem Terminal zu sehen.