Автономная ИИ-платформа пентеста с LLM-разведкой, анализом уязвимостей, цепочками атак и автоматическим пост-эксплуатационным перебором
CLI-агент для автономного пентеста с 13+ специализированными AI-агентами, 120+ тестами OWASP и удаленным выполнением инструментов через …
Автономный фреймворк для пентестинга, использующий рой AI-агентов со стигмерджик-координацией для оркестрации разведки, эксплуатации и подготовки отчётов.
Фреймворк, помогающий этичным хакерам использовать LLM с минимальным количеством кода для задач тестирования безопасности, таких как …
Открытый пайплайн для обнаружения уязвимостей на базе LLM: использует состязательную верификацию и динамическое тестирование, чтобы находить …
# Установка из готового пакета sudo dpkg -i llmtary_*.deb sudo rpm -i LLMtary-*-RH-Fed-Cent_Alma.x86_64.rpm sudo pacman -U LLMtary-*-x86_64.pkg.tar.zst sudo rpm -i LLMtary-*-opensuse.x86_64.rpm # Сборка из исходников flutter config --enable-linux-desktop git clone https://github.com/chetstriker/LLMtary.git cd LLMtary flutter pub get flutter run -d linux flutter build linux
Автономный пентест, управляемый LLM, для специалистов по информационной безопасности. От пассивной разведки до активной проверки эксплойтов и генерации профессиональных отчётов — всё работает локально, всё под вашим контролем.
Не требуется Flutter или инструменты для разработки — скачайте установщик для вашей платформы напрямую со страницы релизов:
| Платформа | Пакет |
|---|---|
| 🪟 Windows | Установщик .exe |
| 🍎 macOS (Apple Silicon) | Установщик .dmg |
| 🐧 Linux — Debian / Ubuntu | Пакет .deb |
| 🐧 Linux — RHEL / Fedora / CentOS / Alma | Пакет .rpm |
| 🐧 Linux — Arch | Пакет .pkg.tar.zst |
| 🐧 Linux — openSUSE | Пакет .rpm |
Собираете из исходников? См. Setup внизу страницы.
LLMtary — это приложение настольного клиента с открытым исходным кодом на Flutter, которое применяет интеллект больших языковых моделей на каждом этапе пентеста. Укажите цель — IP-адрес, имя хоста, FQDN или CIDR-блок — и LLMtary автономно выполняет разведку, выявляет уязвимости в десятках категорий атак, а затем реализует и подтверждает каждое найденное — без выхода из вашей машины.
Независимо от того, запускаете ли вы локальную модель на собственном GPU с полным отсутствием утечки данных за пределы вашей сети, или используете облачную модель для максимальной точности, LLMtary предоставляет структурированный агентный цикл тестирования, воспроизводящий реальное взаимодействие: пассивная разведка → определение сервисов → поиск уязвимостей → целевая эксплуатация → пост-эксплуатация → профессиональное отчётность.
Область / Разведка

Доказательство / Эксплуатация

Сводка результатов

Деталь результата

