Skip to main content
Glama

🛡️ Sentinela

Infraestrutura de Segurança e Auditoria de Código para Agentes de IA via Model Context Protocol (MCP)

TypeScript Node.js MCP Security License: MIT


🎯 Visão Geral

O Sentinela é uma solução corporativa de auditoria estática de segurança e conformidade arquitetural projetada para ser consumida diretamente por agentes de IA (Claude, Gemini, Cursor, Antigravity, Windsurf).

Operando via protocolo padrão MCP (Model Context Protocol), ele atua como um inspetor de segurança determinístico: analisa código, configurações e dependências em milissegundos, gerando relatórios de risco, checklists de conformidade e sugestões acionáveis de remediação.

  • 32 Ferramentas MCP: 24 analisadores especializados por categoria de vulnerabilidade + 8 ferramentas de orquestração, diff e validação de correções.

  • Auditoria 100% Determinística: Sem alucinações ou variações estocásticas — regras precisas com extração de arquivo, linha e snippet de evidência.

  • Stack-Aware: Identifica automaticamente a linguagem, framework, ORM e banco de dados do projeto auditado para adaptar diagnósticos e recomendações.

  • Privacidade Absoluta: Nenhuma linha de código ou metadado sai da sua infraestrutura ou máquina local.


Related MCP server: ARGUS

🔒 Privacidade & Segurança

O Sentinela foi desenvolvido especificamente para atender requisitos corporativos e ambientes restritos:

  • Execução Local (On-Premise / Stdio): Todas as análises ocorrem localmente no processo do servidor MCP via stdio.

  • Zero Telemetria / Sem Conexões Externas: Não envia dados para nuvens de terceiros ou servidores externos.

  • Seguro para Código Proprietário: Totalmente compatível com projetos confidenciais e ambientes com políticas rígidas de compliance (LGPD, GDPR, SOC 2).


🚀 Como Configurar no seu Cliente MCP

O Sentinela conecta-se diretamente ao seu agente ou IDE compatível com MCP através do comando sentinela.

Claude Desktop

No seu arquivo de configuração claude_desktop_config.json:

{
  "mcpServers": {
    "sentinela": {
      "command": "sentinela"
    }
  }
}

Cursor / Antigravity / Windsurf / VS Code

Adicione às configurações de MCP do seu ambiente:

{
  "name": "sentinela",
  "command": "sentinela"
}

⚡ Prompts & Slash Commands (/)

Clientes que suportam MCP Prompts (como Claude Desktop) expõem fluxos prontos que podem ser acionados diretamente no chat via /:

Comando

Descrição

/audit

Auditoria completa de segurança no projeto com relatório detalhado e score.

/audit_category

Análise focada em uma vulnerabilidade ou categoria específica (ex: xss, secrets, auth, idor, rate-limiting, etc.).

/fix_finding

Orienta a correção de um finding e executa a validação determinística para confirmar que o problema foi eliminado.

/checklist

Gera a matriz de conformidade com 24 verificações essenciais e status pass / fail.

/security_rules

Consulta as diretrizes e regras arquiteturais de segurança da base de conhecimento (context.md).


🛠️ Ferramentas Disponíveis (32 Tools)

1. Orquestração e Auditoria

Ferramenta

Descrição

sentinela_detect_stack

Identifica linguagem, framework, ORM, banco de dados, auth provider e hosting da aplicação.

sentinela_audit_full

Executa todos os 24 analisadores em lote e retorna o AuditReport completo com score de risco (0-100).

sentinela_generate_report

Converte a auditoria em um relatório detalhado formatado em Markdown pronto para documentação e entrega.

sentinela_compare_reports

Compara dois relatórios (antes vs depois) detalhando vulnerabilidades corrigidas, novos riscos e evolução de pontuação.

sentinela_get_checklist

Gera checklist de 24 pontos de segurança com verificação binária de conformidade (pass / fail).

sentinela_get_rules

Consulta a base de diretrizes e regras de segurança por termo, categoria ou seção.

2. Remediação & Validação

Ferramenta

Descrição

sentinela_suggest_fix

Sugere implementações seguras com exemplos práticos antes/depois ajustados à stack tecnológica do projeto.

sentinela_validate_fix

Re-executa o analisador correspondente para validar de forma determinística se a correção eliminou a vulnerabilidade.

3. Analisadores Especializados (24 Tools)

