
Автоматизацию пентеста часто обсуждают как лестницу зрелости: сначала скрипты, затем LLM, а на вершине — автономный агент. На практике это три разных инструмента, и самый «умный» не всегда оказывается лучшим.
Если хотите узнать больше о том, как AI-агенты уже меняют наступательную безопасность, приходите на открытый эфир CyberED × Standoff 365.
А здесь разберём, что выбирать для разведки, анализа, эксплуатации, валидации и отчёта.
Три инструмента — три разных режима работы
Скрипт следует заранее заданному маршруту. Одинаковый ввод приводит к предсказуемому набору действий: собрать домены, запустить сканер, отфильтровать ответы, передать результат следующей утилите. Это дешево, быстро, повторяемо и хорошо проверяется.
LLM полезна там, где входные данные уже собраны, но их нужно понять: сопоставить признаки, сократить шум, предложить гипотезы, объяснить фрагмент кода или подготовить черновик. Она работает с неоднозначностью, но может каждый раз отвечать немного иначе и уверенно ошибаться.
AI-агент нужен, когда недостаточно одного ответа. Он хранит состояние задачи, вызывает инструменты, анализирует их вывод и выбирает следующее действие. Его сильная сторона — адаптация к меняющейся ситуации. Цена этой гибкости — больший расход времени и токенов, сложная отладка и менее предсказуемый результат.
Выбор можно свести к одному вопросу: следующий шаг известен заранее или зависит от того, что обнаружится по дороге?
Матрица выбора по этапам
| Этап | Базовый выбор | Когда подключать LLM | Когда нужен агент |
|---|---|---|---|
| Разведка | Скрипты и конвейеры | Разобрать нетипичный ответ, сгруппировать и приоритизировать данные | Когда ветка разведки должна меняться после каждого нового наблюдения |
| Анализ | LLM под контролем специалиста | Основной сценарий: объяснение, сопоставление, формирование гипотез | Когда гипотезы нужно сразу проверять несколькими инструментами |
| Эксплуатация | Скрипт для известной проверки, человек для решения | Подготовить или адаптировать PoC, разобрать реакцию приложения | Для длинной цепочки, где следующий шаг зависит от результата предыдущего |
| Валидация | Повторяемый скрипт и ручная проверка | Сопоставить доказательства, найти противоречия | Для независимого повторного прохода, но не как единственный источник вердикта |
| Отчёт | Шаблон и управляемый код | Сжать заметки, улучшить формулировки, сделать черновик | Обычно не нужен: автономность не даёт преимущества перед стабильностью |
Эта таблица не запрещает комбинации. Наоборот, устойчивый процесс обычно собирается из нескольких слоёв: скрипты добывают данные, LLM помогает их осмыслить, агент управляет ветвящимся исследованием, а человек подтверждает результат.
Разведка любит предсказуемые конвейеры
На этапе разведки маршрут часто известен заранее. Можно получить набор целей, собрать поддомены, проверить доступность, просканировать порты и передать интересные узлы следующему инструменту. Bash-, Python- или PowerShell-конвейер справляется с этим лучше агента: не забывает шаги, не меняет формат вывода и не тратит токены на решение уже формализованной задачи.
LLM имеет смысл подключать после сбора данных — например, чтобы сгруппировать нетипичные ответы или объяснить, почему конкретный сервис заслуживает внимания. Агент оправдан, только если разведка действительно ветвится: новый сервис меняет план, требует дополнительного исследования, а результат одного инструмента определяет, какой вызывать следующим.
Простой критерий: если последовательность можно записать блок-схемой без развилок, начните со скрипта.
Анализ — естественная территория LLM
Сырые результаты сканеров редко равны готовым находкам. Нужно отличить шум от полезного сигнала, сопоставить запросы и ответы, понять код, оценить гипотезу. Здесь LLM экономит время: она может разобрать большой объём наблюдений, подсветить противоречия и предложить направления для проверки.
Но модель не должна сама превращать предположение в уязвимость. Вывод сканера мог зависеть от балансировщика, задержки или состояния приложения. Поэтому ответ LLM — это приоритизация, а не доказательство.
Если после каждой гипотезы нужно отправить новый запрос, прочитать результат и перестроить план, появляется работа для агента. Если же специалисту достаточно получить объяснение и самому выбрать действие, агентский цикл только добавит стоимость и сложность.
На открытом эфире об AI-агентах в наступательной безопасности разберём, где такая автономность уже полезна, а где контроль специалиста остаётся частью рабочего процесса.
Эксплуатация требует адаптации, но не всегда агента
Известную проверку лучше оставить скрипту. Он воспроизводимо отправит запрос, проверит условие и сохранит результат. LLM пригодится, когда нужно адаптировать PoC к конкретному приложению, разобрать незнакомый фрагмент или предложить несколько вариантов следующего шага.
Агент становится полезен в длинной цепочке: он пробует гипотезу, наблюдает реакцию цели, корректирует действия и продолжает до заданного результата. Именно здесь проявляется его отличие от чат-интерфейса с моделью — не один совет, а последовательная работа с инструментами и состоянием.
Однако гибкость повышает риск непредвиденного действия. Поэтому scope, разрешённые инструменты, запрещённые команды и бюджет нужно задавать до запуска, а критические действия оставлять под подтверждением человека. Агент расширяет рабочий цикл пентестера, но не принимает на себя ответственность за него.
Валидация возвращает нас к детерминизму
Чем необычнее найденная цепочка, тем важнее воспроизвести её без творческой интерпретации. Для валидации нужен минимальный повторяемый сценарий: конкретные запросы, ожидаемые ответы, сохранённые артефакты и понятный критерий успеха.
LLM может проверить связность объяснения или найти пробелы в доказательствах. Агент может пройти цепочку заново с чистого состояния. Но финальный вердикт должен опираться на воспроизводимый результат и ручную проверку, а не на уверенность модели или красивый итоговый текст.
Хорошая практика — после исследовательского прохода агента превратить удачную цепочку в скрипт. Так разовая находка становится проверяемым тестом.
Отчёт должен быть стабильнее модели
Для коммерческого отчёта важны единые формулировки, структура и связь с доказательствами. Если описание одной и той же уязвимости заметно меняется от проекта к проекту, заказчику сложнее сопоставлять результаты.
Поэтому каркас отчёта лучше собирать управляемым кодом и шаблонами. LLM можно поручить черновик резюме, сокращение заметок или редактуру, но каждое утверждение нужно сверить с исходными артефактами. Полноценный агент здесь обычно избыточен: его автономность не даёт преимущества, а вариативность мешает стабильности.
Как принять решение без долгого спора
Перед автоматизацией задайте три вопроса:
- можно ли заранее описать точную последовательность действий;
- требуется ли интерпретация неструктурированных данных;
- должен ли инструмент сам выбирать следующий шаг и вызывать другие инструменты.
Если ответ «да» только на первый вопрос — пишите скрипт. Если нужен второй — подключайте LLM как аналитического помощника. Если критичен третий — рассматривайте агента, но ограничьте его scope, бюджет и права. А если задача затрагивает все три режима, не ищите единственный универсальный продукт: соберите процесс из подходящих компонентов.
24 сентября в 19:00 МСК на открытом эфире продолжим разговор о практическом месте AI-агентов в наступательной безопасности.
Зарегистрироваться и присоединиться к эфиру