Агентное пентестирование
ИИ-агент занимает кресло тестировщика: планирует, зондирует и адаптируется на цели, как человек, а затем передаёт человеку короткий список проверенных находок. Вот что это значит на деле, как работает и где в цикле всё ещё нужен человек.
Что это
Агент — это программа, которая рассуждает в сторону цели, а не отрабатывает жёсткий сценарий. Дайте ему цель и задачу — «найти, до чего здесь на самом деле мог бы добраться атакующий» — и он решает, что пробовать дальше, исходя из уже увиденного: картировать поверхность, выдвинуть гипотезу, проверить, прочитать ответ, пересмотреть, двигаться дальше. Агентное пентестирование — это тот самый цикл, направленный на наступательную безопасность.

Он находится между двумя средствами, которыми пользуются сегодня. Сканер гоняет фиксированный набор проверок и сообщает всё, что совпало с сигнатурой — быстро, но слепо к контексту и шумно от ложных срабатываний. Человек-пентестер рассуждает о конкретном приложении и его бизнес-логике — медленно, дорого и как снимок одной недели. Агент стремится к рассуждению пентестера при охвате ближе к сканеру и оставляет решения, требующие суждения, человеку.
Почему наступательная безопасность застряла
Большая часть безопасности модернизировалась — непрерывная интеграция, облако, автоматическая защита. Наступательная безопасность — во многом нет. Её по-прежнему поставляют в основном как услугу, вручную, и она несёт три проблемы, которые так и не ушли:
- Точечно во времени. Пентест описывает приложение таким, каким оно было в неделю теста. Следующий деплой может обесценить отчёт.
- Плохо масштабируется. Хорошие тестировщики редки и дороги, поэтому глубину нормируют. Многие работы опираются на младших или аутсорс и оптимизируют количество находок, а не качество.
- Соответствие важнее безопасности. Слишком часто тест становится галочкой для аудита, а не честной попыткой сломать систему.
Пределы автоматизации до сих пор
Автоматические средства частично закрыли этот разрыв для инфраструктуры, где цели похожи. Для веб-приложений они стабильно не дотягивают, и причина — проблема последней мили: каждое приложение разное. Важные дефекты — сломанный контроль доступа, изъяны бизнес-логики, цепочки уязвимостей — зависят от понимания того, для чего нужен конкретный эндпоинт, а это сигнатура закодировать не может.
Это та же стена, в которую упёрлась старая категория DAST: она могла отметить шаблон, но не рассудить, важен ли он здесь и что делать дальше. Поэтому команды продолжали платить за ручное тестирование — не потому что инструменты не запускались, а потому что они не думали.
Что меняет агент
Языковые модели сделали недостающую часть практичной: систему, способную держать контекст приложения и подстраивать тестирование под него. При аккуратном применении это превращает три вещи, которые прежде противоречили друг другу, в свойства, которые можно иметь вместе:
- Непрерывно вместо раз в год. Тест может идти на каждое изменение, поэтому результат следует за приложением, а не описывает версию прошлого квартала.
- С учётом контекста, а не по сигнатуре. Агент исходит из того, как приложение реально ведёт себя: какие объекты есть, какие роли до них добираются, для чего нужен тот или иной вызов.
- Короткий проверенный список вместо бэклога. Результат должен быть горсткой по-настоящему эксплуатируемых проблем с шагами воспроизведения — а не тысячами несортированных «потенциальных» находок.
Как это работает
То, что делает это надёжным, — как раз не давать модели свободно импровизировать. В CyberStrike агент рассуждает поверх детерминированного движка, который делает работу, где модель слаба: он принимает каждый запрос и ответ, прогоняет сотни правил, строит межидентичностную карту того, какие роли добрались до каких объектов и функций, зондирует точки инъекций и воспроизводит запросы в строгих пределах безопасности. Этот движок даёт наземную истину.
Задача агента — решать, что преследовать: какие зацепки выглядят эксплуатируемыми, какую цепочку пробовать дальше, — и объяснять почему. Доказательства идут от движка, а не от воображения модели; поэтому находка опирается на реальный трафик, который человек может воспроизвести. Суждение — агента; факты — детерминированы.
Чего агенты пока не умеют
Здесь честность важнее энтузиазма. Технология не завершена, и кто утверждает иное — вам что-то продаёт:
- Модели галлюцинируют. Языковая модель иногда заявит уязвимость, которой нет. Именно поэтому находки должны быть привязаны к воспроизводимым доказательствам, и уверенный отчёт — не то же самое, что реальный баг.
- Вывод недетерминирован. Запустите тот же запрос дважды — и можете получить разные пути. Воспроизводимость должна идти от движка и записанного трафика, а не от того, что модель согласна сама с собой.
- Безопасность и авторизация — решения человека. Область, правила взаимодействия и «безопасно ли слать этот запрос на прод» — не то, что отдают автономному процессу.

Поэтому реалистичная модель — human-on-the-loop: агент берёт охват и рутину, а человек проверяет находки, владеет рискованными решениями и отвечает за отчёт. Именно эта связка, а не полная автономия, поставляема сегодня.
Где его место
Агентное пентестирование не отправляет на пенсию ни людей-тестировщиков, ни приёмку аудита. Оно меняет, на что человек тратит время: меньше на переоткрытие той же поверхности каждый квартал, больше на проверку реальных находок и решения, требующие ответственности. Тестирование становится непрерывным; человек становится рецензентом, а не краулером.
Это всё утверждение, и оно намеренно скромное. Наступательная безопасность всегда была самым прямым способом понять реальный риск. Просто она была слишком медленной и редкой, чтобы применять её везде. Сузить этот разрыв — и при этом ясно говорить, где всё ещё нужен человек, — и есть полезная версия этой технологии.
CyberStrike — платформа тестирования на проникновение с ИИ, сейчас в раннем доступе. Хотите увидеть агента и движок за ним? Изучите платформу или встаньте в лист ожидания.
Хотите глубже разобраться, как это работает?