ВозможностиДокументацияЦеныPlaygroundFAQ

Reference Architecture

Zero-Trust MCP Deployment — production-архитектура FlowLink, выровненная по OWASP GenAI MCP Security Guide и enterprise best practices.

~8 мин чтения

Модель угроз MCP

FlowLink покрывает ключевые threat vectors для AI-агентов:

УгрозаРискМитигация FlowLink
Tool PoisoningMalicious MCP server returns harmful tool definitionsShield проверяет все tool calls; policy engine валидирует имена, args и targets по allowlists
Prompt Injection через ToolTool output содержит инструкции, манипулирующие агентомOutput filtering + санитизация; approval queue для чувствительных операций
Over-Privileged ToolsАгент имеет доступ к tools, которые не нужны (prod DB из dev)Per-agent least-privilege политики; tool scoping по environment и role
Data ExfiltrationАгент читает чувствительные данные и отправляет наружуAnomaly detection (scp, rsync, curl); blast radius analysis; secret injection предотвращает утечку credentials
Credential TheftАгент получает доступ к секретам в memory/logsZero-trust secret injection — credentials никогда не в контексте агента; runtime-only env vars
Unauthorized AccessСкомпрометированный агент обращается к ресурсам за пределами scopePer-org encryption keys; RBAC; approval queue для cross-service операций
Supply Chain AttackСкомпрометированный MCP server в tool chainTool allowlisting; command pattern analysis; audit trail для каждого tool invocation

Production Topology

                          ┌─────────────────┐
                          │   Load Balancer  │
                          │   (nginx/caddy)  │
                          └────────┬────────┘
                                   │
                    ┌──────────────┼──────────────┐
                    │              │               │
             ┌──────▼──────┐┌─────▼──────┐┌──────▼──────┐
             │  FlowLink    ││ FlowLink   ││  FlowLink   │
             │  Relay #1    ││ Relay #2   ││  Relay #3   │
             │  (active)    ││(active)    ││ (standby)   │
             └──────┬──────┘└─────┬──────┘└──────┬──────┘
                    │              │               │
                    └──────────────┼──────────────┘
                                   │
                    ┌──────────────▼──────────────┐
                    │      PostgreSQL (Primary)     │
                    │      + Read Replicas          │
                    └──────────────┬──────────────┘
                                   │
           ┌───────────┬───────────┼───────────┬───────────┐
           │           │           │           │           │
    ┌──────▼────┐┌─────▼─────┐┌───▼────┐┌─────▼────┐┌─────▼────┐
    │   Vault    ││   SIEM    ││ Redis  ││   S3     ││   SMTP   │
    │ (Secrets)  ││(Splunk/   ││(Cache) ││(Backups) ││(Email)   │
    │            ││ QRadar)   ││        ││          ││          │
    └───────────┘└───────────┘└────────┘└──────────┘└──────────┘

Ресурсы компонентов

КомпонентSmall (<50 агентов)Medium (50-500)Large (500+)
FlowLink Relay2 vCPU, 4GB4 vCPU, 8GB ×28 vCPU, 16GB ×3+
PostgreSQL2 vCPU, 4GB, 50GB SSD4 vCPU, 16GB, 200GB SSD8 vCPU, 32GB, 1TB NVMe
Agent (ServerGuard)1 vCPU, 512MB1 vCPU, 512MB2 vCPU, 1GB
Redis (optional)1 vCPU, 2GB2 vCPU, 8GB cluster
nginx1 vCPU, 1GB2 vCPU, 2GB4 vCPU, 4GB + CDN

Сетевая безопасность

Агент → RelayWSS (TLS 1.3) port 9080 — mutual TLS или token-based auth
Dashboard → RelayHTTPS port 9081 — httpOnly cookies, CSRF protection
Relay → DatabaseTLS connection to PostgreSQL, SCRAM-SHA-256 auth
Relay → VaultmTLS to HashiCorp Vault, per-org token scoping
Relay → SIEMHTTPS webhook push (Alertmanager / Generic), TLS required
Agent → eBPFServerGuard monitorит файлы через inotify + eBPF, Docker events API, canary tokens

Управление секретами

1. Агент запрашивает tool execution, требующий секрет
         │
2. Shield перехватывает → проверяет policy → ALLOW (требуется секрет)
         │
3. Relay получает секрет из Vault (org-specific key)
         │
4. Секрет внедряется в окружение выполнения:
   • Environment variable (FLOWLINK_SECRET_*)
   • Temp file (auto-cleaned после выполнения)
   • Stdin pipe (никогда не пишется на диск)
         │
5. Tool выполняется с доступным секретом
         │
6. После выполнения: секрет удалён из памяти и temp files
         │
7. Audit log: "secret accessed" (имя секрета, не значение)

OWASP MCP Security Checklist

Маппинг фич FlowLink на рекомендации OWASP GenAI MCP Security:

Рекомендация OWASPФича FlowLinkКонфигурация
Валидировать все tool inputsShield pattern matching + risk scoringPolicies → Rules → Patterns
Least-privilege доступPer-agent политики с tool allowlistsПолитики → Agent scoping
Human oversight для критичных действийApproval queue (Telegram / Web / API)Policy action = "approve"
Логировать все tool invocationsAudit log + Command historyВсегда включено
Сканировать tool responses на sensitive dataOutput filtering + DLP patternsShield → Output rules
Безопасное управление credentialsZero-trust secret injectionSecrets → Injection mappings
Мониторинг аномального поведенияAnomaly detection (off-hours, lateral movement, privilege escalation)Forensics → Timeline
Rate limitingPer-agent и per-tool rate limitsКонфигурация → rate_limits
Шифрование данныхTLS everywhere, per-org X25519 keys, AES-256-GCMAuto (TLS), Zero-Trust API
Incident response planForensic timeline + snapshots + compliance reportsForensics dashboard

Hardening Guide

Relay

  • Запуск от non-root с минимальными capabilities
  • TLS с сильными cipher suites (ECDHE-ECDSA-AES256-GCM-SHA384)
  • cors_allowed_origins — конкретные домены, не * в production
  • rate_limits для всех agent IDs
  • systemd watchdog

Database

  • RLS (Row Level Security) на tenant-scoped таблицах
  • service_role только для internal ops, anon для public
  • Connection pooling (PgBouncer / Supabase)
  • PITR + ежедневные бэкапы
  • Шифрование at rest (LUKS)

Агенты

  • Каждый агент — уникальный API key
  • Минимальный набор политик: deny all → add allows
  • Heartbeat для real-time мониторинга
  • Auto-update + signature verification
  • ServerGuard (--features gitops) — eBPF мониторинг