
MCP para ajudar Defensores Engenheiros de Detecção a serem mais duros e mais inteligentes.
Um servidor MCP (Model Context Protocol) que permite que LLMs consultem um banco de dados unificado de regras de detecção de segurança Sigma, Splunk ESCU, Elastic, KQL, Sublime e CrowdStrike CQL.
Novo aqui? Comece com o Guia de Configuração -- cobre macOS, Windows (WSL e nativo) e Linux passo a passo.
Quer algo hospedado? Pule a instalação completamente: Guia de Configuração do MCP Hospedado
Local (poder total) — o pacote npm que você está vendo. Roda na sua máquina, indexa seus próprios repositórios de detecção, expõe todas as 81 ferramentas. Você precisa de Node.js e ~10 minutos.
Hospedado (zero configuração) — um servidor HTTP Streamable em detect.michaelhaag.org/api/mcp/mcp. Cadastre-se, gere um token, cole uma URL no seu cliente MCP. ~25 ferramentas somente leitura, sempre sincronizadas com o conteúdo mais recente, 200 chamadas/dia gratuitas. Continue lendo para botões de instalação rápida.
Claude Code (comando único na CLI):
claude mcp add security-detections -- npx -y security-detections-mcp
Claude Desktop — adicione ao claude_desktop_config.json:
{
"mcpServers": {
"security-detections": {
"command": "npx",
"args": ["-y", "security-detections-mcp"]
}
}
}
OpenAI Codex (CLI):
codex mcp add security-detections -- npx -y security-detections-mcp
Após a instalação, configure as variáveis de ambiente (
SIGMA_PATHS,SPLUNK_PATHS, etc.) para apontar para seus repositórios de detecção. Consulte o Guia de Configuração para detalhes completos.
sdmcp_YOUR_TOKEN_HERE na configuração resultante pelo token que você acabou de gerar.Claude Code (comando único na CLI):
claude mcp add --transport http security-detections https://detect.michaelhaag.org/api/mcp/mcp --header "Authorization: Bearer sdmcp_YOUR_TOKEN_HERE"
Claude Desktop (via mcp-remote — o Desktop ainda não fala HTTP remoto nativamente):
{
"mcpServers": {
"security-detections": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://detect.michaelhaag.org/api/mcp/mcp",
"--header",
"Authorization: Bearer sdmcp_YOUR_TOKEN_HERE"
]
}
}
}
OpenAI Codex (CLI):
export SDMCP_TOKEN="sdmcp_YOUR_TOKEN_HERE" && codex mcp add security-detections --url https://detect.michaelhaag.org/api/mcp/mcp --bearer-token-env-var SDMCP_TOKEN
Consulte o Guia de Configuração do MCP Hospedado para a tabela completa de clientes, o inventário completo de ferramentas e dicas de solução de problemas.
O chat web suporta roteamento Gratuito, Pro/Admin e BYOK (Traga Sua Própria Chave). Você também pode ver o modelo ativo no topo da interface do chat.
nvidia/nemotron-3-super-120b-a12b:freenvidia/nemotron-3-super-120b-a12b:freenousresearch/hermes-3-llama-3.1-405b:freemeta-llama/llama-3.3-70b-instruct:freeopenai/gpt-oss-120b:freeUsa roteamento OpenRouter gerenciado pelo aplicativo com sua configuração de Modelo Preferido em /account:
| Modelo Preferido | Modelo roteado |
|---|---|
auto | Pool de modelos gratuitos (padrão: nvidia/nemotron-3-super-120b-a12b:free) |
claude | anthropic/claude-sonnet-4-6 |
claude-opus | anthropic/claude-opus-4-6 |
gpt | openai/gpt-5.4 |
gpt-codex | openai/gpt-5.3-codex |
Se você definir sua(s) própria(s) chave(s) de API, a prioridade de roteamento é:
sk-ant-...) -> claude-sonnet-4-6-20250514 via Anthropicsk-...) -> gpt-5.4 via OpenAIsk-or-...) -> usa a mesma tabela de mapeamento de Modelo Preferido acimaSe várias chaves estiverem presentes, a primeira correspondência nessa ordem é usada.
npx -y security-detections-mcp
Ou clone e construa: git clone https://github.com/MHaggis/Security-Detections-MCP.git && cd Security-Detections-MCP && npm install && npm run build
Configure as variáveis de ambiente para apontar para seus repositórios de detecção:
| Variável | Descrição |
|---|---|
SIGMA_PATHS | Diretórios de regras Sigma |
SPLUNK_PATHS | Diretórios de detecção Splunk ESCU |
ELASTIC_PATHS | Diretórios de regras de detecção Elastic |
KQL_PATHS | Diretórios de consultas de caça KQL |
SUBLIME_PATHS | Diretórios de regras Sublime Security |
CQL_HUB_PATHS | Diretórios de consultas CQL Hub (CrowdStrike) |
JAMF_PROTECT_PATHS | Diretórios de detecção analítica personalizada Jamf Protect (macOS) |
STORY_PATHS | Diretórios de histórias analíticas Splunk (opcional) |
ATTACK_STIX_PATH | Caminho para enterprise-attack.json para dados de atores de ameaça (opcional) |
Consulte o Guia de Configuração para exemplos completos de configuração por cliente (Cursor, VS Code, Claude Desktop, WSL).
Baixe todas as fontes com checkout esparso (apenas regras, não repositórios completos):
mkdir -p detections && cd detections
git clone --depth 1 --filter=blob:none --sparse https://github.com/SigmaHQ/sigma.git && cd sigma && git sparse-checkout set rules rules-threat-hunting && cd ..
git clone --depth 1 --filter=blob:none --sparse https://github.com/splunk/security_content.git && cd security_content && git sparse-checkout set detections stories && cd ..
git clone --depth 1 --filter=blob:none --sparse https://github.com/elastic/detection-rules.git && cd detection-rules && git sparse-checkout set rules && cd ..
git clone --depth 1 https://github.com/Bert-JanP/Hunting-Queries-Detection-Rules.git kql-bertjanp
git clone --depth 1 https://github.com/jkerai1/KQL-Queries.git kql-jkerai1
git clone --depth 1 --filter=blob:none --sparse https://github.com/sublime-security/sublime-rules.git && cd sublime-rules && git sparse-checkout set detection-rules && cd ..
git clone --depth 1 https://github.com/ByteRay-Labs/Query-Hub.git cql-hub
| Ferramenta | Descrição |
|---|---|
search(query, limit) | Pesquisa de texto completo em todos os campos de detecção |
get_by_id(id) | Obter uma única detecção por ID |
list_all(limit, offset) | Lista paginada de todas as detecções |
list_by_source(source_type) | Filtrar por fonte (sigma, splunk_escu, elastic, kql, sublime, crowdstrike_cql, jamf_protect) |
get_stats() | Estatísticas do índice |
rebuild_index() | Forçar reindexação a partir dos caminhos configurados |
| Ferramenta | Descrição |
|---|---|
list_by_mitre(technique_id) | Filtrar por ID de técnica (ex.: T1059.001) |
list_by_mitre_tactic(tactic) | Filtrar por tática (execução, persistência, etc.) |
list_by_cve(cve_id) | Encontrar detecções para um CVE |
list_by_process_name(process_name) | Encontrar detecções referenciando um processo |
list_by_severity(level) | Filtrar por nível de gravidade |
list_by_data_source(data_source) | Filtrar por fonte de dados |
| Ferramenta | Descrição |
|---|---|
analyze_coverage(source_type?) | Estatísticas de cobertura por tática, principais técnicas, pontos fracos (~2KB) |
identify_gaps(threat_profile) | Encontrar lacunas para ransomware, APT, persistência, etc. (~500B) |
suggest_detections(technique_id) | Ideias de detecção para uma técnica (~2KB) |
get_coverage_summary(source_type?) | Percentuais de tática (~200B) |
analyze_actor_coverage(actor) | Cobertura contra um ator de ameaça específico |
compare_actor_coverage(actors) | Comparar cobertura entre múltiplos atores |
analyze_procedure_coverage(technique_id) | Detalhamento de procedimento comportamental |
generate_navigator_layer(...) | Exportar camadas JSON do ATT&CK Navigator |
81 ferramentas no total, incluindo aprendizado de padrões, geração de modelos, grafo de conhecimento, tabelas dinâmicas e análise autônoma. Consulte a Referência de Ferramentas para a lista completa.
11 fluxos de trabalho especializados pré-construídos. Basta perguntar pelo nome:
| Prompt | Descrição |
|---|---|
ransomware-readiness-assessment | Análise completa da cadeia de ataque com pontuação de risco |
apt-threat-emulation | Cobertura contra atores de ameaça específicos (APT29, Lazarus, etc.) |
purple-team-exercise | Planos de teste completos com procedimentos e detecções esperadas |
soc-investigation-assist | Diretrizes de triagem, consultas de caça, critérios de escalonamento |
detection-engineering-sprint | Backlog priorizado com histórias de usuário |
executive-security-briefing | Relatório executivo com linguagem de risco de negócios |
cve-response-assessment | Avaliação rápida para CVEs emergentes |
data-source-gap-analysis | Análise de requisitos de telemetria |
detection-quality-review | Análise de qualidade aprofundada para uma técnica |
threat-landscape-sync | Alinhar prioridades com ameaças atuais |
detection-coverage-diff | Comparar cobertura contra atores ou linha de base |
Você: "Execute apt-threat-emulation para APT29"
→ Cobertura técnica por técnica, lacunas e plano de teste de equipe roxa
Combina com mitre-attack-mcp para análise completa de cobertura de ameaças. Instale ambos:
{
"mcpServers": {
"security-detections": {
"command": "npx",
"args": ["-y", "security-detections-mcp"],
"env": { "SIGMA_PATHS": "/path/to/sigma/rules" }
},
"mitre-attack": {
"command": "npx",
"args": ["-y", "mitre-attack-mcp"],
"env": { "ATTACK_DOMAIN": "enterprise-attack" }
}
}
}
| Fonte | Contagem |
|---|---|
| Regras Sigma | ~3.200+ |
| Splunk ESCU | ~2.000+ |
| Regras Elastic | ~1.500+ |
| Consultas KQL | ~420+ |
| Regras Sublime | ~900+ |
| CrowdStrike CQL | ~139+ |
| Total | ~8.200+ |
npm install && npm run build && npm test
Apache 2.0