Knowledge graph и аналитика
Как knowledge graph связывает хосты, сервисы, уязвимости и доступ, его два бэкенда и построенная на его основе панель attack-chain.
Запись в PostgreSQL отвечает на вопрос что вывела команда. Knowledge graphknowledge graph — граф знанийГраф хостов, сервисов, уязвимостей и доступа между ними, который PentAGI строит во время теста при включении этой опциональной функции. Он показывает связи между находками. отвечает на вопрос как связаны две findingsfinding — находкаОбъект, обнаруженный и зафиксированный в ходе теста, например хост, запущенный сервис или уязвимость. — на каком хосте запущена какая служба, какая уязвимость привела к какому доступу.
Два бэкенда
| graphstore | graphiti | |
|---|---|---|
| Работает как | в бэкенде, граф в Neo4j | отдельный сервис на Neo4j |
| Включается через | GRAPHSTORE_ | GRAPHITI_ + GRAPHITI_ |
| Agentagent — агентАгент ИИ PentAGI: модель с собственным промптом, настройками и инструментами, выполняющая один вид работы в рамках флоу, например тестирование, написание кода или поиск в интернете. tooltool — инструментТо, через что действует агент: встроенная возможность вроде терминала, изолированного браузера или веб-поиска либо программа в песочнице, например nmap, metasploit или sqlmap. | graphstore_ | graphiti_ |
| Статус | замена graphiti | устаревший, оставлен для сравнения |
Оба ограничены одним flowflow — флоуОдин запуск PentAGI: цель, задачи, созданные на основе ваших сообщений, и все действия агентов в процессе.: каждое чтение фильтруется по нему, поэтому один flow никогда не видит граф другого flow.
Оба бэкенда по умолчанию отключены. При GRAPHSTORE_ для работы graphstore требуются GRAPHSTORE_ и GRAPHSTORE_, и PentAGI не запустится без них.
При включённом Graphiti два бэкенда хранят активы по-разному, поэтому PentAGI отказывается запускаться, если оба записывают базу данных с одинаковым именем на одном сервере или на любом сервере, пока не задан NEO4J_ для Graphiti, кроме случая, когда GRAPHSTORE_. Поставляемый Neo4j — это версия Community, и он обслуживает только базу данных neo4j: при использовании обоих бэкендов на нём сохраните neo4j и разрешите совместное использование, что снизит качество knowledge graph, поскольку порты и службы сохраняются дважды, а некоторые записи Graphiti могут быть отклонены. Чтобы разделить knowledge graph, выделите для graphstore отдельный сервер Neo4j или отдельную базу данных в Neo4j Enterprise: PentAGI создаст эту базу данных при её отсутствии, если учётная запись Neo4j для graphstore может создавать базы данных; в противном случае создайте её заранее.
Дашборд attack chain

При включённом knowledge graph вкладка Dashboard → Analytics flow визуализирует граф по мере его роста:
- Main Attack Chain — хосты, порты, службы, уязвимости, подтверждённый доступ и учётные записи.
- Представления Action Chain, Infrastructure, Access Chain и Priv Esc Chain.
- Полоса прокрутки временной шкалы для воспроизведения того, как формировалась картина, а также таблицы открытых портов, обнаруженных CVE и статуса учётных данных.


Последнее обновление: