Архитектура и ключевые компоненты
ARTEX — это система автономного пентестинга, построенная на стеке Go (бэкенд) и Next.js (фронтенд), с PostgreSQL в качестве базы данных. В основе системы лежит SDK norma, обеспечивающая работу мульти-агентной системы. Ключевая особенность — двойная графовая архитектура: один граф хранит данные об активах, другой — историю эксплорации и уязвимостей.
Система использует два типа агентов:
- Planner (Планировщик): Единственный агент, генерирующий намерения. Он управляет общим списком задач (todolist) и обеспечивает стабильность атак через многократные согласования.
- Worker (Исполнители): N параллельных агентов, выполняющих технические задачи (bash, HTTP-запросы). Они обмениваются информацией на уровне процессов.
Функциональные возможности
ARTEX предлагает комплексный интерфейс для управления процессом взлома:
- Визуализация: Интерактивная карта активов (force-directed layout) с возможностью фильтрации и детализации узлов.
- Запись трафика: Встроенный прокси-сервер (MITM) для перехвата и анализа HTTP-трафика в реальном времени.
- Человек в контуре (Human-in-the-loop): Механизм «Guard/Intercept» требует одобрения оператора для критических действий. Все запросы логируются и могут быть отклонены.
- Интеграция ScopeSentry: Прямой синхронизация активов (домены, IP, порты) из ScopeSentry для автоматического формирования области тестирования.
Технические детали и развертывание
Система поддерживает гибкие сценарии установки, от Docker Compose до сборки из исходного кода. Поддерживаются различные LLM-провайдеры (Anthropic, OpenAI) через переменные окружения или UI. Для обновления используется встроенный механизм с проверкой SHA256 и автоматическим откатом при ошибках.
| Компонент | Технология / Описание |
|---|---|
| Бэкенд | Go (net/http), встроенный Next.js через go:embed |
| База данных | PostgreSQL (автоматическая миграция схем при запуске) |
| Агентный фреймворк | norma SDK (agentcore, tool, permission, harness, memory) |
| Порты по умолчанию | 8787 (API/Web), 8788 (Прокси трафика) |
| Поддержка LLM | Anthropic, OpenAI (через API Key или UI) |
Безопасность и контроль
ARTEX внедряет строгий контроль доступа на уровне агентов. Инструменты (например, nmap, curl) вызываются через «harness», который проверяет разрешения. Если действие требует одобрения, система приостанавливает выполнение и ждет решения оператора через UI. Это предотвращает неконтролируемое поведение LLM в критических сценариях.
Источник: Github ↗
