Несколько месяцев назад я сидел над отчётом по веб-приложению. SQL-инъекция, несколько XSS — это нашёл. Но застрял на странном поведении авторизации. Что-то было не так, а что именно — сформулировать не получалось. С отчаяния вбросил описание в Claude. Тот за минуту объяснил: race condition в логике смены сессионного токена. Я потом ещё час перепроверял. Он был прав.
С того момента я перестал смотреть на ИИ-инструменты скептически. Не как на замену опыту — как на штуку, которая иногда видит то, что я пропускаю.
Разведка и сбор информации: тут ИИ реально помогает
Самая нудная часть пентеста — OSINT и первичная разведка. Паришь DNS, собираешь поддомены, читаешь документацию сервисов, ищешь паттерны в публичных репозиториях. Данных много, интересного в них — процентов десять.
Я стал использовать GPT-4 как фильтр. Выгружаю сырые данные — список эндпоинтов, заголовки ответов, фрагменты JS-кода — и прошу найти аномалии. Работает не всегда, но несколько раз цеплял вещи, мимо которых я бы прошёл. Например, эндпоинт /api/v1/internal/debug с говорящим названием, который я не включил в список приоритетов — а стоило.
Из специализированных инструментов смотрел на Nuclei с AI-шаблонами. Сообщество начало добавлять шаблоны, написанные с помощью GPT. Качество неровное, но шаблоны для поиска мисконфигураций облачных сервисов оказались полезными.
Анализ кода: пожалуй, самое сильное применение
Если в скоупе есть исходники — это другая история. Загружаю фрагменты кода, прошу найти потенциальные уязвимости. Здесь важно понимать разницу: классический SAST ищет по паттернам, ИИ пытается понять логику.
Был случай с Node.js-приложением. SAST-сканер прошёл мимо. Я скормил несколько ключевых файлов Claude, объяснил контекст — и он указал на место, где пользовательский инпут попадает в аргументы child_process.exec без санации. Цепочка шла через несколько функций, неочевидная совсем. Нашлось именно потому, что ИИ понял семантику, а не просто сматчил паттерн.
На той же задаче я и обжёгся. ИИ уверенно указывал на "уязвимости", которые оказывались нормальным кодом — просто необычно написанным. Несколько ложных срабатываний я поначалу тащил в черновик отчёта, потом приходилось убирать. Теперь каждую находку проверяю руками. На слово не верю.
Генерация пейлоадов и написание эксплойтов
Здесь начинается интересное — и одновременно ограничения.
С нестандартными пейлоадами ИИ работает неплохо. Описываю поведение WAF, прошу предложить обходы — получаю несколько вариантов быстро, часть из которых сам бы не придумал. Экономит время на ручном фаззинге.
С эксплойтами сложнее. ChatGPT и Claude режут разговор, как только он становится конкретным. Описываешь реальную CVE, просишь разобраться с деталями — получаешь отказ или размытый ответ. Понять логику можно, но раздражает другое: этическая граница там проведена криво. Одни вещи объясняет без вопросов, на других тормозит — последовательности в этом мало.
На практике это решается локальными моделями. Я поднял Ollama с CodeLlama и несколько раз использовал его для работы с эксплойт-кодом. Качество хуже, чем у GPT-4, зато никаких ограничений по теме. Для CTF и легальных лабораторий — вполне рабочий вариант.
Автоматизация рутины и написание отчётов
Дело в том, что именно здесь ИИ приносит мне больше всего практической пользы — и никаких вопросов с инструментами нет.
Пентест-отчёт — это отдельное мучение. Нашёл уязвимость, разобрался как работает, написал PoC. А потом ещё два часа описываешь это так, чтобы было понятно и CTO, и разработчику, и ещё дать рекомендации. Я переделал процесс: пишу технические заметки в свободной форме, потом прошу GPT структурировать это в нормальное описание с CVSS-обоснованием. Потом правлю руками. Раньше уходило два часа, сейчас — минут сорок.
Ещё автоматизирую скрипты для рутинных проверок. Нужен скрипт, который обходит список URL и проверяет конкретный заголовок ответа — объясняю на словах, получаю рабочий Python. Не всегда с первой попытки, но быстрее чем с нуля самому.
Где ИИ пока не работает
Честно: в реальной эксплуатации сложных цепочек ИИ пока не помощник. Когда занимаешься пивотингом внутри сети, работаешь с AD, строишь attack path из нескольких слабых мест — нужны опыт и интуиция. ИИ может подсказать конкретную команду или флаг, но не чувствует контекст так, как чувствует его пентестер, который делал это сотни раз.
С другой стороны, я заметил закономерность: ИИ хорошо работает с задачами, где есть чёткий вопрос. "Что может пойти не так в этой логике?" — работает. "Найди что-нибудь интересное" — работает хуже. Ему нужен контекст и конкретная постановка, иначе получаешь общие слова ни о чём.
Пентест — это ремесло. ИИ справляется с ролью умного ассистента: быстро читает документацию, помогает с кодом, экономит время на рутине. Но решения принимаю я. И ответственность за то, что написано в отчёте, — тоже моя.