Cada analisador pode ser invocado de forma granular pelo agente:

  1. sentinela_analyze_secrets: Chaves de API, segredos, senhas e tokens expostos no código.

  2. sentinela_analyze_xss: Vulnerabilidades de Cross-Site Scripting (dangerouslySetInnerHTML, innerHTML, v-html).

  3. sentinela_analyze_deserialization: Desserialização e execução de código insegura (eval, Function, pickle, unserialize).

  4. sentinela_analyze_logging: Vazamento de credenciais, PII ou informações sensíveis em logs.

  5. sentinela_analyze_error_messages: Exposição de stack traces ou mensagens técnicas em respostas de API.

  6. sentinela_analyze_timing: Comparações de segredos suscetíveis a ataques de temporização (Timing Attacks).

  7. sentinela_analyze_identity: Parâmetros de identidade (user_id) confiados a partir de payload do cliente.

  8. sentinela_analyze_mutations: Operações de mutação de dados sem validação de identidade do usuário.

  9. sentinela_analyze_dependencies: Ausência de lockfiles imutáveis e configurações de monitoramento automatizado.

  10. sentinela_analyze_headers: Ausência de cabeçalhos de segurança HTTP essenciais (CSP, HSTS, X-Frame-Options, etc.).

  11. sentinela_analyze_cors: Configurações de CORS permissivas com credenciais ativas.

  12. sentinela_analyze_tests: Verificação de cobertura e existência de testes de segurança.

  13. sentinela_analyze_secrets_mgmt: Gestão segura de variáveis de ambiente e modelos de .env.example.

  14. sentinela_analyze_request_limits: Limites de tamanho de payload HTTP e proteção contra exaustão de recursos.

  15. sentinela_analyze_idor: Vulnerabilidades de referência direta insegura a objetos em mutações (UPDATE/DELETE).

  16. sentinela_analyze_mass_assignment: Injeção de propriedades não autorizadas via espalhamento de payload (...req.body).

  17. sentinela_analyze_error_handling: Rotas assíncronas desprotegidas e ausência de manipuladores globais de exceção.

  18. sentinela_analyze_uploads: Upload de arquivos sem validação rigorosa de tipo MIME, extensão ou tamanho.

  19. sentinela_analyze_ssrf: Requisições de rede originadas no servidor com destinos controlados pelo usuário.

  20. sentinela_analyze_redirects: Redirecionamentos abertos baseados em entradas não validadas (Open Redirect).

  21. sentinela_analyze_rate_limiting: Ausência de limitação de taxa em endpoints sensíveis (autenticação, recuperação).

  22. sentinela_analyze_auth: Algoritmos fracos de hash, tokens JWT sem expiração ou cookies sem flags de segurança.

  23. sentinela_analyze_webhooks: Endpoints de webhook sem conferência de assinatura criptográfica (HMAC) e idempotência.

  24. sentinela_analyze_input_validation: Endpoints de API sem esquemas rigorosos de validação de entrada (Zod, Yup, Joi).


💻 Desenvolvimento Local & Contribuição

Para clonar e testar o projeto localmente:

# 1. Clonar o repositório
git clone https://github.com/alissonandrade1/sentinela-mcp.git
cd sentinela-mcp

# 2. Instalar dependências
npm install

# 3. Rodar a suíte de testes
npm test

# 4. Executar em modo watch (desenvolvimento)
npm run dev

# 5. Compilar o bundle de produção
npm run build

Para diretrizes de contribuição, padrões de código e convenções de commit, consulte o arquivo CONTRIBUTING.md.


📄 Licenciamento

Distribuído sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

Available Tools

32 tools
sentinela_audit_authC

Audita o domínio "auth" (Seção 8). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_corsC

Audita o domínio "cors" (Seção 19). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_dependenciesC

Audita o domínio "dependencies" (Seção 21). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_deserializationC

Audita o domínio "deserialization" (Seção 28). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_error_handlingC

Audita o domínio "error-handling" (Seção 31). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_error_messagesC

Audita o domínio "error-messages" (Seção 4). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_fullB

Executa auditoria completa de segurança no projeto. Retorna AuditReport com todos os findings, score e checklist.

Inputs: project_path (required).

sentinela_audit_headersC

Audita o domínio "headers" (Seção 11). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_identityC

Audita o domínio "identity" (Seção 2). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_idorC

