Risk Scores
Модель оценки рисков агентов: факторы, пороги, калибровка, API и интеграция с алертами
Обзор
FlowLink автоматически рассчитывает оценку риска (0-100) для каждого агента на основе 6 факторов. Score обновляется каждые 60 секунд и используется для auto-response, алертов и forensics. Система поддерживает калибровку весов факторов под конкретную организацию и настраиваемые пороги для автоматических действий.
6 факторов
Команды, привилегии, политики, аномалии, сеть, секреты
Все тарифы
Авто-ответ
Блокировка, алерты, инциденты при критическом уровне
Team+
Калибровка
Настраиваемые веса факторов
Enterprise
Dashboard
Визуализация трендов и breakdown
Все тарифы
Модель расчёта
Risk Score рассчитывается как взвешенная сумма 6 факторов. Каждый фактор оценивается от 0 до максимального значения. Формула: Risk Score = Σ(factor_weight × factor_score) / Σ(weights). Итоговый score нормализуется к диапазону 0-100.
Факторы риска
| Фактор | Вес | Макс. | Сигналы |
|---|---|---|---|
| Командная активность | 0.25 | 25 | Частота команд, плотность, аномальные паттерны |
| Эскалация привилегий | 0.20 | 20 | sudo, su, chmod, попытки повышения прав |
| Нарушения политик | 0.20 | 20 | Количество заблокированных команд, повторные нарушения |
| Аномальное поведение | 0.15 | 15 | Отклонение от базовой линии агента |
| Сетевая активность | 0.10 | 10 | Необычные соединения, запросы к неизвестным хостам |
| Доступ к секретам | 0.10 | 10 | Чтение .env, SSH ключей, credentials |
Уровни риска
Мониторинг
Уведомление admin
Создание инцидента
Блокировка + алерт
Пороги и авто-ответ
При достижении определённого порога risk score, FlowLink автоматически выполняет назначенные действия. Пороги настраиваются в конфигурации.
1risk_thresholds:2 low: 303 medium: 604 high: 805 critical: 9067 auto_response:8 critical:9 - block_agent10 - notify_admin11 - create_incident12 - notify_telegram13 high:14 - notify_admin15 - create_incident16 - require_approval17 medium:18 - log19 - notify_admin20 low:21 - log
Калибровка модели
Веса факторов можно настроить под конкретную организацию. Калибровка основана на исторических данных и экспертной оценке. Рекомендуется выполнять калибровку после 30+ дней сбора данных.
1# Кастомные веса факторов2risk_factors:3 command_activity:4 weight: 0.20 # Снижен (агенты часто выполняют команды)5 sensitivity: 0.8 # 0.0-1.0, чувствительность к аномалиям6 privilege_escalation:7 weight: 0.25 # Повышен (критично для организации)8 sensitivity: 0.99 policy_violations:10 weight: 0.2011 sensitivity: 0.812 anomalous_behavior:13 weight: 0.1514 sensitivity: 0.715 network_activity:16 weight: 0.1017 sensitivity: 0.618 secrets_access:19 weight: 0.1020 sensitivity: 0.9 # Высокая чувствительность к доступу к секретам2122# Пороги адаптированы под организацию23risk_thresholds:24 low: 2525 medium: 5026 high: 7527 critical: 85
API Reference
Текущие risk scores
1curl -s "https://api.flowlink.io/v1/risk-scores" \2 -H "Authorization: Bearer $TOKEN" | jq
1{2 "agents": [3 {4 "agent_id": "agent-prod-01",5 "agent_name": "prod-deploy-agent",6 "risk_score": 72,7 "risk_level": "high",8 "trend": "increasing",9 "trend_percentage": 15.3,10 "factors": {11 "command_activity": { "score": 18, "max": 25 },12 "privilege_escalation": { "score": 12, "max": 20 },13 "policy_violations": { "score": 15, "max": 20 },14 "anomalous_behavior": { "score": 10, "max": 15 },15 "network_activity": { "score": 8, "max": 10 },16 "secrets_access": { "score": 9, "max": 10 }17 },18 "last_incident": {19 "id": "inc_abc123",20 "type": "privilege_escalation",21 "description": "sudo chmod 777 /etc",22 "occurred_at": "2026-01-15T12:00:00Z"23 },24 "last_updated": "2026-01-15T14:30:00Z"25 }26 ]27}
История risk score
1curl -s "https://api.flowlink.io/v1/risk-scores/agent-prod-01/history?hours=168" \2 -H "Authorization: Bearer $TOKEN" | jq
1{2 "agent_id": "agent-prod-01",3 "period": { "from": "2026-01-08T00:00:00Z", "to": "2026-01-15T14:30:00Z" },4 "data_points": [5 { "timestamp": "2026-01-15T14:00:00Z", "score": 72, "level": "high" },6 { "timestamp": "2026-01-15T13:00:00Z", "score": 68, "level": "high" },7 { "timestamp": "2026-01-15T12:00:00Z", "score": 85, "level": "critical" },8 { "timestamp": "2026-01-14T14:00:00Z", "score": 42, "level": "medium" }9 ],10 "statistics": {11 "avg": 55,12 "max": 85,13 "min": 22,14 "std_dev": 18.515 }16}
Обновление калибровки
1curl -X PUT "https://api.flowlink.io/v1/risk-scores/calibration" \2 -H "Authorization: Bearer $TOKEN" \3 -H "Content-Type: application/json" \4 -d '{5 "factors": {6 "command_activity": { "weight": 0.20, "sensitivity": 0.8 }7 },8 "thresholds": { "low": 25, "medium": 50, "high": 75, "critical": 85 }9 }'
Интеграция с алертами
Risk score изменения интегрируются с системой уведомлений. При переходе уровня генерируется алерт с полным контекстом: факторы, тренд, последние инциденты.
1{2 "alert_type": "risk_level_change",3 "agent_id": "agent-prod-01",4 "previous_level": "medium",5 "current_level": "high",6 "risk_score": 72,7 "top_contributors": [8 { "factor": "policy_violations", "delta": 5 },9 { "factor": "secrets_access", "delta": 3 }10 ],11 "recommended_actions": [12 "Review recent policy violations",13 "Check secrets access pattern",14 "Consider requiring approval for this agent"15 ],16 "timestamp": "2026-01-15T14:30:00Z"17}
Устранение неполадок
Risk score завышен (ложноположительный)
Проверьте конкретные факторы через /risk-scores/{agent_id}. Снизьте sensitivity для аномального поведения. Убедитесь что baseline успел обучиться (минимум 7 дней).
Агент заблокирован автоматически
Проверьте risk level через /risk-scores/{agent_id}. Если это ложноположительный — разблокируйте через POST /agents/{id}/unblock. Откалибруйте пороги.
Лучшие практики
Дайте время на baseline
Не принимайте решения в первые 7 дней. Модель должна собрать достаточно данных для создания baseline поведения агента.
Настройте пороги под организацию
Стандартные пороги (30/60/80) подходят для большинства. Enterprise организации могут адаптировать их под свою threat model.
Мониторьте тренды
Не фокусируйтесь только на текущем score. Trend (increasing/decreasing) более информативен для прогнозирования.
Интегрируйте с инцидент-менеджментом
Настройте auto_response для автоматического создания инцидентов при high/critical. Это ускоряет response time.