PentAGI (Penetration testing Artificial General Intelligence) – это открытый инструмент для автоматизации задач в наступательном тестировании безопасности. Репозиторий проекта опубликован организацией vxcontrol, а в документации рядом с основной системой упоминаются связанные облачные службы VXControl. По этой причине связь с экосистемой VXControl лучше пояснить сразу: основной репозиторий PentAGI распространяется по лицензии MIT, но доступ к отдельным облачным службам VXControl оформляется отдельно и требует соблюдения собственных условий использования.
PentAGI разворачивается на собственной инфраструктуре и объединяет веб-интерфейс, серверную часть, интерфейсы программного доступа, контейнерную среду выполнения, хранилище памяти и подключение внешних языковых моделей. Проект стоит рассматривать не как «умную оболочку» для запуска отдельных команд, а как платформу, в которой несколько компонентов последовательно обрабатывают задачу, выбирают действия и сохраняют промежуточные результаты.
Кратко о проекте
| Параметр | Что указано в документации |
|---|---|
| Тип | Открытая платформа для автоматизации задач пентеста |
| Модель развертывания | Самостоятельное размещение на своей инфраструктуре |
| Интерфейсы | Веб-интерфейс, интерфейс прикладного программирования REST и GraphQL |
| Основные технологии | React и TypeScript на стороне интерфейса, Go на стороне сервера, PostgreSQL с pgvector для памяти и семантического поиска |
| Среда запуска | Docker и Docker Compose, есть интерактивный установщик |
| Дополнительные стеки | Отдельные файлы Compose для графа знаний, наблюдаемости и аналитики языковых моделей |
| Лицензия репозитория | MIT |
PentAGI предназначен для автоматизации повторяемых задач, которые возникают во время пентеста. В документации перечислены контейнерная изоляция, многокомпонентная система агентов, долговременная память, встроенный браузер, внешний поиск и набор профессиональных утилит, включая nmap, Metasploit и sqlmap. Система также хранит команды и результаты в PostgreSQL, а при включении дополнительных компонентов может использовать граф знаний на базе Graphiti и Neo4j.
Важная особенность PentAGI в том, что проект не ограничивается одним исполняемым файлом. Базовая схема включает серверную часть, очередь задач, хранилище, агентов и набор контейнеров. Дополнительно документация выделяет отдельные стеки для наблюдаемости и аналитики, где используются Grafana, VictoriaMetrics, Jaeger, Loki, Langfuse, ClickHouse, Redis и MinIO. Для простой проверки «из интереса» такая схема выглядит тяжелой, потому что даже без дополнительных расширений проект требует Docker, настройки переменных окружения и доступа к сокету Docker, а при включении сопутствующих стеков число служб заметно растет.
Основной репозиторий PentAGI распространяется по лицензии MIT. Код набора средств для облачных служб VXControl в составе проекта распространяется свободно, но доступ к самим облачным службам VXControl, включая сведения об угрозах, поддержку искусственного интеллекта и дополнительные возможности, требует отдельного лицензионного ключа и подчиняется отдельным условиям. VXControl Cloud SDK использует AGPL-3.0 со специальным исключением для официального проекта PentAGI. По этой причине раздел о лицензии у PentAGI лучше читать не изолированно, а вместе с оговорками о связанных облачных службах.
Основные функции
- автоматизация отдельных этапов пентеста с помощью системы агентов;
- запуск действий в изолированной контейнерной среде;
- поддержка более 20 встроенных утилит для пентеста;
- долговременное хранение результатов и истории действий;
- семантический поиск по прошлым задачам и артефактам;
- подключение графа знаний через Graphiti и Neo4j;
- работа с внешними поисковыми системами;
- поддержка нескольких поставщиков языковых моделей, включая локальные языковые модели через Ollama;
- журналы, метрики и аналитика через отдельные стеки наблюдаемости.
Для проверки конфигураций языковых моделей в проект включена отдельная утилита ctester. Документация описывает ее как средство тестирования агентов, проверки работы с вызовом функций, ответами в формате JSON и специализированными заданиями по кибербезопасности и пентесту.
Как PentAGI работает
Самая полезная часть – это схема взаимодействия агентов. В документации процесс показан не через абстрактную формулу «система помогает пентестеру», а через последовательность ролей и стадий.
Сначала оркестратор получает задачу и обращается к хранилищу предыдущего опыта и базе знаний. Затем исследователь анализирует цель, ищет похожие случаи, сопоставляет известные уязвимости и сохраняет находки. После этого разработчик строит план атаки, обращается к сведениям об эксплойтах и возможностях инструментов. На следующем этапе исполнитель получает план, загружает инструкции по работе с инструментами, выполняет действия и сохраняет результаты.
Сценарий использования
- Пользователь ставит задачу на проверку цели.
- Оркестратор поднимает поток работ и подзадачи.
- Исследователь собирает сведения о цели и ищет похожие случаи.
- Планировщик или разработчик строит план следующих действий.
- Исполнитель запускает инструменты в контейнере и сохраняет результат.
- Система записывает команды, артефакты и вывод в память.
- Отчет и история действий доступны через интерфейс.
Документация не приводит детальный практический пример вида «обнаружен порт, подобран эксплойт, выполнена попытка эксплуатации». Поэтому в обзор лучше не подставлять такой сценарий от себя. Но из схемы видно, что PentAGI связывает задачу, поиск контекста, планирование и выполнение в одну цепочку.
Есть два механизма, которые влияют на ход работы. Первый называется контролем выполнения. Он отслеживает повторяющиеся вызовы инструментов, общий объем вызовов и случаи, когда агент перестает продвигаться к цели. Второй называется шагом планирования. В таком режиме отдельный агент заранее разбивает задачу на несколько шагов. Также в проекте действуют жесткие лимиты на число вызовов инструментов для разных типов агентов. Документация описывает эти механизмы как способ сократить зацикливание и ограничить бесполезные проходы.
Для кого подходит проект
PentAGI адресован тем, кому нужен не отдельный скрипт, а своя платформа для автоматизации пентеста. По составу компонентов и разделам документации проект уместен прежде всего для таких сценариев:
- работа групп имитации атак;
- внутренние проверки безопасности в компаниях;
- эксперименты с языковыми моделями для кибербезопасности;
- среды с локальными языковыми моделями;
- автоматизация повторяемых этапов в программах поиска уязвимостей, если у команды уже есть инфраструктура под такую систему.
Для пользователя, который хочет просто посмотреть инструмент, порог входа высокий. Причина не только в настройке ключей и переменных окружения. Даже в официальной схеме рядом с основной системой фигурируют отдельные службы для графа знаний, аналитики и наблюдаемости. Для минимального запуска достаточно основного файла Compose, но документация прямо описывает несколько дополнительных стеков, которые расширяют систему и увеличивают число служб.
Установка и запуск
Документация предлагает два основных способа.
1. Интерактивный установщик
Проект публикует отдельный установщик для Linux, Windows и macOS. Установщик проводит проверки системы, помогает подготовить файл .env, настроить поставщика языковой модели, поисковые службы и параметры безопасности, а затем запускает систему через Docker Compose.
Порядок действий такой:
- создать рабочий каталог;
- скачать архив установщика;
- распаковать архив;
- запустить установщик;
- пройти пошаговую настройку.
В документации отдельно сказано, что установщику нужен доступ к Docker API. Для такого запуска может понадобиться sudo или добавление пользователя в группу docker. Авторы прямо предупреждают, что такой доступ фактически равен привилегиям уровня root.
2. Ручной запуск
Ручной способ состоит из нескольких шагов:
- создать рабочий каталог;
- подготовить файл
.envна основе примера; - указать ключ хотя бы одного поставщика языковой модели;
- при необходимости включить внешние поисковые службы;
- при необходимости включить Graphiti и Neo4j;
- скачать
docker-compose.yml; - выполнить
docker compose up -d.
Минимальные требования: Docker, Docker Compose, не менее 2 виртуальных ядер процессора, 4 ГБ оперативной памяти и 20 ГБ свободного места. При этом дополнительные стеки для графа знаний, наблюдаемости и аналитики запускаются отдельными файлами Compose. В документации по развертыванию перечислены четыре уровня: основной стек, стек Langfuse, стек Graphiti и стек наблюдаемости.
Состав служб и практические ограничения
| Часть системы | Что входит | Что это означает на практике |
|---|---|---|
| Основной стек | интерфейс, серверная часть, очередь задач, агенты, PostgreSQL с pgvector | Даже базовый запуск требует контейнерной среды и настройки переменных окружения |
| Граф знаний | Graphiti и Neo4j | Для включения памяти связей нужен отдельный файл Compose и отдельные параметры |
| Наблюдаемость | Grafana, VictoriaMetrics, Jaeger, Loki, OpenTelemetry | Полезно для команды, но избыточно для короткого знакомства с проектом |
| Аналитика языковых моделей | Langfuse, ClickHouse, Redis, MinIO | Расширяет контроль над агентами, но увеличивает число служб и потребление ресурсов |
По этой причине главный практический минус PentAGI связан не с «сложной архитектурой» вообще, а с ценой развертывания. Чтобы получить систему в полном виде, нужно поднять не только основной стек, но и дополнительные службы для графа знаний, наблюдаемости и аналитики. Для крупной команды такой подход может быть оправдан. Для одиночного запуска ради знакомства он выглядит тяжелым.
Теперь об ограничениях. Официальные материалы прямо подчеркивают контейнерную изоляцию, отдельные сети между службами и рекомендации по вынесению рабочих операций на отдельный узел в производственной среде.Основной сервис в стандартном docker-compose.yml запускается с правами root, потому что системе нужен доступ к сокету Docker для управления контейнерами. Авторы добавляют, что при сетевом подключении к Docker можно убрать привилегии root и использовать обычного пользователя.
В связанных официальных материалах VXControl по образу vxcontrol/kali-linux, который используется вместе с PentAGI, отдельно указано, что доступ к сокету Docker дает значительные привилегии на узле, а инструменты пентеста предназначены только для разрешенного тестирования. На уровне исходных материалов именно этот тезис и можно считать основной оговоркой об этике и безопасности.
| Плюсы PentAGI | Минусы PentAGI |
|---|---|
| Самостоятельное размещение на своей инфраструктуре | Высокий порог входа для первого запуска |
| Поддержка внешних и локальных языковых моделей | Для полного развертывания нужно поднимать много вспомогательных служб |
| Изолированное выполнение действий в контейнерах | Стандартный запуск требует доступа к Docker и в базовой схеме использует root |
| Память, семантический поиск и опциональный граф знаний | Часть возможностей вынесена в отдельные стеки и требует дополнительной настройки |
| Есть интерфейс, прикладной доступ и средства наблюдаемости | Для простых задач система может оказаться тяжелее, чем набор отдельных утилит |
Вывод
PentAGI – это не легкая утилита для быстрого запуска, а платформа для автоматизации пентеста с системой агентов, памятью, контейнерным выполнением и несколькими дополнительными стеками. Главное достоинство проекта связано с тем, что он объединяет постановку задачи, поиск контекста, планирование, выполнение и сохранение результатов в одной системе. Главное ограничение связано с трудоемким развертыванием и числом зависимостей.
Если нужен инструмент для быстрого знакомства, PentAGI может показаться избыточным. Если нужен развертываемый у себя стек для автоматизации пентеста, экспериментов с языковыми моделями для кибербезопасности и работы с локальными языковыми моделями, PentAGI выглядит как инфраструктурный проект, а не как одноразовая утилита.