PentAGI: что умеет ИИ-платформа для автоматизации пентеста и кому она подойдёт

PentAGI: что умеет ИИ-платформа для автоматизации пентеста и кому она подойдёт

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.

Самая полезная часть – это схема взаимодействия агентов. В документации процесс показан не через абстрактную формулу «система помогает пентестеру», а через последовательность ролей и стадий. 

Сначала оркестратор получает задачу и обращается к хранилищу предыдущего опыта и базе знаний. Затем исследователь анализирует цель, ищет похожие случаи, сопоставляет известные уязвимости и сохраняет находки. После этого разработчик строит план атаки, обращается к сведениям об эксплойтах и возможностях инструментов. На следующем этапе исполнитель получает план, загружает инструкции по работе с инструментами, выполняет действия и сохраняет результаты.

Сценарий использования

  1. Пользователь ставит задачу на проверку цели.
  2. Оркестратор поднимает поток работ и подзадачи.
  3. Исследователь собирает сведения о цели и ищет похожие случаи.
  4. Планировщик или разработчик строит план следующих действий.
  5. Исполнитель запускает инструменты в контейнере и сохраняет результат.
  6. Система записывает команды, артефакты и вывод в память.
  7. Отчет и история действий доступны через интерфейс.

Документация не приводит детальный практический пример вида «обнаружен порт, подобран эксплойт, выполнена попытка эксплуатации». Поэтому в обзор лучше не подставлять такой сценарий от себя. Но из схемы видно, что PentAGI связывает задачу, поиск контекста, планирование и выполнение в одну цепочку.

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

Для кого подходит проект

PentAGI адресован тем, кому нужен не отдельный скрипт, а своя платформа для автоматизации пентеста. По составу компонентов и разделам документации проект уместен прежде всего для таких сценариев:

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

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

Установка и запуск

Документация предлагает два основных способа.

1. Интерактивный установщик

Проект публикует отдельный установщик для Linux, Windows и macOS. Установщик проводит проверки системы, помогает подготовить файл .env, настроить поставщика языковой модели, поисковые службы и параметры безопасности, а затем запускает систему через Docker Compose.

Порядок действий такой:

  1. создать рабочий каталог;
  2. скачать архив установщика;
  3. распаковать архив;
  4. запустить установщик;
  5. пройти пошаговую настройку.

В документации отдельно сказано, что установщику нужен доступ к 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 выглядит как инфраструктурный проект, а не как одноразовая утилита.

Alt text
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.
5/5
за страх
не за ум
Антипов жжет
Пятёрка не измеряет ум.
Она измеряет послушание.
Что школьная система на самом деле покупает у ребёнка в обмен на жетон с отметкой.

Комнатный Блогер

Объясняю новую цифровую реальность