Обзор платформы
FlowLink — Runtime AI Firewall, который защищает AI-кодинг-агенты (Claude Code, Cursor, Copilot, Windsurf) от выполнения опасных команд. Не просто шлюз — полный control plane для безопасных, наблюдаемых и управляемых AI-операций.
AI-агенты теперь могут выполнять код, обращаться к базам данных, управлять инфраструктурой и взаимодействовать с API. Без control plane каждый агент — вектор неограниченной эскалации привилегий. FlowLink находится <strong>inline</strong> между агентами и вашими инструментами.
- Runtime guardrails — фильтрация команд в реальном времени: allow, block, approve
- Zero-trust секреты — инъекция секретов в runtime, агенты никогда не видят учётные данные
- Полный аудит-лог — каждое действие залогировано с атрибуцией агента
- eBPF-мониторинг — перехват системных вызовов на уровне ядра Linux
- Observability — живая карта инфраструктуры, здоровье агентов, обнаружение аномалий
Архитектура
FlowLink построен как распределённая система из пяти основных компонентов. Каждый компонент отвечает за свою часть конвейера безопасности, но все работают вместе как единый пайплайн.
1┌──────────────────────────────────────────────────────────────────┐2│ AI Agents & Coding Tools │3│ Claude Code · Cursor · Copilot · Windsurf · Custom Agents │4└──────────────────────────────┬───────────────────────────────────┘5 │ MCP / WSS / HTTP6┌──────────────────────────────▼───────────────────────────────────┐7│ FlowLink Agent │8│ Lightweight binary on each host · MCP protocol · systemd │9└──────────────────────────────┬───────────────────────────────────┘10 │ WebSocket (TLS)11┌──────────────────────────────▼───────────────────────────────────┐12│ FlowLink Relay (Control Plane) │13│ ┌──────────┐ ┌──────────┐ ┌───────────┐ ┌──────────────────┐ │14│ │ Shield │ │ Policy │ │ Approval │ │ Rate Limiter │ │15│ │ L1-L3 │ │ Engine │ │ Queue │ │ & Auth │ │16│ └──────────┘ └──────────┘ └───────────┘ └──────────────────┘ │17│ ┌──────────┐ ┌──────────┐ ┌───────────┐ ┌──────────────────┐ │18│ │ Secret │ │ Audit │ │ SIEM │ │ Infra Map │ │19│ │ Injection │ │ Log │ │ Integration│ │ & Discovery │ │20│ └──────────┘ └──────────┘ └───────────┘ └──────────────────┘ │21└──────────────┬──────────────────────────────────┬───────────────┘22 │ HTTP REST API │23┌──────────────▼──────────────┐ ┌─────────────────▼────────────────┐24│ FlowLink Gateway │ │ Sentinel (eBPF) │25│ Auth · Policies · Webhooks │ │ Kernel syscalls · Process trace │26│ CLI · Web Console │ │ File access · Network monitor │27└─────────────────────────────┘ └──────────────────────────────────┘28 │29┌──────────────────────────────▼───────────────────────────────────┐30│ MCP Servers & Infrastructure │31│ Git · K8s · PostgreSQL · Redis · Docker · AWS · Vault · SIEM │32└──────────────────────────────────────────────────────────────────┘
🔍 Sentinel — Мониторинг ядра (L0)
Sentinel — самый нижний уровень защиты. Он использует eBPF (Extended Berkeley Packet Filter) для перехвата системных вызовов прямо в ядре Linux, без модификации ядра и с минимальным оверхедом.
- Перехват <code>execve</code>, <code>open</code>, <code>write</code>, <code>connect</code> и других syscall
- Отслеживание создания процессов и цепочек вызовов
- Мониторинг доступа к файлам (чтение/запись конфиденциальных путей)
- Сетевая активность: исходящие соединения, DNS-запросы
- Алерты в реальном времени при обнаружении подозрительной активности
1Пример: агент пытается выполнить "rm -rf /"2→ Sentinel перехватывает execve("rm", ["rm", "-rf", "/"])3→ Событие отправлено в Relay4→ Shield L1 блокирует команду: опасный паттерн5→ Команда не выполнена, алерт в аудит-лог
🛡️ Shield — Движок безопасности (L1–L3)
Shield — многоуровневый движок анализа команд. Каждая команда проходит через четыре уровня проверки, каждый из которых добавляет глубину анализа:
| Слой | Метод | Описание |
|---|---|---|
| L1 | Паттерн-матчинг | Regex-правила и glob-паттерны для быстрых блокировок: rm -rf, chmod 777, curl | bash, docker rm |
| L1.5 | AST-анализ | Парсинг командной строки в абстрактное синтаксическое дерево, выявление подмены команд и обфускации |
| L2 | Симуляция интерпретатора | Эмуляция выполнения команды в песочнице для понимания реального эффекта: какие файлы будут затронуты, какие процессы запущены |
| L3 | ML-классификация | Модель машинного обучения оценивает семантическую опасность команды на основе исторических данных и контекста |
📡 Relay — Control Plane
Relay — центральный координатор платформы. WebSocket-сервер, к которому подключаются все агенты. Обрабатывает регистрацию, маршрутизацию команд и координирует работу всех подсистем.
- Регистрация агентов с аутентификацией по токенам
- Маршрутизация команд от агентов к Shield и обратно
- Управление сессиями и heartbeat-мониторинг
- Координация Approval Queue для опасных команд
- Интеграция с SIEM через вебхуки
🚪 Gateway — HTTP REST API
Gateway предоставляет HTTP API для управления платформой: создание политик, просмотр аудит-логов, управление пользователями, webhook-интеграции.
- OAuth (VK, Yandex, GitHub), email/password, 2FA/TOTP
- CRUD для политик, агентов, интеграций
- API keys с ротацией для автоматизации
- Webhook-эндпоинты для SIEM, Slack, Telegram
🤖 Agent — Хост-агент
Лёгкий бинарник на Rust, развёртываемый на каждом защищённом хосте. Работает как systemd-сервис, подключается к Relay по MCP-протоколу (WebSocket over TLS).
- Перехват команд от AI-агентов (Claude Code, Cursor и т.д.)
- MCP-протокол для стандартизированного взаимодействия с Relay
- Инъекция секретов из Vault в runtime (переменные окружения, файлы)
- Service discovery: автоматическое обнаружение процессов, Docker-контейнеров, конфигов
- Минимальный footprint: ~5 MB RAM, мгновенный старт
Поток данных
Каждая команда от AI-агента проходит через полный конвейер обработки. На каждом этапе принимается решение: пропустить, заблокировать или отправить на утверждение.
1┌───────────┐ ┌──────────────┐ ┌────────────────┐ ┌──────────┐2│ AI Agent │────▶│ MCP Client │────▶│ FlowLink Agent│────▶│ Relay │3│ Claude etc │ │ (stdio/WSS) │ │ (on host) │ │ (WSS/TLS)│4└───────────┘ └──────────────┘ └────────────────┘ └────┬─────┘5 │6 ┌──────────▼──────────┐7 │ Shield Scan │8 │ L1 → L1.5 → L2 │9 │ → L3 + Policy │10 └──────────┬──────────┘11 │12 ┌──────────────▼──────────────┐13 │ Decision Engine │14 │ │15 │ ✅ ALLOW → Execute │16 │ 🚫 BLOCK → Reject + Log │17 │ ⏳ APPROVE → Queue + Wait │18 └──────────────┬──────────────┘19 │20 ┌──────────▼──────────┐21 │ Audit Log │22 │ + SIEM + Telegram │23 └─────────────────────┘
11. AI Agent (Claude Code) решает выполнить команду: "kubectl delete namespace prod"22. Команда передаётся через MCP-протокол к FlowLink Agent на хосте33. Agent пересылает команду в Relay через зашифрованный WebSocket44. Relay передаёт команду в Shield:5 → L1: Паттерн "kubectl delete namespace" — совпадение с опасным правилом6 → L1.5: AST-подтверждение: действительно удаление namespace7 → Policy: агенту "claude-code-prod" запрещены операции с kubectl delete85. Решение: BLOCK — команда отклонена96. Результат отправлен агенту, событие записано в Audit Log107. Алерт отправлен в SIEM и Telegram-канал
Компоненты
Все компоненты написаны на Rust и спроектированы для высокой производительности и минимального потребления ресурсов.
Движок безопасности (L1–L3)
Многоуровневый движок анализа команд в реальном времени. Включает паттерн-матчинг (L1), AST-анализ (L1.5), симуляцию интерпретатора (L2) и ML-классификацию (L3). Каждый проход добавляет гранулярность: от простых regex-правил до глубокой семантической оценки намерений команды.
Control Plane
Центральный WebSocket-сервер и control plane. Регистрирует агентов, маршрутизирует команды, управляет сессиями. Координирует работу Shield, Policy Engine, Approval Queue и Audit Log. Единая точка управления для всех подключённых агентов.
HTTP REST API
HTTP REST API для внешних интеграций: аутентификация (OAuth, 2FA), управление политиками, чтение аудит-логов, webhook-интеграции с SIEM. Обеспечивает доступ к платформе для веб-консоли, CLI и сторонних систем.
Лёгкий агент на хосте
Компактный бинарник, развёртываемый на каждом защищённом хосте. Подключается к Relay по MCP-протоколу (WebSocket), перехватывает команды от AI-агентов и перенаправляет их на сканирование. Минимальный footprint, работает как systemd-сервис.
eBPF мониторинг (L0)
Мониторинг на уровне ядра Linux через eBPF. Перехватывает системные вызовы (execve, open, write, network), отслеживает создание процессов и доступ к файлам. Работает как самый нижний слой защиты (L0) — видит всё, даже если атакующий обходит слой приложения.
Безопасность
FlowLink реализует принцип <strong>Defense in Depth</strong> — многоуровневую защиту, где отказ одного слоя не приводит к полной компрометации.
Defense in Depth
- L0 — Sentinel (eBPF): перехват на уровне ядра — последний рубеж защиты
- L1–L3 — Shield: четыре уровня анализа команд от regex до ML
- Policy Engine: гранулярные политики для каждого агента, сервиса и инструмента
- Approval Queue: human-in-the-loop для критических операций
Zero Trust
- Каждый запрос аутентифицируется и авторизуется, независимо от источника
- Секреты инжектируются в runtime — агенты никогда не хранят учётные данные
- Периодическая ротация API-ключей и токенов
- Per-org шифрование: X25519 + AES-256-GCM
End-to-End Encryption
Все коммуникации между агентами и Relay зашифрованы через TLS 1.3. Дополнительно используется сквозное шифрование на уровне приложения (X25519 key exchange) — данные шифруются на хосте и расшифровываются только в Relay.
Audit Trail
- Каждая команда, событие и решение залогированы с полным контекстом
- Атрибуция: agent ID, account ID, user ID, timestamp, IP
- Неизменяемый лог с криптографической подписью
- Интеграция с SIEM (Alertmanager, Generic webhook)
- Compliance-отчёты: SOC 2, ФСТЭК/ГОСТ Р 57580
Масштабирование
FlowLink спроектирован для горизонтального масштабирования от одного сервера до распределённого кластера.
Горизонтальное масштабирование
- Relay: несколько инстансов за балансировщиком (nginx/HAProxy), общее состояние в PostgreSQL
- Gateway: stateless REST API, масштабируется независимо от Relay
- Agent: децентрализованная архитектура — каждый хост независим, единая точка координации через Relay
Multi-Relay
Для крупных деплойментов поддерживается режим multi-relay: несколько Relay-кластеров в разных регионах/сетях, объединённых через единую базу данных и общие политики.
Балансировка нагрузки
- Агенты подключаются к ближайшему Relay (geo-routing или manual assignment)
- WebSocket-соединения с автоматическим реконнектом и failover
- Rate limiting per-agent и per-relay для защиты от перегрузки
- Health checks и auto-deregistration неработоспособных агентов
1Архитектура масштабирования:23 ┌─────────────┐4 │ Nginx / │5 │ HAProxy │6 └──────┬──────┘7 │8 ┌───────────┼───────────┐9 │ │ │10┌───▼───┐ ┌──▼───┐ ┌───▼───┐11│Relay 1│ │Relay 2│ │Relay 3│12└───┬───┘ └──┬───┘ └───┬───┘13 │ │ │14┌───┴───┐ ┌──┴───┐ ┌───┴───┐15│Agents │ │Agents│ │Agents │16│DC-1 │ │DC-2 │ │DC-3 │17└───────┘ └──────┘ └───────┘18 │ │ │19 └─────────┼──────────┘20 │21 ┌──────▼──────┐22 │ PostgreSQL │23 │ (shared) │24 └─────────────┘
Technology Stack
- Backend: Rust (Tokio, Axum, SQLx, Teloxide)
- Frontend: Next.js 15 (App Router, Server Components, Tailwind CSS)
- Database: PostgreSQL (Supabase-compatible)
- Agent Protocol: MCP (Model Context Protocol) over WebSocket / HTTP
- Crypto: X25519 + AES-256-GCM для zero-trust шифрования
- Monitoring: eBPF, Prometheus, Grafana
- Infrastructure: Docker, systemd, nginx reverse proxy
Compliance
FlowLink построен в соответствии с emerging AI security standards:
- OWASP GenAI MCP Security Guide — предотвращение tool poisoning, least-privilege, runtime guardrails
- Zero-Trust Architecture — per-org ключи шифрования, инъекция секретов, no standing credentials
- ФСТЭК / ГОСТ Р 57580 — аудит-логирование, контроль доступа, реагирование на инциденты
- SOC 2 Type II — полнота аудит-трейла, управление доступом, управление изменениями