
Использует ChatGPT API, Bard API и Llama2, Python-Nmap, DNS Recon, модули разведки PCAP и JWT, а также модель GPT3 для создания отчетов об уязвимостях на основе данных сканирования Nmap и информации DNS-сканирования. Также может выполнять перечисление поддоменов в значительной степени.
GVA — это набор инструментов для разведки и анализа уязвимостей с поддержкой ИИ. Он выполняет сканирование (nmap, DNS, поддомены, JWT, PCAP, GeoIP), а затем передаёт необработанный вывод большой языковой модели, которая возвращает структурированный анализ, ориентированный на пентестера. Поставляется как с интерфейсом командной строки, так и с настольным графическим интерфейсом.
Слой ИИ не зависит от провайдера: поддерживаются OpenAI, Anthropic Claude, Google Gemini и локальные модели Ollama. Выберите один или запустите несколько одновременно и позвольте агенту-делибератору согласовать их анализы в единый отчёт.
pyproject.toml (управляются через uv) или requirements.txtnmap в PATH для nmap-атакиtshark в PATH для pcap-атакиnmap-атака вызывает системный бинарник nmap через python-nmap, поэтому nmap
должен быть установлен и запускаться.
sudo, либо вы можете передать --sudo. Профили 1–5 работают без привилегий; профиль 1
используется по умолчанию и работает без root.libssh2.so.1: cannot open shared object file:
в системном nmap отсутствует разделяемая библиотека. Если вы используете conda,
conda install -c conda-forge nmap является самодостаточным и имеет приоритет в PATH.
В противном случае установите её через rpm-ostree install libssh2 (затем перезагрузитесь), либо используйте
brew install nmap или контейнер distrobox.Если nmap отсутствует или не работает, атака сообщает понятную ошибку вместо аварийного завершения.
Скрипт установки настраивает системные пакеты, uv и зависимости Python. Запускайте его от обычного пользователя; он повышает права только для шага установки системных пакетов через sudo.
./install.sh # полная установка
./install.sh --no-system # пропустить системные пакеты (только uv + зависимости Python)
Он автоматически определяет ваш менеджер пакетов (apt, dnf, pacman, zypper, apk, brew или
rpm-ostree), устанавливает uv на уровне пользователя, запускает uv sync и создаёт .env. Не
выполняйте сначала sudo su: если проект находится на монтировании, доступном только пользователю (например, /run/host или
/media), root не сможет его прочитать, поэтому запуск от обычного пользователя — надёжный путь.
Для ручной установки с uv:
uv sync
pip install -r requirements.txt также работает как запасной вариант.
Скопируйте пример файла окружения и заполните ключи для нужных вам провайдеров. Любой провайдер без ключа автоматически пропускается.
cp .env.example .env
GEOIP_API_KEY=
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
GEMINI_API_KEY=
Каждый провайдер — это агент Pydantic AI, возвращающий валидированный структурированный результат. Выберите более одного, и каждая модель проанализирует сканирование независимо и параллельно; затем агент-делибератор (одна из выбранных моделей) согласует их в единый консолидированный отчёт. Во время работы живая панель прогресса показывает статус каждой модели, время и этап делиберации.
| Провайдер | Ключ | Модель по умолчанию | Примерная цена / 1M токенов |
|---|---|---|---|
| OpenAI | openai | gpt-5.6-luna | $0.20 вход / $1.20 выход |
| Anthropic | claude | claude-haiku-4-5 | $1.00 вход / $5.00 выход |
gemini | gemini-3.6-flash | $0.75 вход / $3.75 выход | |
| Ollama | ollama | llama3 | локально / бесплатно |
Переопределите любую модель соответствующей переменной *_MODEL в .env. Смотрите .env.example
для альтернатив. Ollama использует локальный Docker-образ и запускается автоматически при
выборе.
Запускайте через uv run gpt_vuln.py ... или python gpt_vuln.py ... внутри активированного 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 запускает пошаговый интерфейс, который запрашивает цель, параметры и провайдеров ИИ
для каждой атаки.
┏━━━━━━━━━┳━━━━━━━━━━━━━━━━┓
┃ 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 │
└─────────┴────────────────┘
Профили 1–5 работают без привилегий (TCP connect-сканирование, без root). Профиль 1 используется по умолчанию.
Профили 6–10 используют флаги SYN/UDP/определения ОС, требующие root; GVA повышает права только для
шага nmap с помощью sudo, когда вы выбираете один из них. Запустите python gpt_vuln.py --list_profiles, чтобы
увидеть эту таблицу в терминале.