Перейти к содержанию

Реестр модулей Umbryx

Статус: живой документ — отражает текущую кодовую базу. Когда код меняет форму, обновляйте эту страницу вместе с ним.

Реестр различает три вида «модулей» в Umbryx: формальные серверные модули-плагины (BackendModule), decorator-реестры подключаемых адаптеров и manifest-модули расширений из каталога modules/ репозитория.


Раздел A: Формальные модули-плагины (BackendModule)

4 встроенных BackendModule регистрируются в app/plugins/loader.py.

# Модуль Описание
A1 topology Построитель сетевой топологии из импортов сканов. Гейтится registry.get("topology") в роутах; имеет собственный пакет роутеров (routers/topology/).
A2 nmap_parser Парсер nmap XML + коннекторы инструментов сканирования (nmap, nuclei, netexec, httpx, ffuf, donpapi).
A3 attacker_ssh Удалённое SSH-исполнение на атакующих машинах. Конфиг в global_settings.attacker_ssh_config; используется роутерами сканов/exec/bulk и core/attacker_transport.py.
A4 c2_integration Синхронизация с C2-фреймворками (Adaptix, Mythic, Sliver; Cobalt Strike — на данном этапе не поддерживается). Пакет роутеров routers/c2/; фоновый цикл автосинхронизации.

Каждый отключается админом (POST /api/modules/{id}/disable) без поломки остальной платформы.


Раздел B: Decorator-реестры

Используют паттерн адаптера @Registry.register("type").

# Реестр Зарегистрированное Примечания
B1 CloudProviderRegistry (ee/infra/cloud_provider.py) ssh_host, hetzner, proxmox, aws, docker, k8s, cloudflare_dns, route53_dns Адаптеры cloud- и DNS-провайдеров (стек инфры Enterprise).
B2 DeployMethodRegistry (ee/infra/deploy_method.py) ssh, docker, k8s, terraform, ssh_bare ssh_bare ставит nginx прямо на хост через пакетный менеджер дистрибутива.
B3 ProviderRegistry (legacy, ee/infra/provider_adapter.py) ssh, docker, k8s Заменён B1+B2; оставлен для обратной совместимости.
B4 Реестр DNS-провайдеров core: manual, cloudflare; EE добавляет адаптеры cloudflare_dns, route53_dns с синком зон и ANetExec DNS-01 DNS живёт под /api/infra-v2/dns в UI Platform Ops EE.
B5 Бэкенд хранилища (core/storage.py) Локальная ФС, S3 Хранилище loot, вложений и evidence.
B6 Менеджер AI-провайдеров (core/ai_manager.py) anthropic, openai, groq, mistral, openrouter, ollama, litellm OpenAI-совместимые локальные эндпоинты (ollama, litellm) для air-gap.
B7 Диспетчер уведомлений (core/notifications.py) Telegram, Slack, Webhook Управляется конфигурацией, fire-and-forget.

Раздел C: Роутеры

Роутеры живут в app/routers/ (70+ модулей плюс пакеты c2/, playbooks/ и topology/) и регистрируются централизованно в app/routing.py::register_all. Enterprise добавляет app/ee/routers/:

EE-only роутер Префикс
dns_api /api/infra-v2/dns
infra_v2_api /api/infra-v2 (провайдеры, стеки, сервисы, учётные данные, агенты)
instance_templates_api, managed_instances_api, instance_credentials_api жизненный цикл управляемых экземпляров
ssl_api сертификаты / ANetExec

Заметные core-роутеры (не исчерпывающий список):

Роутер Префикс Назначение
auth, oidc_auth, oidc_admin, oidc_platform_admin /api/auth, /api/orgs/{id}/oidc-providers, /api/system/oidc-providers сессии, MFA, SSO
projects, members, organizations, project_access /api/projects, /api/orgs жизненный цикл проектов и org, сводная информация о доступе
hosts, creds, findings, notes, loots, domains /api/... сущности engagement
scans, bulk_actions, attacker_exec, jobs /api/... операции на атакующих машинах
пакет c2 (8 файлов) /api/c2 интеграции, сессии, exec, sync
c2_ops_api /api/infra-v2/c2 listener по требованию и генерация полезной нагрузки
пакет playbooks, automations_api /api/playbooks, /api/automations прогоны плейбуков и автоматизации
sync_api /api/sync синхронизация между экземплярами (события с HMAC)
firewall_configs /api/.../firewall-configs импорт конфигов файрволов/роутеров (9 вендоров)
surface_monitor_api /api/.../watch мониторинг поверхности атаки
deconfliction /api/.../deconfliction claims хостов между операторами
ai_v2 /api/ai AI-чаты, провайдеры, настройки
modules_api, plugins, system_modules /api/modules, /api/plugins, /api/admin/modules тумблеры модулей, .rnplugin-бандлы, серверная загрузка
admin, audit, audit_api, system_api, system_metrics /api/admin, /api/audit, /api/system администрирование платформы

Раздел D: Модели

app/models/ — ~47 файлов: проекты/участники/org/команды, сущности engagement (hosts, creds, findings, notes, loot, scopes), infra v2 (стеки, сервисы, links, учётные данные, шаги развёртывания, записи DNS), workstations (пул, доступ, SSH-ключи, actions), OIDC, лицензии, AI-чаты, автоматизации, конфиги файрволов, прокси, снапшоты сканов, surface watches и таблицы sync/конфликтов.


Раздел E: Manifest-модули расширений

Каталог modules/ репозитория — модули расширений с manifest.yaml (см. Гайд разработчика модулей):

hello-world, ai-assistant, dns-management, notifications, reporting, roe, ioc-tracker, playbook-automation.

Точки расширения фронта (sidebar nav, табы, панели, вью объектов) регистрируются из этих манифестов и рендерятся через компоненты ExtensionPoint.


Раздел F: Экраны фронта

Навигация фронта группирует вью в Overview / Recon / Exploit / Automate / Infra / Output (см. frontend/src/constants.js::TAB_GROUPS). Модули расширений добавляют табы и панели через реестр плагинов (frontend/src/features/plugins/registry.js).