Web UI
Interface React para analistas. Conversas, agendamentos, permissões de ferramentas, trilha de auditoria.
O gsage é um assistente de SOC on-premise que combina agentes de IA, ferramentas estruturadas e revisão humana — para que times de segurança monitorem, investiguem, triem e respondam mais rápido, sem entregar seus workflows a um SaaS de terceiros.
O gSage AI SOC é construído sobre a plataforma de orquestração gSage AI. Este site é a edição aberta source-available; a GuardianKey entrega a edição comercial Enterprise para organizações que precisam de deployment, integrações homologadas, suporte e SLA.
Times de segurança perdem tempo alternando dashboards, repetindo as mesmas verificações e coletando contexto manualmente antes de decidir. O gsage reduz esse atrito enquanto melhora eficiência operacional e segurança.
Backend FastAPI, workers Celery, scheduler RedBeat. Agentes executam com um modelo claro — logado, auditado e isolado por um MCP server com permissões por org / departamento / usuário.
Antivírus, EDR, SIEM, ticketing, WAF, proxies, RH, Active Directory, inventário — expostos ao motor como tools tipadas que você combina, agenda e governa por regras.
Roda no seu ambiente. Organizações, departamentos e usuários são primitivas do modelo. Toda execução deixa rastro no Elasticsearch. Seus dados não precisam sair.
O gsage transforma uma pergunta em linguagem natural em uma sequência de chamadas de ferramentas, enriquecimentos e ações — devolvendo um resumo auditável.
gsage, procure no ambiente o hash abc123, colete status de atualização do antivírus das máquinas afetadas, identifique os usuários associados, abra um ticket por host impactado, adicione o hash ao blacklist e me envie o status final por e-mail.
abc123 no SIEM / EDR integrado (Bitdefender, CrowdStrike, Trellix)gsage, um usuário reportou um e-mail suspeito. Analise o conteúdo, inspecione links e anexos, e me diga se é phishing. Se for, abra um ticket de incidente e envie um resumo para revisão humana.
gsage, todo dia às 09:00, procure no ambiente por AnyDesk, TeamViewer e OpenVPN. Para cada host, me diga o nome da máquina e o usuário logado.
Interface React para analistas. Conversas, agendamentos, permissões de ferramentas, trilha de auditoria.
Envie prompts, anexe arquivos, receba respostas. Ideal para análise assíncrona e workflows com rastro em papel.
Triagem on-call pelo celular. Mesmas permissões, mesma auditoria, sem abrir o laptop.
Fluxo terminal-first, com renderização markdown e gestão de conversas. gsage ask "…"
Docker Compose basta para a escala prevista. Cada serviço tem uma função clara — e as fronteiras são os pontos de auditoria.
LLM_PROVIDER.O gsage já vem com um catálogo crescente de tools e torna simples adicionar as suas. Tools da comunidade vivem em guardiankey/gSage-soc-ai-tools.
Tools são subclasses de BaseTool expostas via MCP server. Você define metadados, schemas, permissões e a lógica de execução; o gsage cuida do registro, da auditoria e da orquestração.
Leia o guia de tools →from __future__ import annotations from typing import ClassVar, Optional from src.mcp_server.tools.base import BaseTool, ToolResult from src.shared.security.context import AgentContext class MyTool(BaseTool): """Short description used in MCP and admin metadata.""" name: ClassVar[str] = "my_tool" version: ClassVar[str] = "1.0.0" summary: ClassVar[str] = "One-line summary used by search_tools" category: ClassVar[str] = "utility" permissions: ClassVar[list[str]] = ["utility:run"] rate_limit_per_minute: ClassVar[int] = 30 timeout_seconds: ClassVar[int] = 15 use_circuit_breaker: ClassVar[bool] = False params_schema: ClassVar[dict] = {"type": "object", "properties": {"value": {"type": "string", "description": "Input value to process"}}, "required": ["value"], "additionalProperties": False} config_schema: ClassVar[Optional[dict]] = {"properties": {"prefix": {"type": "string", "description": "Optional prefix used in the output"}}, "required": []} config_defaults: ClassVar[dict] = {"prefix": ""} async def execute(self, agent_context: AgentContext, params: dict, config: dict, state: dict) -> ToolResult: raw_value = params.get("value") if not isinstance(raw_value, str) or not raw_value.strip(): return self._failure("INVALID_INPUT", "'value' must be a non-empty string") return self._success({"value": f"{config.get('prefix', '')}{raw_value.strip()}", "org_id": str(agent_context.org_id)})
O gsage é proprietário, mas source-available. Você pode ler o código, implantar e usar para defender a sua própria organização — gratuitamente, dentro de alguns limites claros.
Clone, docker compose up, e comece a perguntar.