Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
sentinel-mcp — Автономная система киберзащиты на базе ИИ, использующая MCP, Gemini 2.0 Flash, Dynatrace observability и MongoDB. Заявка на хакатон Google Cloud. | Kitploit
Инструменты/GitLabGitLab/reyjesusq/sentinel-mcp
Оборонительные ИнструментыБезопасность облачных средОбнаружение ВторженийРеагирование на ИнцидентыБезопасность ИИОбнаружение Аномалий
GitLabreyjesusq/sentinel-mcp

sentinel-mcp

Автономная система киберзащиты на базе ИИ, использующая MCP, Gemini 2.0 Flash, Dynatrace observability и MongoDB. Заявка на хакатон Google Cloud.

Репозиторий
223 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

SentinelMCP — Система киберзащиты на базе ИИ

Работа для Google Cloud Hackathon — Автономное обнаружение угроз и реагирование, оркестрируемое Google Cloud Agent Builder (Vertex AI Agent), работающее на Gemini 2.0 Flash, Model Context Protocol (MCP) и Dynatrace observability.

Agent Builder Gemini 2.0 Flash Dynatrace MongoDB MCP Protocol


Проблема

Группы безопасности сталкиваются с MTTD в 30 минут и MTTR в 4 часа для типичных инцидентов. К тому времени, как человек-аналитик обнаружит атаку, напишет правило брандмауэра и развернет его, ущерб уже нанесен.

Решение

SentinelMCP сокращает MTTD до < 30 секунд и MTTR до < 30 секунд, развертывая агента Google Cloud Agent Builder, который получает вебхуки аномалий Dynatrace, анализирует их с помощью Gemini 2.0 Flash и вызывает реальные средства защиты через MCP — воздействуя на живую инфраструктуру, а не просто оповещая.

Dynatrace webhook  →  Agent Builder receives alert  →  Gemini reasons  →  MCP tools execute  →  Threat neutralized
       1 s                        2 s                      8 s                  15 s                  25 s total

Результат: жизненный цикл инцидента, который ранее требовал человека-аналитика и 4 часа, теперь завершается автономно менее чем за 30 секунд, с полным журналом аудита в MongoDB и распределенными трассировками в Jaeger.


Архитектура

