PyGraphistry: Graph analytics for threat detection in enterprise data
A step-by-step PyGraphistry workflow has been published for analyzing enterprise access data as an interactive graph. Nodes and edges are built from a synthetic dataset with users, devices, and IP addresses. The graph is enriched with risk scores, anomalies detected via Isolation Forest, and a UMAP layout. The output includes three PyVis visualizations: the full graph, an ego graph, and high-risk nodes.
AI-processed from MarkTechPost; edited by Hamidun News
Исследователи опубликовали полный воркфлоу на PyGraphistry — open-source инструменте граф-аналитики — для обнаружения аномалий и расследования инцидентов в корпоративных данных доступа. Пайплайн запускается прямо в Colab и не требует сложной инфраструктуры.
Откуда берутся данные В основе воркфлоу — синтетический датасет,
имитирующий реальное корпоративное окружение. В нём пять сущностей: пользователи, устройства, IP-адреса, сервисы и роли — дополнительно размечены геолокации. Из этих данных строится граф: пользователь → устройство → IP → сервис образуют цепочку узлов и рёбер. Синтетический набор позволяет отработать пайплайн без использования реальных корпоративных данных. При этом структура намеренно близка к тому, что встречается в корпоративных SIEM-системах и логах Active Directory.
Что происходит с графом
После построения базовой структуры граф обогащается несколькими слоями аналитики: Скоры риска — числовая оценка опасности каждого узла на основе его свойств и связей Метрики центральности — PageRank, betweenness centrality и другие показатели веса узла в сети Детекция сообществ — алгоритм автоматически группирует узлы по кластерам Isolation Forest — ML-алгоритм для обнаружения аномальных узлов: те, что сложнее всего изолировать в случайном дереве, получают высокий скор аномальности * UMAP-раскладка — нелинейное снижение размерности, которое компактно располагает похожие объекты рядом Каждый слой добавляет атрибут к узлам и рёбрам и виден в интерактивной визуализации в виде цвета, размера или всплывающей подсказки.
Три режима визуализации PyGraphistry вместе с PyVis создаёт три представления одного графа.
Полный граф показывает всю сеть взаимосвязей — устройств, пользователей, сервисов и IP-адресов — и используется для первичного обзора. Аналитик сразу видит, какие узлы образуют плотные кластеры, а какие стоят особняком. Эго-граф фокусируется на конкретном узле и его ближайшем окружении. Это ключевой режим для расследования: когда подозрение падает на конкретного пользователя или IP-адрес, эго-граф показывает все прямые и косвенные связи объекта без лишнего шума. Высокорисковый вид отфильтровывает только узлы с высоким скором опасности — те, где Isolation Forest зафиксировал отклонение от нормы. Это сокращает пространство для расследования в десятки раз: вместо тысяч объектов аналитик работает с десятками.
Почему граф-подход важен для безопасности
Традиционный анализ в SIEM работает с плоскими таблицами событий: строка за строкой, событие за событием. Это делает сложные многоэтапные атаки трудными для обнаружения, потому что каждое отдельное событие выглядит безобидно. Граф переворачивает логику: вместо временной последовательности аналитик видит структуру сети. Путь атаки — цепочка узлов с аномальными связями — становится видимым визуально. В сочетании с Isolation Forest аномалия видна не только как числовой выброс, но и как визуально изолированный или чрезмерно связанный узел на графе.
Что это значит
Граф-аналитика для кибербезопасности долго оставалась уделом дорогих коммерческих платформ. Открытый воркфлоу на PyGraphistry снижает порог входа: небольшие команды безопасности получают готовый инструмент, который можно адаптировать под реальные логи Active Directory или CloudTrail.
Want to stop reading about AI and start using it?
AI News is a curated feed of AI/tech news. Hamidun Academy teaches you to use AI systematically in your work.
The AI world, distilled — once a week
Seven stories that actually mattered, hand-picked. No noise, no reposts, no press releases.
Done! Check your inbox for a confirmation.