Audita o domínio "idor" (Seção 6). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_input_validationC

Audita o domínio "input-validation" (Seção 3). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_loggingC

Audita o domínio "logging" (Seção 22). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_mass_assignmentB

Audita o domínio "mass-assignment" (Seção 20). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_mutationsC

Audita o domínio "mutations" (Seção 2). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_rate_limitingC

Audita o domínio "rate-limiting" (Seção 5). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_redirectsC

Audita o domínio "redirects" (Seção 24). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_request_limitsC

Audita o domínio "request-limits" (Seção 32). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_secretsC

Audita o domínio "secrets" (Seção 13). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_secrets_mgmtC

Audita o domínio "secrets-mgmt" (Seção 26). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_ssrfC

Audita o domínio "ssrf" (Seção 23). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_testsC

Audita o domínio "tests" (Seção 14). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_timingC

Audita o domínio "timing" (Seção 29). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_uploadsC

Audita o domínio "uploads" (Seção 10). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_webhooksC

Audita o domínio "webhooks" (Seção 27). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_audit_xssC

Audita o domínio "xss" (Seção 18). Retorna findings estruturados.

Inputs: project_path (required).

sentinela_compare_reportsA

Compara dois AuditReports (antes vs depois). Mostra findings novos, resolvidos e evolução do score.

Inputs: report_after (required), report_before (required).

sentinela_detect_stackC

Detecta a stack de um projeto: linguagem, framework, ORM, banco de dados, auth provider, hosting.

Inputs: project_path (required).

sentinela_generate_reportC

Gera relatório de segurança em Markdown a partir de uma auditoria completa.

Inputs: project_path (required).

sentinela_get_checklistA

Retorna checklist de segurança com status pass/fail baseado nos findings do último audit.

Inputs: project_path (required).

sentinela_get_rulesA

Consulta regras de segurança por categoria ou termo. Retorna seções relevantes do knowledge base.

Inputs: query (required), include_content.

sentinela_suggest_fixC

Dado um finding (JSON), sugere código corrigido com exemplo prático para a stack do projeto.

Inputs: finding (required), project_path (required).

sentinela_validate_fixB

Re-executa o analyzer de um finding específico para verificar se a correção foi aplicada com sucesso.

Inputs: category (required), finding_id (required), project_path (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 32 tools

    Disambiguation3/5

    The 24 domain audit tools each name a distinct security area, but several pairs have genuinely overlapping scopes: audit_secrets vs audit_secrets_mgmt, audit_error_messages vs audit_error_handling, and audit_identity vs audit_auth are easily confused. Worse, audit_identity and audit_mutations both claim '(Seção 2)', which signals an unclear boundary even within the server's own metadata. The audit_full vs individual audits split is reasonable, but the close pairs create real misselection risk.

    Naming Consistency5/5

    Every tool uses the same sentinela_ prefix with a consistent snake_case verb_noun pattern (audit_*, get_*, generate_*, compare_*, suggest_*, validate_*, detect_*). The audit domain tools uniformly follow audit_<domain>, making the whole surface predictable. No mixed conventions or casing deviations.

    Tool Count3/5

    32 tools is heavy and sits above the comfortable range. Most of the bulk comes from 24 near-mechanical per-domain audit tools that could arguably be a single parameterized audit call, though a security domain does have many legitimate areas. It is defensible but on the bloated side.

    Completeness4/5

    The lifecycle is well covered: stack detection, granular and full audits, rules lookup, checklist status, report generation, before/after comparison, fix suggestion, and fix validation. This is a coherent end-to-end workflow with no obvious dead ends. Only minor domain coverage questions remain (e.g. which sections are omitted), so it falls just short of perfect.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI coding tools to scan projects for security vulnerabilities, hardcoded secrets, injection flaws, and privacy violations with 699 rules and 76 MCP tools, all running locally with zero telemetry.
      24 npm
      7
      MIT
    • F
      license
      B
      quality
      C
      maintenance
      Enables AI agents to perform comprehensive, zero-infrastructure codebase analysis through 24 MCP tools, covering security, quality, architecture, type safety, git history, and dead code detection with high precision and local privacy.
      45
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables MCP-compatible AI agents to scan code for leaked secrets, copyleft licenses, unprotected routes, missing privacy policies, and risky card handling before committing or shipping.
      86 npm
      MIT