За последний год я прогнал с десяток AI-ассистентов через реальные пентест-сценарии - от bug bounty до внутренних аудитов корпоративных сетей. Часть из них реально сэкономила часы рутины на этапе разведки. Другие красиво галлюцинировали, выдавая несуществующие CVE и команды, которые роняли терминал. Это не обзор из серии «10 AI-тулов, которые изменят вашу жизнь». Это разбор конкретных инструментов: что запустил, что получил, где сломалось. Только то, что работает на Kali Linux и Parrot OS прямо сейчас.
Зачем пентестеру LLM-ассистент и где проходит граница пользы
Русскоязычные обзоры AI инструментов для пентеста обычно сводятся к списку из десяти названий с парой абзацев описания. За этими списками стоит мало практического опыта - пересказ README с GitHub'а. Я выделяю три этапа kill chain, где LLM пентестинг реально даёт выигрыш, и два, где он скорее мешает. Подробнее - в нашем обзоре безопасность llm атаки.Где AI ускоряет работу:
- Разведка и перечисление (Reconnaissance, T1595.002) - парсинг вывода Nmap, корреляция открытых портов с известными уязвимостями, структурирование данных OSINT. Тут LLM работает как продвинутый
grepс контекстом. - Анализ и приоритизация - когда у тебя 200 находок от сканера, LLM помогает ранжировать по реальной эксплуатации, а не только по CVSS.
- Генерация отчётов - превращение сырых логов в читаемый отчёт с рекомендациями. Экономия 2-3 часов на каждом проекте - проверено на себе.
- Эксплуатация - LLM генерирует payload'ы, которые выглядят правильно, но не работают в конкретной среде. Хуже того, могут уронить продуктивный сервис. На одном проекте сгенерированный скрипт чуть не положил прод-базу заказчика.
- Пост-эксплуатация и lateral movement - модели теряют контекст в длинных сессиях. При эскалации привилегий и боковом перемещении контекст критичен, а модель на седьмом шаге уже забыла, с чего начинали.
METATRON пентест: локальный AI без облака
METATRON - open-source CLI-ассистент на Python 3, который работает полностью локально через Ollama. Ключевое отличие от облачных решений вроде PentestGPT: никакие данные о целевой инфраструктуре не уходят на серверы OpenAI или Anthropic. Для NDA-проектов - то, что нужно.По данным Cybersecurity News, METATRON создан для Parrot OS и других Debian-based дистрибутивов. Принимает целевой IP или домен и автономно запускает цепочку разведки - сканирование портов, перечисление сервисов, анализ результатов через локальную LLM.
Что он делает на практике: принимает цель (IP/домен) и запускает стандартные инструменты разведки -
nmap для Network Service Discovery (T1046), DNS-перечисление и прочее. Вывод утилит передаётся в локальную LLM через Ollama для анализа и формирования рекомендаций. По сути - оркестратор: не заменяет Nmap или Nikto, а связывает их выходы в единый контекст.Установка сводится к клонированию репозитория с GitHub,
pip install -r requirements.txt и наличию работающего Ollama с загруженной моделью. Для комфортной работы нужна видеокарта с минимум 8 ГБ VRAM - на CPU анализ будет занимать минуты на каждый запрос, и терпения не хватит.Где полезен: внутренние пентесты, когда NDA запрещает передачу данных в облако. Лично я использовал его при тестировании банковской инфраструктуры, где любая отправка данных наружу - нарушение регуляторных требований. Модель
mistral:7b через Ollama отрабатывала адекватно для парсинга вывода Nmap и предложений по дальнейшим шагам.Где слаб: локальные модели в 7-13B параметров заметно уступают облачным GPT-4 или Claude в качестве анализа. Сложные цепочки эксплуатации METATRON не строит - он хорош именно как ассистент разведки, не более. Не стоит ждать от семимиллиардника чудес.
Kali Linux Claude MCP: настройка MCP-сервера для offensive security
Model Context Protocol (MCP) - открытый протокол от Anthropic, анонсированный 25 ноября 2024 года (поддержку позже анонсировали OpenAI в марте 2025 и Google DeepMind в апреле 2025). Для пентестера суть простая: можно дать Claude доступ кnmap, sqlmap, Metasploit и другим утилитам через единый протокол - и управлять ими на естественном языке.Архитектура MCP - три компонента:
- MCP Host - приложение вроде Claude Desktop или IDE
- MCP Client - протокольный клиент, держащий соединение с серверами
- MCP Server - легковесная программа, которая отдаёт инструменты через стандартизированный протокол
nmap, gobuster и sqlmap в MCP-совместимые функции, а Claude через Claude Desktop дёргает их по запросу. Конфигурация задаётся в claude_desktop_config.json - пути к MCP-серверам и способ подключения (локальный stdio или удалённый через SSE).Пример минимального MCP-сервера, оборачивающего вызов сканирования:
Python:
@mcp.tool()
def quick_scan(target: str) -> str:
"""Run a quick Nmap scan against the target IP or domain.
Returns open ports and detected services."""
import subprocess
result = subprocess.run(
["nmap", "-sV", "--top-ports", "100", target],
capture_output=True, text=True, timeout=120
)
return result.stdout
tools/list к каждому MCP-серверу и вставляет метаданные инструментов (название, описание, параметры) прямо в системный промпт. То есть само добавление MCP-сервера уже меняет поведение модели, даже если ни один инструмент ещё не вызван. Запомните этот момент - он аукнется в разделе про безопасность.Безопасность MCP: prompt injection через метаданные инструментов
Согласно исследованию Embrace The Red, MCP несёт серьёзные риски безопасности, которые большинство руководств по настройке тихо обходят стороной. Вот что нужно понимать, прежде чем давать Claude доступ к терминалу:Атака через метаданные инструмента. Описание MCP-инструмента - часть промпта. Вредоносный MCP-сервер может вставить в
description скрытые инструкции, которые перехватят управление поведением LLM. По данным Embrace The Red, Claude корректно обрабатывает Unicode Tags - а значит, можно спрятать инструкции так, что при визуальном осмотре метаданных в UI они будут невидимы. Красиво, правда?Fake tool calls. Зная формат описания инструментов в системном промпте, атакующий может заставить Claude «вызвать» инструмент, которого не существует, или дёрнуть реальный инструмент с параметрами, которые пользователь не одобрял.
Рекомендации по безопасности MCP для пентеста (на основе исследований Tier Zero Security и Embrace The Red):
- Не храните API-ключи и токены в plaintext-конфигурации
claude_desktop_config.json- переменные окружения или системные keychain'ы - Проверяйте исходный код каждого стороннего MCP-сервера перед добавлением. Каждого. Без исключений
- Только локальный режим
stdio- не подключайте MCP-серверы через удалённый SSE без аутентификации - Разделяйте доступ: отдельные MCP-серверы для read-only разведки и для активной эксплуатации
- Все вызовы инструментов должны логироваться - MCP-сервер без журналирования в пентесте недопустим
; rm -rf / в описании инструмента.CyberStrikeAI: когда автоматизация пентеста AI попадает не в те руки
По данным исследователя Уилла Томаса (BushidoToken) из Team Cymru S2 Research, open-source платформа CyberStrikeAI предположительно использовалась в реальной вредоносной кампании по компрометации файрволов FortiGate.CyberStrikeAI написана на Go и объединяет более 100 инструментов безопасности с AI-движком, совместимым с GPT, Claude и DeepSeek. Платформа поддерживает MCP-протокол и AI-агентов, обеспечивая сквозную автоматизацию - от команд на естественном языке до эксплуатации уязвимостей. Арсенал: Nmap и Masscan для сканирования (T1046), sqlmap и Nikto для тестирования веб-приложений, Metasploit для эксплуатации, hashcat и john для брутфорса (T1110), mimikatz, bloodhound и impacket для пост-эксплуатации. Полный боекомплект, короче.
Почему это важно: CyberStrikeAI показывает, что AI-оркестрация реально работает в offensive-сценариях. Но она же показывает, что порог входа для атакующих снижается до опасного уровня. Раньше для full kill chain нужен был опыт и голова на плечах. Сейчас - Go-бинарник и API-ключ.
Это не аргумент против AI-инструментов. Это аргумент за то, что пентестер должен понимать эти инструменты лучше, чем тот, кто их использует по ту сторону.
Сравнительная таблица: AI red team инструменты
Сравнение инструментов, которые я тестировал лично или разбирал по первоисточникам. Оценки субъективные.| Инструмент | Модель | Локальная работа | Лучший этап | Автономность | Зрелость |
|---|---|---|---|---|---|
| METATRON | Ollama (Mistral, Llama) | Да | Разведка | Средняя | Ранняя |
| Claude MCP (кастомный) | Claude 3.5/4 | Нет (API) | Разведка, анализ | Низкая (human-in-the-loop) | Стабильная |
| PentestGPT | GPT-4 | Нет (API) | Разведка, отчёты | Низкая | Средняя |
| CyberStrikeAI | GPT/Claude/DeepSeek | Частично | Full kill chain | Высокая | Средняя |
| Burp Suite + AI-плагины | Разные | Нет | Веб-тестирование | Низкая | Зрелая |
| DeepExploit | DRL (собственная) | Да | Эксплуатация | Высокая | Экспериментальная |
Что бросается в глаза:
- METATRON - единственный полностью локальный вариант с приемлемым качеством для NDA-проектов
- Claude MCP требует ручного подтверждения каждого действия (human-in-the-loop) - замедляет, но безопаснее
- CyberStrikeAI - самый автономный, и именно это делает его опасным в чужих руках
- PentestGPT хорош для обучения начинающих. Для опытного пентестера скорее тормозит - слишком много «разжёвывания» очевидных вещей
Практический workflow: автоматизация пентеста AI за три шага
Конкретный сценарий, который я использую на реальных проектах. Никакой магии - три шага.Шаг 1: Разведка через METATRON или MCP
Запускаю METATRON с целевым доменом. Инструмент последовательно выполняет
nmap -sV на стандартных портах, DNS-перечисление и базовый fingerprinting. Вывод передаётся в локальную LLM, которая структурирует результаты: открытые порты, версии сервисов, потенциальные точки входа.Если проект позволяет облачные API - переключаюсь на Claude MCP. Формулирую запрос на естественном языке: «Просканируй цель X, определи открытые порты, идентифицируй версии сервисов, предложи три наиболее вероятных вектора атаки на основе найденных версий». Claude дёргает MCP-инструмент для Nmap, получает результат и анализирует.
Шаг 2: Анализ и приоритизация
Полученные данные передаю LLM с промптом: «Вот результаты сканирования. Ранжируй находки по вероятности эксплуатации, учитывая: версию сервиса, наличие публичных эксплойтов, сложность эксплуатации. Для каждого сервиса укажи релевантные CVE из NVD и модули Metasploit».
Тут критически важно верифицировать каждый CVE, который выдаёт модель. В моей практике GPT-4 в трёх случаях из десяти выдавал несуществующие идентификаторы CVE - просто выдумывал номера. Claude ошибается реже, но тоже галлюцинирует. Каждый номер проверяю через
searchsploit --cve <ID> (предварительно обновив базу через searchsploit -u) или напрямую через nvd.nist.gov.Для иллюстрации: CVE-2024-0132 - уязвимость TOCTOU в NVIDIA Container Toolkit 1.16.1 и ранее (CVSS 9.0, CRITICAL, CWE-367), позволяющая через специально подготовленный контейнер получить доступ к файловой системе хоста, вплоть до выполнения кода и эскалации привилегий. Сами инструменты AI/ML-стека тоже дырявые. Другой пример - CVE-2024-3660: arbitrary code injection в Keras (<2.13), CVSS 9.8, CWE-94. Это не единичные случаи - реальные CVE регулярно всплывают в PyTorch, LangChain, Ollama. Проверяйте безопасность своих инструментов так же тщательно, как целевых систем.
Шаг 3: Генерация отчёта
После завершения тестирования скармливаю LLM все находки в структурированном формате и прошу сгенерировать отчёт по шаблону: описание уязвимости, CVSS-скоринг, proof-of-concept, рекомендации по исправлению. Этот этап экономит 2-3 часа на каждом проекте и, как правило, требует минимальной ручной правки - подтянуть формулировки, убрать галлюцинации в рекомендациях.
Bash:
# Быстрый pipeline разведки для подачи в LLM
nmap -sV --top-ports 1000 -oX scan.xml $TARGET
xsltproc scan.xml -o scan.html
# Результат - в METATRON или копируем в Claude
Где LLM галлюцинирует: честный разбор ограничений
Конкретные случаи из моей практики, где LLM пентестинг создал больше проблем, чем решил:Выдуманные CVE и несуществующие модули Metasploit. На CTF попросил GPT-4 предложить модуль Metasploit для конкретной версии Apache. Модель выдала
exploit/multi/http/apache_mod_cgi_bash_env_exec с параметрами, которые выглядели правдоподобно. Модуль существует, но рекомендованные параметры были неверными для этой конфигурации. На реальном пентесте это стоило бы часов отладки - сидишь и думаешь, что руки кривые, а это модель нафантазировала.Потеря контекста в длинных сессиях. При тестировании Active Directory с десятком хостов Claude терял контекст после 5-6 итераций. На седьмом шаге он «забывал», какие учётные данные уже были получены, и предлагал начать заново. Для линейного сканирования не критично, но для lateral movement - неприемлемо.
Ложная уверенность. LLM никогда не говорит «я не знаю». Генерирует уверенный ответ, даже если данные противоречивы. В пентесте это опаснее, чем отсутствие ответа - ложноотрицательный результат означает пропущенную уязвимость. Модель скажет «сервис не уязвим» с той же уверенностью, с которой скажет «сервис уязвим». Разницы для неё нет.
Как я минимизирую эти риски:
- Каждый CVE проверяю через
searchsploit --cve <ID>или напрямую через nvd.nist.gov (отсутствие результата в searchsploit не означает отсутствия CVE) - Не использую LLM для генерации финальных payload'ов - только черновики, которые дорабатываю вручную
- Разбиваю длинные сессии на изолированные задачи: отдельный запрос на каждый хост, отдельный контекст для каждого этапа
- Для критических шагов (эксплуатация, пост-эксплуатация) работаю вручную с Metasploit и impacket. Тут AI - зритель, не участник
Искусственный интеллект в кибербезопасности: что дальше
Тренд очевиден: AI-инструменты для пентеста движутся от «умного чата» к автономным агентам. CyberStrikeAI уже показала, как выглядит полный kill chain под управлением AI - от сканирования до пост-эксплуатации. Техника Artificial Intelligence (T1588.007, Resource Development) в MITRE ATT&CK зафиксирована не случайно: противник использует те же инструменты.Для пентестера это означает три вещи.
Первое - учитесь настраивать, а не только использовать. Кастомный MCP-сервер под ваши задачи даст больше, чем любой готовый инструмент. Понимание протокола и его дыр (включая prompt injection через метаданные) - обязательный навык уже сейчас.
Второе - локальные модели - реальность, не игрушка. METATRON на Ollama с Mistral-7B работает приемлемо для разведки. С появлением более мощных открытых моделей разрыв с облачными API будет сокращаться. Уже Llama 3.1 70B через Ollama выдаёт анализ, сопоставимый с GPT-3.5 - а год назад об этом и мечтать не стоило.
Третье - нейросеть для тестирования безопасности остаётся напарником, а не заменой. Критическое мышление, понимание бизнес-логики и способность адаптироваться к нестандартным конфигурациям - то, что LLM пока не умеет. Пентестер, который слепо копирует команды из вывода ChatGPT, проиграет тому, кто понимает, почему именно эта команда, и проверяет каждый шаг.
Стратегия простая: AI на этапах с высоким объёмом рутины (разведка, парсинг, отчёты) и ручная работа там, где нужен контекст и точность (эксплуатация, пост-эксплуатация). Инструменты меняются каждый квартал. Принцип остаётся: доверяй, но проверяй. А лучше - не доверяй и всё равно проверяй. Попробуйте собрать свой MCP-сервер под пару любимых утилит - удивитесь, насколько это меняет workflow.
Вопрос к читателям
Те, кто уже настраивал MCP-сервер для связки Claude с инструментами Kali: какой набор tool descriptions вы экспонируете для фазы разведки? Конкретно интересует - отдаёте ли вы Claude прямой доступ к nmap через MCP с парсингом XML-output, или ограничиваетесь передачей текстового вывода? И второй момент: при интеграции sqlmap через MCP какие параметры scope вы жёстко фиксируете на стороне сервера, чтобы агент не вышел за рамки engagement - конкретный конфиг --scope или кастомный wrapper?Делитесь конфигами - соберём рабочие шаблоны.
Последнее редактирование модератором: