PentestGPT представляет собой открытый инструмент для автоматического тестирования безопасности, который использует большую языковую модель для анализа целевой системы и самостоятельного выполнения необходимых действий. В стандартном режиме система последовательно выполняет сбор информации, поиск уязвимостей и их эксплуатацию, где результаты каждого этапа служат основой для следующего. В режиме профессионального тестирования этапы трансформируются в обнаружение активов, идентификацию уязвимостей и подготовку отчета. Вся работа происходит полностью автоматически без участия человека.

Система управляет работой Claude Code или Codex, запускает необходимые инструменты и самостоятельно определяет следующие действия. Первоначальную версию разработали Gelei Deng и его коллеги, представив её на конференции USENIX Security в 2024 году.

Требуемые компоненты

Для установки необходимы Python 3.12 и выше, менеджер пакетов uv, а также два аутентифицированных инструмента командной строки: Claude Code и Codex. Docker-образ содержит оба интерфейса командной строки, что позволяет выполнить аутентификацию один раз, после чего токены сохраняются в томах и остаются доступными при пересоздании контейнера. Предварительная подготовка аутентификации Codex невозможна, поскольку токены обновления ChatGPT используются только один раз, поэтому OAuth-callback перенаправляется через socat. Этот технический момент становится важным при первой попытке создать образ для команды.

Более ранняя версия сохранена как pentestgpt-legacy. Она использует три взаимодействующих сеанса языковой модели: один для анализа, один для генерации кода и один для обработки результатов, которые совместно поддерживают дерево задач тестирования во время интерактивного управления процессом.

Этот интерактивный режим с участием человека поддерживает больше провайдеров, чем автономный конвейер: OpenAI, Anthropic, Google Gemini, DeepSeek, xAI, Qwen, Moonshot и локальные модели через Ollama. Реестр моделей был проверен в интернете в июне 2026 года, что свидетельствует о том, что идентификаторы моделей устаревают. Встроенный тест совместимости в реальном времени проверяет все настроенные модели и выводит матрицу результатов, что целесообразно выполнить перед использованием списка.

Проверьте телеметрию перед использованием на клиентском проекте

По умолчанию PentestGPT отправляет анонимные данные об использовании в проект Langfuse: метаданные сеанса, такие как тип цели, продолжительность и статус завершения, информацию о запущенных инструментах и факт обнаружения флага. Результаты команд, учетные данные и значения флагов никогда не передаются. Это различие - именно то, на что будет обращать внимание юрист вашего клиента. Отключение телеметрии выполняется с помощью флага командной строки или переменной окружения.

PentestGPT доступен бесплатно на GitHub.