┌──────────────────────────────────────────────────────────────────────┐
│                         SANDBOX ENVIRONMENT                          │
│                                                                      │
│   ┌─────────────┐   100–1000 req/s   ┌──────────────────────────┐   │
│   │  attacker   │ ──────────────────►│    victim-service        │   │
│   │ (DDoS/SQLi) │                    │    port 8080             │   │
│   └─────────────┘                    │    /admin/* control API  │   │
│                                      └────────────┬─────────────┘   │
└───────────────────────────────────────────────────│──────────────────┘
                                                    │ metrics + anomaly webhook
                   ┌────────────────────────────────▼─────────────────┐
                   │         Dynatrace Mock  (anomaly engine)          │
                   │  Threat Risk Score → fires POST /alerts/simulate  │
                   └────────────────────────┬─────────────────────────┘
                                            │ webhook
          ┌─────────────────────────────────▼──────────────────────────┐
          │          Google Cloud Agent Builder  (Vertex AI Agent)      │
          │  ┌──────────────────────────────────────────────────────┐  │
          │  │  Gemini 2.0 Flash  ──  reasons over threat context   │  │
          │  │  Tool manifest  ──  dynamically fetched from MCP     │  │
          │  │  HITL gate  ──  halts if confidence < threshold      │  │
          │  └──────────────────────────────────────────────────────┘  │
          └──────────────┬─────────────────────────┬───────────────────┘
                         │ REST calls                │ audit write
         ┌───────────────▼──────┐      ┌────────────▼──────────┐
         │  MCP Server  :8001   │      │  MongoDB 7.0  Atlas   │
         │  11 real tools       │      │  incidents + traces   │
         └───────────┬──────────┘      └───────────────────────┘
                     │ acts on live infra
         ┌───────────▼──────────┐
         │  FastAPI  :8000      │
         │  victim-service :8080│
         └──────────────────────┘

                   ┌──────────────────────────────────────────────────┐
                   │              OBSERVABILITY STACK                  │
                   │  OTel Collector ──► Jaeger  (distributed traces)  │
                   │  Prometheus ──────────────► Grafana               │
                   └──────────────────────────────────────────────────┘

Ключевой принцип проектирования: Graceful degradation + Human-in-the-Loop (HITL). Агент Agent Builder безопасно останавливается и передает управление обратно оператору, когда не может принять решение с достаточной уверенностью — он никогда не гадает на критической инфраструктуре.


Живая демонстрация — Google Cloud Run

Все три сервиса развернуты и работают на Google Cloud Run:

СервисURL
Центр управления (Панель)https://sentinel-api-62d3d66zda-uc.a.run.app/dashboard
Документация Swagger APIhttps://sentinel-api-62d3d66zda-uc.a.run.app/docs
Проверка здоровьяhttps://sentinel-api-62d3d66zda-uc.a.run.app/health
Каталог инструментов MCPhttps://sentinel-mcp-62d3d66zda-uc.a.run.app/mcp/tools
Сервис жертвыhttps://victim-service-62d3d66zda-uc.a.run.app

Запустите живую атаку на production:

.\attack.production.ps1 status   # verify all services healthy
.\attack.production.ps1 ddos     # DDoS — Gemini blocks IPs + rate limit
.\attack.production.ps1 sql      # SQL Injection — Gemini activates WAF
.\attack.production.ps1 brute    # Brute Force — Gemini blocks source IPs
.\attack.production.ps1 stop     # reset defenses

Контейнер атакующего запускается локально и нацеливается на Cloud Run victim-service через HTTPS. Смотрите панель Центра управления для полного цикла обнаружение → анализ → нейтрализация в реальном времени.


Как это использует Google Cloud Agent Builder

Google Cloud Agent Builder (Vertex AI ReasoningEngine) является центральным оркестратором SentinelMCP. Реализация находится в sentinel_mcp/agent/agent_builder.py.

SentinelAgent наследуется от vertexai.preview.reasoning_engines.Queryable — официального программного интерфейса Agent Builder — и может запускаться локально или быть развернут в управляемый сервис Agent Builder одной командой.

ОбязанностьРеализация
Прием вебхуковSentinelAgent.query(incident=...) — вызывается Agent Builder для каждого оповещения Dynatrace
Объявления инструментов6 инструментов MCP зарегистрированы как объекты Vertex AI FunctionDeclaration в set_up()
РассуждениеGemini 2.0 Flash читает контекст угрозы + каталог инструментов, выбирает минимальные инструменты, автоматически их вызывает
Ворота HITLЕсли Gemini не возвращает вызовов инструментов (уверенность < порога), выдается escalate_to_humans=True
АудитКаждый вызов инструмента записывается в MongoDB Atlas + экспортируется как OTel span в Jaeger

Ключевой код — sentinel_mcp/agent/agent_builder.py:

class SentinelAgent(reasoning_engines.Queryable):

    def set_up(self):
        # MCP tools as Vertex AI FunctionDeclarations — Gemini selects at runtime
        mcp_tools = Tool(function_declarations=[
            FunctionDeclaration(name="block_ip_address", ...),
            FunctionDeclaration(name="activate_waf", ...),
            FunctionDeclaration(name="rate_limit_requests", ...),
            FunctionDeclaration(name="scale_service", ...),
            FunctionDeclaration(name="collect_forensic_logs", ...),
            FunctionDeclaration(name="analyze_attack_pattern", ...),
        ])
        self._model = GenerativeModel("gemini-2.0-flash-001", tools=[mcp_tools])
        self._chat = self._model.start_chat()
Скачать инструмент