
MCP per aiutare i difensori ingegneri di rilevamento a diventare più duri e più intelligenti
Un server MCP (Model Context Protocol) che consente agli LLM di eseguire query su un database unificato di regole di rilevamento della sicurezza di Sigma, Splunk ESCU, Elastic, KQL, Sublime e CrowdStrike CQL.
Nuovo qui? Inizia con la Guida all'installazione -- copre macOS, Windows (WSL e nativo) e Linux passo dopo passo.
Lo vuoi hosted? Salta completamente l'installazione: Guida all'installazione Hosted MCP
Locale (piena potenza) — il pacchetto npm che stai guardando. Viene eseguito sulla tua macchina, indicizza i tuoi repository di rilevamento, espone tutti i 81 strumenti. Hai bisogno di Node.js e circa 10 minuti.
Hosted (nessuna configurazione) — un server HTTP Streamable su detect.michaelhaag.org/api/mcp/mcp. Registrati, genera un token, incolla un URL nel tuo client MCP. ~25 strumenti di sola lettura, sempre sincronizzati con i contenuti più recenti, 200 chiamate/giorno gratuite. Continua a leggere per i pulsanti di installazione rapida.
Claude Code (comando singolo CLI):
claude mcp add security-detections -- npx -y security-detections-mcp
Claude Desktop — aggiungi a 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
Dopo l'installazione, configura le variabili d'ambiente (
SIGMA_PATHS,SPLUNK_PATHS, ecc.) per puntare ai tuoi repository di rilevamento. Consulta la Guida all'installazione per tutti i dettagli.
sdmcp_YOUR_TOKEN_HERE nella configurazione risultante con il token che hai appena generato.Claude Code (comando singolo CLI):
claude mcp add --transport http security-detections https://detect.michaelhaag.org/api/mcp/mcp --header "Authorization: Bearer sdmcp_YOUR_TOKEN_HERE"
Claude Desktop (tramite mcp-remote — Desktop non supporta ancora 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
Consulta la Guida all'installazione Hosted MCP per la tabella completa dei client, l'inventario completo degli strumenti e i suggerimenti per la risoluzione dei problemi.
La chat web supporta il routing Free, Pro/Admin e BYOK (Bring Your Own Key). Puoi anche vedere il modello attivo nella parte superiore dell'interfaccia 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:freeUtilizza il routing OpenRouter gestito dall'app con la tua Impostazione Modello Preferito su /account:
Se imposti le tue chiavi API, la priorità di instradamento è:
sk-ant-...) -> claude-sonnet-4-6-20250514 tramite Anthropicsk-...) -> gpt-5.4 tramite OpenAIsk-or-...) -> utilizza la stessa tabella di mappatura del Modello Preferito sopraSe sono presenti più chiavi, viene utilizzata la prima corrispondenza in questo ordine.
npx -y security-detections-mcp
Oppure clona e compila: git clone https://github.com/MHaggis/Security-Detections-MCP.git && cd Security-Detections-MCP && npm install && npm run build
Configura le variabili d'ambiente per puntare ai tuoi repository di rilevamento:
Consulta la Guida all'installazione per esempi di configurazione completi per client (Cursor, VS Code, Claude Desktop, WSL).
Scarica tutte le fonti con sparse checkout (solo regole, non interi repository):
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
81 strumenti totali, inclusi apprendimento di pattern, generazione di template, grafo della conoscenza, tabelle dinamiche e analisi autonoma. Vedi il Riferimento Strumenti per l'elenco completo.
11 workflow esperti predefiniti. Basta chiedere per nome:
Tu: "Esegui apt-threat-emulation per APT29"
→ Copertura tecnica per tecnica, lacune e piano di test del purple team
Si abbina a mitre-attack-mcp per un'analisi completa della copertura delle minacce. Installa entrambi:
{
"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" }
}
}
}
npm install && npm run build && npm test
Apache 2.0
| Modello Preferito | Modello instradato |
|---|
auto | Pool di modelli gratuiti (predefinito: 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 |
| Variabile | Descrizione |
|---|
SIGMA_PATHS | Directory delle regole Sigma |
SPLUNK_PATHS | Directory dei rilevamenti Splunk ESCU |
ELASTIC_PATHS | Directory delle regole di rilevamento Elastic |
KQL_PATHS | Directory delle query di caccia KQL |
SUBLIME_PATHS | Directory delle regole Sublime Security |
CQL_HUB_PATHS | Directory delle query CQL Hub (CrowdStrike) |
JAMF_PROTECT_PATHS | Directory dei rilevamenti analitici personalizzati Jamf Protect (macOS) |
STORY_PATHS | Directory delle storie analitiche Splunk (opzionale) |
ATTACK_STIX_PATH | Percorso verso enterprise-attack.json per i dati sugli attori delle minacce (opzionale) |
| Strumento | Descrizione |
|---|
search(query, limit) | Ricerca full-text su tutti i campi di rilevamento |
get_by_id(id) | Ottiene un singolo rilevamento per ID |
list_all(limit, offset) | Elenco paginato di tutti i rilevamenti |
list_by_source(source_type) | Filtra per fonte (sigma, splunk_escu, elastic, kql, sublime, crowdstrike_cql, jamf_protect) |
get_stats() | Statistiche dell'indice |
rebuild_index() | Forza la re-indicizzazione dai percorsi configurati |
| Strumento | Descrizione |
|---|
list_by_mitre(technique_id) | Filtra per ID tecnica (es. T1059.001) |
list_by_mitre_tactic(tactic) | Filtra per tattica (execution, persistence, ecc.) |
list_by_cve(cve_id) | Trova rilevamenti per un CVE |
list_by_process_name(process_name) | Trova rilevamenti che fanno riferimento a un processo |
list_by_severity(level) | Filtra per livello di gravità |
list_by_data_source(data_source) | Filtra per fonte dati |
| Strumento | Descrizione |
|---|
analyze_coverage(source_type?) | Statistiche di copertura per tattica, tecniche principali, punti deboli (~2KB) |
identify_gaps(threat_profile) | Trova lacune per ransomware, apt, persistence, ecc. (~500B) |
suggest_detections(technique_id) | Idee di rilevamento per una tecnica (~2KB) |
get_coverage_summary(source_type?) | Percentuali per tattica (~200B) |
analyze_actor_coverage(actor) | Copertura contro uno specifico attore delle minacce |
compare_actor_coverage(actors) | Confronta la copertura tra più attori |
analyze_procedure_coverage(technique_id) | Analisi comportamentale delle procedure |
generate_navigator_layer(...) | Esporta layer JSON di ATT&CK Navigator |
| Prompt | Descrizione |
|---|
ransomware-readiness-assessment | Analisi completa della kill-chain con punteggio di rischio |
apt-threat-emulation | Copertura contro specifici attori delle minacce (APT29, Lazarus, ecc.) |
purple-team-exercise | Piani di test completi con procedure e rilevamenti previsti |
soc-investigation-assist | Guida al triage, query di caccia, criteri di escalation |
detection-engineering-sprint | Backlog prioritizzato con user story |
executive-security-briefing | Report per il C-level con linguaggio di rischio aziendale |
cve-response-assessment | Valutazione rapida per CVE emergenti |
data-source-gap-analysis | Analisi dei requisiti di telemetria |
detection-quality-review | Analisi approfondita della qualità per una tecnica |
threat-landscape-sync | Allinea le priorità con le minacce attuali |
detection-coverage-diff | Confronta la copertura rispetto agli attori o alla baseline |
| Fonte | Conteggio |
|---|
| Regole Sigma | ~3.200+ |
| Splunk ESCU | ~2.000+ |
| Regole Elastic | ~1.500+ |
| Query KQL | ~420+ |
| Regole Sublime | ~900+ |
| CrowdStrike CQL | ~139+ |
| Totale | ~8.200+ |