Встроенный ReconService LLMtary обеспечивает начальный сбор данных через цикл, управляемый LLM — выполняет сканирование портов, получение баннеров сервисов, веб-фингерпринтинг, перечисление DNS, обнаружение WAF, определение ОС и извлечение сертификатов — а затем объединяет все результаты в структурированный JSON, который подаётся на вход аналитического конвейера. Ручной ввод данных не требуется.
Анализ повторяет структуру профессиональной оценки, результаты фазы 1 обогащают каждый промпт фазы 2:
Фаза 1 — Пассивная разведка и определение сервисов (быстрая, всегда выполняется): - Анализ CVE/версий — строгое сопоставление продукт+версия с известными диапазонами уязвимостей - Анализ сетевых сервисов — SMB, SSH, FTP, базы данных, SNMP/управленческие протоколы, WinRM/WMI, IPv6 - DNS/OSINT и безопасность электронной почты — зонные передачи, поддоменная разведка, пробелы SPF/DMARC (внешние цели)
Фаза 2 — Полный анализ уязвимостей (обогащённый контекстом фазы 1): - Веб-приложения — четыре специализированных прохода: основные слабости инъекций/CMS/аутентификации, API/CORS/JWT/GraphQL/OAuth, бизнес-логика/SSTI/подмена запросов/заголовки безопасности, утечка секретов и конфигураций - Active Directory — три специализированных прохода: атаки на учётные данные (Kerberoasting, LDAP-null bind, распыление паролей), повышение привилегий (ADCS, злоупотребление ACL, атаки на делегирование), боковое перемещение (атаки ретрансляции, Pass-the-Hash/Ticket, WinRM) - SSL/TLS — стойкость шифров, версии протоколов, валидность сертификатов, известные классы уязвимостей TLS - Повышение привилегий — пути на уровне ОС: неправильная конфигурация sudo, бинарные файлы SUID, разрешения служб, запланированные задачи, злоупотребление реестром, имитация токенов - Глубокий анализ технологий — WordPress, Jenkins, Atlassian, Tomcat, Exchange, Elasticsearch, VMware, GitLab, Citrix, Drupal, MSSQL, ADCS, обход WAF — каждый запускается только при наличии индикаторов соответствующей технологии
Пост-анализ: - Дедупликация, валидация цитат из доказательств, сортировка по серьёзности/уверенности/бизнес-риску - Если обнаружено ≥2 результатов HIGH/CRITICAL для Active Directory, запускается анализ цепочки атак в стиле BloodHound для определения многошаговых путей к Domain Administrator
Каждый выбранный результат проходит полный цикл автономной валидации:
RECON → VERIFICATION → EXPLOITATION → CONFIRMATIONcurl url | bash), автоматически исправляет пути Windows в контексте WSLAttackChainКогда подтверждённое уязвимость даёт доступ высокого уровня (RCE, инъекция команд, обход аутентификации, учётные данные по умолчанию), автоматически ставится в очередь последовательность пост-эксплуатационного перечисления — перечисление пользователей, групп, сетевых интерфейсов, запущенных служб, читаемых файлов учётных данных и путей повышения привилегий, документируя полный радиус воздействия полученного доступа.
.penex (шифрование AES, защита паролем)LLMtary включает несколько уровней защиты от случайного или разрушительного выполнения:
| Контроль | Описание |
|---|---|
| Чёрный список опасных команд | Жёстко блокирует разрушающие шаблоны: rm -rf /, format, mkfs, dd if=, shutdown, reboot, fork bombs и аналогичные — независимо от вывода LLM |
| Обнаружение выполнения нескриптовых файлов | Блокирует попытки выполнить нескриптовые файлы как shell-скрипты (например, передачу wordlist в качестве аргумента bash) |
| Блокировка труб к shell | Блокирует cat file \| bash, curl url \| bash и аналогичные шаблоны |
| Режим утверждения команд | При включении каждая команда показывается пользователю перед выполнением |
| Настраиваемый белый список команд | Команды, добавленные в белый список, всегда выполняются без запроса |
| Проверка настройки для каждого инструмента | Инструменты, требующие инициализации (например, msfdb init), проверяются перед использованием; если недоступны, пропускаются на время сессии |
| Защита от тайм-аута подключения | При тайм-ауте подключения к порту исполнителю указывается не повторять попытку для этого порта |
| Очистка конфиденциального вывода | Вывод команд очищается от учётных данных, API-ключей и токенов перед сохранением и отображением |
| Принудительное соблюдение области видимости | Находки проверяются относительно настроенной области видимости и списков исключений |
| Провайдер | Тип | Примечания |
|---|---|---|
| Ollama | Локальный | По умолчанию: http://localhost:11434 — полностью автономная работа, данные не покидают вашу сеть |
| LM Studio | Локальный | По умолчанию: http://localhost:1234/v1 — полностью автономная работа, ускорение GPU |
| Claude (Anthropic) | Облачный | Требуется API-ключ |
| ChatGPT (OpenAI) | Облачный | Требуется API-ключ |
| Gemini (Google) | Облачный | Требуется API-ключ |
| OpenRouter | Облачный | Требуется API-ключ; доступ к множеству моделей через один API |
| Custom | Любой | Настраиваемый базовый URL и API-ключ |
| Настройки провайдера сохраняются для каждого провайдера отдельно — при переключении провайдера восстанавливаются ранее сохранённый API-ключ, модель и базовый URL этого провайдера. |
Промпты LLMtary большие и требуют сильных способностей к рассуждению. Один лишь системный промпт эксплойта превышает 6000 токенов, а системный промпт разведки — более 5600 токенов: окно контекста в 4K токенов физически слишком мало.
| Уровень | Размер | Надёжность JSON | VRAM (Q4) | Рекомендация |
|---|---|---|---|---|
| Непригодна | 7–8B | ~50–60% | ~6 ГБ | Галлюцинирует флаги, не может строить цепочки рассуждений |
| Минимум | 14B | ~70–80% | ~12 ГБ | Справляется с простыми целями; ожидайте некоторые повторные попытки |
| Рекомендуемая | 32B | ~85–90% | ~24 ГБ | Надёжное многошаговое рассуждение и цепочки эксплойтов |
| Профессиональная | 70B+ | ~95%+ | ~48 ГБ | Лучшие локальные результаты; конфигурации с двумя GPU работают хорошо |
Облачные провайдеры (Claude, ChatGPT, Gemini, OpenRouter) выполняют все вычисления удалённо — достаточно любого компьютера, способного запустить Flutter-приложение для настольных систем.
| Провайдер | Рекомендуемые модели |
|---|---|
| Anthropic | Claude Opus, Claude Sonnet |
| OpenAI | GPT-4o, GPT-4 Turbo |
| Gemini 1.5 Pro, Gemini 2.5 Pro | |
| OpenRouter | Любые из перечисленных через единый API |
Облачные провайдеры обеспечивают лучшие результаты благодаря большим окнам контекста (128K–200K токенов) и рассуждениям класса frontier — рекомендуется, если локальное оборудование ограничено.
Скачайте установщик для вашей платформы со страницы релизов. Flutter или инструменты разработчика не требуются.
| Платформа | Установка |
|---|---|
| 🪟 Windows | Запустите установщик .exe |
| 🍎 macOS | Откройте .dmg и перетащите в Applications |
| 🐧 Debian / Ubuntu | sudo dpkg -i llmtary_*.deb |
| 🐧 RHEL / Fedora / CentOS / Alma | sudo rpm -i LLMtary-*-RH-Fed-Cent_Alma.x86_64.rpm |
| 🐧 Arch | sudo pacman -U LLMtary-*-x86_64.pkg.tar.zst |
| 🐧 openSUSE | sudo rpm -i LLMtary-*-opensuse.x86_64.rpm |
Требуется Flutter SDK (стабильная ветка) с включённой поддержкой настольных систем.
flutter config --enable-linux-desktop # or: macos-desktop / windows-desktop
git clone https://github.com/chetstriker/LLMtary.git
cd LLMtary
flutter pub get
flutter run -d linux # or: macos, windows
Сборка релиза:
flutter build linux # or: macos, windows
LLMtary вызывает любые инструменты, установленные в вашей системе. Чем больше доступно инструментов, тем больше подходов к тестированию может предложить LLM:
msfdb init)Если инструмент отсутствует, LLM попытается установить его автоматически. Если установка не удаётся, он адаптируется и пытается альтернативные подходы.
Нажмите на значок настроек (в правом верхнем углу). Выберите вашего провайдера ИИ, введите ваш API-ключ и имя модели. Кнопка Test проверяет конфигурацию. Настройки сохраняются для каждого провайдера отдельно.
Проекты организуют вашу работу. Создайте именованный проект, чтобы начать.
На вкладке SCOPE / RECON введите ваши цели в поле In-Scope Targets — принимаются IP-адреса, имена хостов, FQDN и CIDR-блоки, разделённые запятыми или переносами строк. Также можно импортировать список целей из файла (один адрес на строку). Опционально добавьте исключения и Rules of Engagement, затем нажмите GO для запуска автономной разведки.
Перейдите на вкладку VULN / HUNT и нажмите Analyze. Несколько проходов LLM запускаются параллельно. Результаты появляются в таблице уязвимостей по мере их обнаружения, отсортированные по серьёзности.
Перейдите на вкладку PROOF / EXPLOIT. Отметьте уязвимости, которые вы хотите протестировать, и нажмите Execute Selected. Статусы обновляются в реальном времени:
- [PENDING] — ещё не протестировано
- [CONFIRMED] — эксплуатация успешна с доказательством
- [NOT VULNERABLE] — однозначно исключено
- [UNDETERMINED] — протестировано, но вывод неоднозначен
Перейдите на вкладку РЕЗУЛЬТАТ / ОТЧЁТ, чтобы сгенерировать отчёт в формате HTML, Markdown или CSV.
{
"device": {
"ip_address": "192.168.1.100",
"name": "webserver01",
"os": "Linux",
"os_version": "Ubuntu 22.04"
},
"open_ports": [
{
"port": 80,
"protocol": "tcp",
"state": "open",
"service": "http",
"product": "Apache httpd",
"version": "2.4.49",
"extra_info": "(Ubuntu)",
"cpe": "cpe:/a:apache:http_server:2.4.49"
}
],
"web_findings": [
{
"url": "http://192.168.1.100:80",
"status": 200,
"technologies": ["WordPress 6.2", "PHP 8.1"]
}
],
"dns_findings": [
{ "record_type": "MX", "name": "example.com", "value": "10 mail.example.com" }
],
"waf_findings": [
{ "waf": "Cloudflare", "detected_by": "cf-ray header" }
]
}
Все поля помимо device и open_ports являются необязательными, но значительно повышают качество анализа.
Каждая находка уязвимости включает:
| Поле | Описание |
|---|---|
problem |
Краткое описательное название |
cve |
Идентификатор CVE, если применимо |
description |
Техника атаки, затронутый путь/параметр, пример полезной нагрузки и то, что получает злоумышленник |
severity |
CRITICAL / HIGH / MEDIUM / LOW |
confidence |
HIGH / MEDIUM / LOW |
evidence |
Точные данные из вывода сканирования, подтверждающие находку |
recommendation |
Рекомендации по устранению |
vulnerabilityType |
Класс атаки (RCE, SQLi, XSS, LFI, Auth Bypass и т.д.) |
businessRisk |
Реальное бизнес-воздействие — утечка данных, точка распространения вымогателя, регуляторные риски, нарушение операций |
| Поля CVSS | attackVector, attackComplexity, privilegesRequired, userInteraction, confidentialityImpact, integrityImpact, availabilityImpact |
lib/
├── constants/
│ └── app_constants.dart # Color palette, settings keys, config defaults
├── database/
│ └── database_helper.dart # SQLite persistence (projects, targets, vulns, logs)
├── models/
│ ├── vulnerability.dart # Finding model with CVSS fields and status
│ ├── command_log.dart # Shell command execution record
│ ├── credential.dart # Discovered credential
│ ├── target.dart / project.dart # Target and project containers
│ ├── llm_settings.dart # AI provider configuration
│ └── llm_provider.dart # Provider enum with metadata
├── screens/
│ ├── home_screen.dart # Project selection and management
│ ├── main_screen.dart # Primary workspace with tab navigation
│ ├── settings_screen.dart # AI provider and execution settings
│ └── tabs/
│ ├── scope_recon_tab.dart # Autonomous recon and target management
│ ├── vuln_hunt_tab.dart # Vulnerability analysis pipeline
│ ├── proof_exploit_tab.dart # Exploit execution and results
│ └── result_report_tab.dart # Report generation
├── services/
│ ├── vulnerability_analyzer.dart # Multi-prompt parallel analysis pipeline
│ ├── exploit_executor.dart # Autonomous exploit testing loop (~91KB)
│ ├── recon_service.dart # LLM-guided recon data collection
│ ├── prompt_templates.dart # All analysis and execution prompts (~70KB)
│ ├── command_executor.dart # Shell execution with safety controls (~48KB)
│ ├── llm_service.dart # LLM API client (all 6 providers)
│ ├── report_generator.dart # HTML/Markdown/CSV report generation
│ ├── report_content_service.dart # AI-assisted report section generation
│ ├── project_porter.dart # Encrypted project export/import
│ ├── storage_service.dart # File system path management
│ ├── tool_manager.dart # Tool availability detection and caching
│ ├── background_process_manager.dart # Long-running listeners (Responder, ntlmrelayx)
│ └── environment_discovery.dart # OS/environment detection
├── utils/
│ ├── device_utils.dart # Target IP extraction and scope classification
│ ├── command_utils.dart # Command history, deduplication, approach tracking
│ ├── command_validator.dart # Two-tier pre-execution command validation
│ ├── cvss_calculator.dart # CVSS score computation
│ ├── json_parser.dart # Robust JSON extraction from LLM responses
│ ├── output_sanitizer.dart # Sensitive data redaction
│ └── app_exceptions.dart # Typed exception hierarchy
└── widgets/
├── app_state.dart # Global ChangeNotifier state (Provider)
├── vulnerability_table.dart # Sortable findings table with status indicators
├── command_log_panel.dart # Real-time command output viewer
├── prompt_log_panel.dart # LLM prompt/response inspector
├── debug_log_panel.dart # Internal debug event stream
├── command_approval_widget.dart # Approval mode command review UI
└── results_modal.dart # Post-execution findings summary
| Настройка | Описание |
|---|---|
| AI Провайдер | Какой бэкенд LLM использовать |
| Базовый URL | Эндпоинт API (локальные провайдеры и Custom) |
| API-ключ | Аутентификация для облачных провайдеров |
| Модель | Строковый идентификатор модели |
| Температура | Температура выборки LLM (по умолчанию 0.22 — ниже = более детерминированный результат) |
| Макс. токенов | Максимальное количество токенов на один ответ LLM (по умолчанию 4096) |
| Таймаут | Секунды до истечения времени ожидания запроса LLM (по умолчанию 240с) |
| Макс. итерации (с CVE) | Лимит цикла эксплуатации для находок с известным идентификатором CVE |
| Макс. итерации (без CVE) | Лимит цикла эксплуатации для общих находок без идентификатора CVE |
| Требовать подтверждение | Приостанавливать и запрашивать разрешение перед выполнением каждой команды оболочки |
| Белый список команд | Команды, которые обходят запрос подтверждения |
| Путь хранения | Базовый каталог для хранения файлов вывода сканирования |
LLMtary выполняет реальные команды оболочки на вашем локальном компьютере против реальных целей. Он предназначен исключительно для использования специалистами в области безопасности в авторизованных проектах по тестированию на проникновение, безопасностных исследованиях и соревнованиях CTF.
Вы несёте единоличную ответственность за обеспечение наличия явного письменного разрешения на тестирование любой цели. Неавторизованное сканирование, перечисление или эксплуатация систем является незаконным в большинстве юрисдикций в соответствии с законами о компьютерном мошенничестве и несанкционированном доступе, независимо от используемых инструментов. Авторы и соавторы LLMtary не несут никакой ответственности за неправомерное использование данного программного обеспечения.
LLMtary включает несколько уровней встроенных защитных механизмов — чёрный список опасных команд, блокировку перенаправления в оболочку через пайп, обнаружение несценарного выполнения, защиту от таймаута соединения и необязательный режим подтверждения команд, который требует от вас проверки и авторизации каждой команды перед её запуском. Эти механизмы предназначены для снижения риска случайных действий во время авторизованного тестирования.
Однако эти защиты являются предохранителями, а не гарантиями. Они предназначены для выявления распространённых случайных или деструктивных паттернов — они не заменяют профессиональное суждение, правильное определение масштаба проекта и соблюдение правил ведения проекта. Режим подтверждения команд можно отключить; если вы решите его отключить, вы принимаете на себя полную ответственность за каждую команду, которую система выполняет. Авторы и соавторы LLMtary не несут никакой ответственности за любой ущерб, потерю данных, сбой службы или другой вред, возникший в результате выполнения команд, сгенерированных или запущенных этим программным обеспечением.
LLMtary поддерживает как локально размещённые модели (Ollama, LM Studio — бесплатные, офлайн, без затрат на использование), так и облачных ИИ-провайдеров (Anthropic Claude, OpenAI ChatGPT, Google Gemini, OpenRouter). При использовании облачных провайдеров LLMtary выполняет вызовы API, за которые взимается плата с вашего аккаунта соответствующим провайдером. Конвейер анализа LLMtary запускает несколько проходов LLM параллельно, а цикл тестирования эксплуатации может выполнять множество итераций на одну уязвимость. Потребление токенов может быть значительным, особенно при больших наборах целей, высоких ограничениях на итерации или при использовании больших языковых моделей. Вы несёте исключительно ответственность за все расходы на использование API, возникающие в результате вашего использования LLMtary. Контролируйте использование и биллинговые панели вашего облачного провайдера. Авторы и участники LLMtary не несут ответственности за неожиданные начисления, возникающие в результате использования данного программного обеспечения.
LLMtary распространяется под MIT License. Полный текст лицензии см. в LICENSE.txt.
Вклад, отчёты об ошибках и запросы на новые функции приветствуются. Открывайте issue или pull request на GitHub.