Security Detections

io.github.MHaggis由 GitHub 帳號 MHaggis 發布v3.3.4更新於 Nov 5, 2026

Search security detections across Sigma, Splunk, Elastic, KQL, Sublime, CQL and Jamf with ATT&CK.

概覽

AI 產生的概覽

為本機 Sigma、Splunk、Elastic、KQL、Sublime、CQL 與 Jamf 偵測規則建立索引,讓助理搜尋規則並分析 MITRE ATT&CK 覆蓋情形。

可以做什麼
  • 跨所有已索引來源搜尋與瀏覽偵測規則,支援全文檢索、依 ID 查詢、取得原始 YAML 與分頁清單
  • 依來源、嚴重等級、MITRE 技術或戰術、CVE、日誌來源、程序名稱、資料來源、偵測類型及 Splunk 分析故事篩選規則
  • 覆蓋分析:戰術統計、依威脅樣貌找出缺口、技術偵測建議、程序層級覆蓋與來源比較
  • 產生 MITRE ATT&CK Navigator 圖層 JSON 及精簡覆蓋摘要
  • 依 ATT&CK STIX 資料分析威脅組織,包含組織檔案與多組織覆蓋比較
  • 透過知識圖譜、動態表格與查詢範本記錄分析脈絡
適用情境
適合偵測工程、SOC 與紫隊情境:希望助理在本機偵測規則庫中檢索、針對威脅樣貌或特定組織找出覆蓋缺口,並匯出 ATT&CK 覆蓋圖層,而不必手動在規則儲存庫中搜尋。
執行需求
透過 npx 在本機執行,需要 Node.js。須先在本機複製偵測內容,並以 SIGMA_PATHS、SPLUNK_PATHS、ELASTIC_PATHS、KQL_PATHS、SUBLIME_PATHS、CQL_HUB_PATHS、JAMF_PROTECT_PATHS 及選用的 STORY_PATHS 等路徑變數指向;組織相關工具另需 ATTACK_STIX_PATH。會在使用者快取目錄建立本機 SQLite 索引。本機套件未宣告驗證。
安裝前請注意
伺服器會讀取你設定的偵測目錄並建立本機索引;README 另述一個需要權杖的託管版本,與此本機套件不同。部分工具會寫入持久狀態(知識圖譜項目、動態表格、範本、已存分析結果),伺服器也可就破壞性操作請求確認。請留意所暴露的路徑,規則內容可能敏感。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Security Detections,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Security Detections MCP

An MCP (Model Context Protocol) server that lets LLMs query a unified database of Sigma, Splunk ESCU, Elastic, KQL, Sublime (Sublime Security and delivr.to), and CrowdStrike CQL security detection rules.

New here? Start with the Setup Guide -- covers macOS, Windows (WSL & native), and Linux step by step.

Want it hosted? Skip the install entirely: Hosted MCP Setup Guide

Two Ways to Run It

Local (full power) — the npm package you're looking at. Runs on your machine, indexes your own detection repos, exposes all 81 tools. You need Node.js and ~10 minutes.

Hosted (zero setup) — a Streamable HTTP server at detect.michaelhaag.org/api/mcp/mcp. Sign up, generate a token, paste one URL into your MCP client. ~25 read-only tools, always in sync with the latest content, 200 calls/day free. Read on for quick-install buttons.

Install — Local

[Install Local MCP in Cursor] [Install Local MCP in VS Code] [Install Local MCP in VS Code Insiders]

Claude Code (CLI one-liner):

bash
claude mcp add security-detections -- npx -y security-detections-mcp

Claude Desktop — add to claude_desktop_config.json:

json
{  "mcpServers": {    "security-detections": {      "command": "npx",      "args": ["-y", "security-detections-mcp"]    }  }}

OpenAI Codex (CLI):

bash
codex mcp add security-detections -- npx -y security-detections-mcp

After install, configure env vars (SIGMA_PATHS, SPLUNK_PATHS, etc.) to point at your detection repos. See the Setup Guide for full details.

Install — Hosted (no setup, token required)

  1. Create a token at detect.michaelhaag.org/account/tokens. Free tier: 200 calls/day, all read-only tools.
  2. Click the button for your client — replace sdmcp_YOUR_TOKEN_HERE in the resulting config with the token you just generated.

[Install Hosted MCP in Cursor] [Install Hosted MCP in VS Code] [Install Hosted MCP in VS Code Insiders]

Claude Code (CLI one-liner):

bash
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 — Desktop doesn't speak remote HTTP natively yet):

json
{  "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):

bash
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

See the Hosted MCP Setup Guide for the full table of clients, the complete tool inventory, and troubleshooting tips.

AI Model Routing (Web App)

The web chat supports Free, Pro/Admin, and BYOK (Bring Your Own Key) routing. You can also see the active model at the top of the chat UI.

Free Tier (default)

  • Default model: nvidia/nemotron-3-super-120b-a12b:free
  • Automatic fallback order if the first model is busy:
    1. nvidia/nemotron-3-super-120b-a12b:free
    2. nousresearch/hermes-3-llama-3.1-405b:free
    3. meta-llama/llama-3.3-70b-instruct:free
    4. openai/gpt-oss-120b:free

Pro/Admin (no BYOK key set)

Uses app-managed OpenRouter routing with your Preferred Model setting in /account:

Preferred ModelRouted model
autoFree model pool (default: nvidia/nemotron-3-super-120b-a12b:free)
claudeanthropic/claude-sonnet-4-6
claude-opusanthropic/claude-opus-4-6
gptopenai/gpt-5.4
gpt-codexopenai/gpt-5.3-codex

BYOK behavior (takes precedence over tier routing)

If you set your own API key(s), routing priority is:

  1. Claude key (sk-ant-...) -> claude-sonnet-4-6-20250514 via Anthropic
  2. OpenAI key (sk-...) -> gpt-5.4 via OpenAI
  3. OpenRouter key (sk-or-...) -> uses the same Preferred Model mapping table above

If multiple keys are present, the first match in that order is used.

Features

  • 8,200+ detections across 6 formats — Sigma, Splunk ESCU, Elastic, KQL, Sublime, CrowdStrike CQL
  • MITRE ATT&CK STIX — 172 threat actors, 784 software, 4,362 actor-technique relationships
  • Procedure-level coverage — auto-extracted behavioral clusters from every detection rule
  • ATT&CK Navigator layers — export coverage/gap JSON, filterable by source/tactic/severity/actor
  • Autonomous pipeline — CTI ingestion → gap analysis → detection generation → Atomic testing → DRAFT PR (see Autonomous docs)
  • 81 local tools / ~25 hosted tools — unified search, MITRE mapping, coverage analysis, knowledge graph, pattern learning, sprint planning
  • 11 MCP Prompts — ransomware assessment, APT emulation, purple team, executive briefing, and more
  • MCP Resources & Completions — readable context, autocomplete for technique IDs, CVEs, process names

Quick Start

bash
npx -y security-detections-mcp

Or clone and build: git clone https://github.com/MHaggis/Security-Detections-MCP.git && cd Security-Detections-MCP && npm install && npm run build

Configure env vars to point at your detection repos:

VariableDescription
SIGMA_PATHSSigma rule directories
SPLUNK_PATHSSplunk ESCU detection directories
ELASTIC_PATHSElastic detection rule directories
KQL_PATHSKQL hunting query directories
SUBLIME_PATHSSublime MQL rule directories — Sublime Security and delivr.to (comma-separated)
CQL_HUB_PATHSCQL Hub (CrowdStrike) query directories
JAMF_PROTECT_PATHSJamf Protect custom analytic detection directories (macOS)
STORY_PATHSSplunk analytic story directories (optional)
ATTACK_STIX_PATHPath to enterprise-attack.json for threat actor data (optional)

See the Setup Guide for full per-client config examples (Cursor, VS Code, Claude Desktop, WSL).

Getting Detection Content

Download all sources with sparse checkout (rules only, not full repos):

bash
mkdir -p detections && cd detectionsgit 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-bertjanpgit clone --depth 1 https://github.com/jkerai1/KQL-Queries.git kql-jkerai1git 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 --filter=blob:none --sparse https://github.com/delivr-to/detections.git delivr-detections && cd delivr-detections && git sparse-checkout set sublime-rules && cd ..git clone --depth 1 https://github.com/ByteRay-Labs/Query-Hub.git cql-hub

MCP Tools

Core Detection Tools

ToolDescription
search(query, limit)Full-text search across all detection fields
get_by_id(id)Get a single detection by ID
list_all(limit, offset)Paginated list of all detections
list_by_source(source_type)Filter by source (sigma, splunk_escu, elastic, kql, sublime, crowdstrike_cql, jamf_protect)
get_stats()Index statistics
rebuild_index()Force re-index from configured paths

MITRE ATT&CK & Filtering

ToolDescription
list_by_mitre(technique_id)Filter by technique ID (e.g., T1059.001)
list_by_mitre_tactic(tactic)Filter by tactic (execution, persistence, etc.)
list_by_cve(cve_id)Find detections for a CVE
list_by_process_name(process_name)Find detections referencing a process
list_by_severity(level)Filter by severity level
list_by_data_source(data_source)Filter by data source

Coverage & Analysis (Token-Optimized)

ToolDescription
analyze_coverage(source_type?)Coverage stats by tactic, top techniques, weak spots (~2KB)
identify_gaps(threat_profile)Find gaps for ransomware, apt, persistence, etc. (~500B)
suggest_detections(technique_id)Detection ideas for a technique (~2KB)
get_coverage_summary(source_type?)Tactic percentages (~200B)
analyze_actor_coverage(actor)Coverage against a specific threat actor
compare_actor_coverage(actors)Compare coverage across multiple actors
analyze_procedure_coverage(technique_id)Behavioral procedure breakdown
generate_navigator_layer(...)Export ATT&CK Navigator JSON layers

Engineering, Knowledge Graph & More

81 tools total including pattern learning, template generation, knowledge graph, dynamic tables, and autonomous analysis. See the Tools Reference for the complete list.

MCP Prompts

11 pre-built expert workflows. Just ask by name:

PromptDescription
ransomware-readiness-assessmentFull kill-chain analysis with risk scoring
apt-threat-emulationCoverage against specific threat actors (APT29, Lazarus, etc.)
purple-team-exerciseComplete test plans with procedures and expected detections
soc-investigation-assistTriage guidance, hunting queries, escalation criteria
detection-engineering-sprintPrioritized backlog with user stories
executive-security-briefingC-level report with business risk language
cve-response-assessmentRapid assessment for emerging CVEs
data-source-gap-analysisTelemetry requirements analysis
detection-quality-reviewDeep-dive quality analysis for a technique
threat-landscape-syncAlign priorities with current threats
detection-coverage-diffCompare coverage against actors or baseline
You: "Run apt-threat-emulation for APT29"→ Technique-by-technique coverage, gaps, and purple team test plan

Using with MITRE ATT&CK MCP

Pairs with mitre-attack-mcp for complete threat coverage analysis. Install both:

json
{  "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" }    }  }}

Stats

SourceCount
Sigma Rules~3,200+
Splunk ESCU~2,000+
Elastic Rules~1,500+
KQL Queries~420+
Sublime Rules~900+
delivr.to Sublime Rules~40+
CrowdStrike CQL~139+
Total~8,200+

Development

bash
npm install && npm run build && npm test

npm test builds a disposable SQLite index and requires SIGMA_PATHS, SPLUNK_PATHS, and STORY_PATHS to point to the cloned content described above. The database lifecycle and content tests never modify your normal user cache. For checks without external content, run npm run test:platform, npm run test:jamf, and npm run test:mcp. Set DETECTIONS_DB_PATH to select a separate database for server instances or automation; otherwise the normal ~/.cache/security-detections-mcp/detections.sqlite location is used.

Documentation

License

Apache 2.0

Maintainer releases

The automatic release guide covers npm trusted publishing, the CI-to-release pipeline, MCP Registry updates, and failed-run recovery.

來源:README.md,提交 0df47c0

工具

81

get_by_id

Get a single detection by its ID

輸入參數id必填source_type

get_raw_yaml

Get the original YAML content for a detection

輸入參數id必填source_type

list_all

List all detections with pagination. Use for browsing the detection index.

輸入參數limitoffset

list_by_source

List detections filtered by source type

輸入參數limitoffsetsource_type必填

list_by_mitre

List detections that map to a specific MITRE ATT&CK technique

輸入參數limitoffsettechnique_id必填

list_by_logsource

List Sigma detections filtered by logsource (category, product, or service)

輸入參數limitoffsetproductservicecategory

list_by_severity

List detections filtered by severity level

輸入參數level必填limitoffset

list_by_cve

List detections that cover a specific CVE vulnerability

輸入參數limitcve_id必填offset

list_by_analytic_story

List Splunk detections that belong to a specific analytic story (e.g., "Ransomware", "Data Destruction")

輸入參數limitstory必填offset

list_by_process_name

List detections that reference a specific process name (e.g., "powershell.exe", "w3wp.exe", "cmd.exe")

輸入參數limitoffsetprocess_name必填

list_by_detection_type

List detections by type (TTP, Anomaly, Hunting, Correlation)

輸入參數limitoffsetdetection_type必填

list_by_data_source

List detections that use a specific data source (e.g., "Sysmon", "Windows Security", "process_creation")

輸入參數limitoffsetdata_source必填

list_by_mitre_tactic

List detections by MITRE ATT&CK tactic (e.g., "execution", "persistence", "credential-access")

輸入參數limitoffsettactic必填

list_by_kql_category

List KQL detections filtered by category (e.g., "Defender For Endpoint", "Azure Active Directory", "Threat Hunting")

輸入參數limitoffsetcategory必填

list_by_kql_tag

List KQL detections filtered by tag (e.g., "ransomware", "hunting", "ti-feed")

輸入參數tag必填limitoffset

list_by_kql_datasource

List KQL detections that use a specific Microsoft data source (e.g., "DeviceProcessEvents", "SigninLogs", "EmailEvents")

輸入參數limitoffsetdata_source必填

get_stats

Get statistics about the indexed detections and stories

無需輸入參數。

get_technique_ids

Get ONLY unique MITRE technique IDs (lightweight - no full detection data). Use this for Navigator layer generation or coverage analysis.

輸入參數tacticseveritysource_type

analyze_coverage

Get coverage analysis with stats by tactic, top covered techniques, and weak spots. Returns summary data, not raw detections. Use this instead of listing detections and processing manually.

輸入參數source_type

identify_gaps

Identify detection gaps based on a threat profile (ransomware, apt, initial-access, persistence, credential-access, defense-evasion). Returns prioritized gaps with recommendations.

輸入參數source_typethreat_profile必填

suggest_detections

Get detection suggestions for a specific technique. Returns existing detections, required data sources, and detection ideas.

輸入參數source_typetechnique_id必填

generate_navigator_layer

Generate a MITRE ATT&CK Navigator layer JSON from detection coverage. Returns valid Navigator JSON ready for import at https://mitre-attack.github.io/attack-navigator/. Filter by source, tactic, or severity.

輸入參數name必填tacticseveritydescriptionsource_type

analyze_procedure_coverage

Analyze procedure-level coverage for a MITRE technique. Goes beyond "we cover T1059.001" to show WHICH specific behaviors/procedures your detections actually catch (e.g., encoded commands, download cradles, AMSI bypass). Shows covered and uncovered procedures with detection names.

輸入參數source_typetechnique_id必填include_query_snippets

compare_procedure_coverage

Compare procedure-level detection coverage across sources for a technique. Shows which source catches which specific behaviors — two orgs can both tag T1059.001 but detect completely different procedures. Returns a matrix of source × procedure.

輸入參數sourcestechnique_id必填

get_detection_list

Get a lightweight list of detection names and IDs matching a search query. Returns ONLY name, id, source, mitre_ids - no queries or raw yaml. Use this when you need a simple list.

輸入參數limitquery必填source_type

compare_sources

Compare detection coverage between sources (Sigma vs Splunk vs Elastic vs KQL) for a topic. Returns a clean breakdown with counts and names per source.

輸入參數topic必填limit_per_source

count_by_source

Get quick counts of detections by source for a topic. Returns just the numbers, no detection details.

輸入參數topic必填

list_by_name_pattern

List detections whose NAME matches a pattern, grouped by source. Returns just name + ID pairs.

輸入參數pattern必填source_type

smart_compare

Compare detections across sources, tactics, or techniques for a given topic. Returns breakdown by source, tactic, and severity.

輸入參數topic必填

get_coverage_summary

Get a lightweight coverage summary (~200 bytes) with tactic percentages. Use this for quick overviews instead of full analyze_coverage.

輸入參數source_type

get_top_gaps

Get just the top 5 gaps (~300 bytes) for a threat profile. Use this for quick gap checks.

輸入參數threat_profile必填

get_technique_count

Get just the detection count for a technique (~50 bytes). Use this for quick coverage checks.

輸入參數technique_id必填

analyze_actor_coverage

Analyze detection coverage against a specific threat actor. Shows which of the actor's known MITRE ATT&CK techniques have detections, coverage percentage, and prioritized gaps. Requires STIX data (ATTACK_STIX_PATH env var).

輸入參數actor_name必填source_typeinclude_navigator_layer

list_actors

List all known MITRE ATT&CK threat actors with aliases and technique counts. Requires STIX data (ATTACK_STIX_PATH env var).

輸入參數limitsearch

compare_actor_coverage

Compare detection coverage across multiple threat actors. Shows shared technique gaps and unique risks per actor. Requires STIX data (ATTACK_STIX_PATH env var).

輸入參數actor_names必填source_type

get_actor_profile

Get full threat actor dossier: description, aliases, known techniques, software employed, and detection coverage status. Requires STIX data (ATTACK_STIX_PATH env var).

輸入參數actor_name必填

search_stories

Search analytic stories by narrative, description, or name. Stories provide rich context about threat campaigns and detection strategies.

輸入參數limitquery必填

get_story

Get detailed information about a specific analytic story by name

輸入參數name必填

list_stories

List all analytic stories with pagination

輸入參數limitoffset

list_stories_by_category

List analytic stories by category (e.g., "Malware", "Adversary Tactics", "Abuse")

輸入參數limitoffsetcategory必填

save_query

Save a query result for quick retrieval later. Useful for caching frequently needed data.

輸入參數data必填name必填query_type必填ttl_minutes

get_saved_query

Retrieve a previously saved query result by name.

輸入參數name必填

list_saved_queries

List all saved queries, optionally filtered by type.

輸入參數query_type

rebuild_index

Force re-index all detections and stories from configured paths. WARNING: This is a destructive operation that deletes the current index.

輸入參數confirmskip_elicitation

save_template

Save a reusable query template with {{placeholders}}. Templates can contain SQL queries or tool-chain definitions for future execution.

輸入參數name必填template必填description

run_template

Execute a saved query template with the provided parameters. Returns the query results.

輸入參數name必填params

list_templates

List all saved query templates with their names, descriptions, and usage statistics.

輸入參數limitsort_by

get_template

Get the full details of a saved query template including the template string and parameters.

輸入參數name必填

delete_template

Delete a saved query template by name.

輸入參數name必填

create_table

Create a new custom table to store analysis data. Use this to persist findings, research results, or any structured data you want to retrieve later. Pre-built tables available: gap_analyses, source_comparisons, threat_actor_profiles, detection_recommendations

輸入參數name必填columns必填description必填

insert_row

Insert a row of data into a dynamic table. Data is validated against the table schema.

輸入參數data必填row_idtable_name必填

query_table

Query data from a dynamic table with optional filtering, sorting, and pagination. Filter examples: - Exact match: {"status": "completed"} - LIKE match: {"name": "%ransomware%"} - Multiple conditions: {"status": "pending", "priority": "high"}

輸入參數limitwhereoffsetselectorder_bytable_name必填

list_tables

List all dynamic tables created by the LLM, including pre-built analysis tables and their statistics.

輸入參數include_prebuilt

drop_table

Remove a dynamic table and all its data. Use with caution - this is irreversible.

輸入參數confirm必填table_name必填

describe_table

Get detailed schema information and statistics for a dynamic table.

輸入參數table_name必填

create_entity

Create a knowledge entity representing a security concept. Use this to build the knowledge graph with threat actors, techniques, detections, campaigns, tools, vulnerabilities, and data sources. Entity types: - threat_actor: APT groups, criminal gangs (e.g., "APT29", "STORM-0501") - technique: MITRE ATT&CK techniques (e.g., "T1059.001 PowerShell") - detection: Security detection rules (e.g., "Suspicious PowerShell Execution") - campaign: Attack campaigns (e.g., "SolarWinds Compromise") - tool: Attack tools or malware (e.g., "Cobalt Strike", "Mimikatz") - vulnerability: CVEs (e.g., "CVE-2024-1234") - data_source: Log sources (e.g., "Windows Security Events")

輸入參數name必填entity_type必填

create_relation

Create a relationship between two entities WITH reasoning explaining WHY they're connected. This is the core of tribal knowledge - capturing not just the connection but the insight behind it. Relation types: - uses: Threat actor uses technique/tool (e.g., APT29 uses Cobalt Strike) - targets: Threat actor targets sector/system - detects: Detection covers technique - covers: Detection provides coverage for technique - mitigates: Control mitigates technique - exploits: Campaign exploits vulnerability - attributed_to: Campaign attributed to threat actor - depends_on: Detection depends on data source - related_to: General relationship IMPORTANT: The reasoning field is critical - explain WHY this connection exists.

輸入參數reasoning必填to_entity必填confidencefrom_entity必填relation_type必填

add_observation

Add a fact or observation about an entity. Observations capture point-in-time knowledge that can be queried later. Examples: - "APT29 has been active since at least 2008" - "This detection has high false positives in development environments" - "T1059.001 is commonly used for initial access in ransomware"

輸入參數sourceconfidenceentity_name必填observation必填

delete_entity

Remove an entity from the knowledge graph. This also removes all relations and observations associated with the entity.

輸入參數name必填

delete_observation

Remove a specific observation by its ID. Use open_entity first to find observation IDs.

輸入參數observation_id必填

search_knowledge

Search across all knowledge types: entities, relations, observations, decisions, and learnings. Uses full-text search to find relevant tribal knowledge. Search examples: - "PowerShell execution" - Find everything related to PowerShell - "credential theft" - Find credential-related knowledge - "APT29" - Find all knowledge about this threat actor

輸入參數limitquery必填

read_graph

Read the entire knowledge graph or a filtered subgraph. Returns entities, relations, and observations. Use this to: - Get an overview of all stored knowledge - Filter by entity type to focus on specific concepts - Understand the structure of captured tribal knowledge

輸入參數limitentity_type

open_entity

Get complete information about a specific entity including all its relations and observations. This is the detailed view of a single knowledge node.

輸入參數name必填

log_decision

Record WHY a significant decision was made. This is the gold of tribal knowledge - capturing the reasoning process so future agents can understand past decisions. Decision types: - gap_identified: A detection gap was found - detection_recommended: A specific detection was recommended - coverage_mapped: Coverage was analyzed and mapped - priority_assigned: A priority decision was made - false_positive_tuning: FP tuning recommendation - threat_assessment: Threat level assessment - data_source_selected: Data source was chosen IMPORTANT: Be detailed in the reasoning - this helps future analysis.

輸入參數context必填outcomedecision必填reasoning必填session_iddecision_type必填entities_involved

add_learning

Store a pattern or insight derived from analysis for future reference. Learnings are reusable knowledge that can help future sessions. Learning types: - detection_pattern: A pattern for writing effective detections - gap_pattern: A recurring type of detection gap - user_preference: User preferences for analysis style - false_positive_pattern: Common FP patterns to avoid - threat_pattern: Recurring threat behaviors - correlation_insight: Insights about technique correlations - data_quality_insight: Insights about data source quality Examples: - "STORM-0501 consistently uses native tools before deploying ransomware" - "Detections for T1059.001 need process parent filtering to reduce FPs" - "User prefers prioritizing detections by MITRE tactic stage"

輸入參數title必填insight必填evidenceapplicationslearning_type必填

get_relevant_decisions

Get past decisions relevant to the current context. Uses full-text search to find tribal knowledge that applies to your current analysis. Use this to: - See how similar situations were handled before - Understand reasoning behind past recommendations - Maintain consistency with previous decisions

輸入參數limitsession_idcontext_query必填decision_type

get_learnings

Get applicable learnings for the current task. Returns patterns and insights that may help with the current analysis. Use this to: - Apply proven patterns to new situations - Remember user preferences - Avoid known pitfalls

輸入參數limittask_query必填mark_appliedlearning_type

auto_analyze_coverage

Automatically analyze detection coverage, identify gaps across threat profiles, and store findings for future reference. This tool: 1. Runs coverage analysis across all detections 2. Identifies gaps for specified threat profiles (ransomware, apt, etc.) 3. Stores results in the gap_analyses dynamic table 4. Logs decisions about significant findings in the knowledge graph Use this for comprehensive, stored analysis that persists across sessions.

輸入參數session_idanalysis_namestore_resultsthreat_profiles

auto_gap_report

Generate a comprehensive gap report comparing detection coverage across sources (Sigma, Splunk ESCU, Elastic, KQL) and threat profiles. This tool: 1. Analyzes all threat profiles for gaps 2. Compares detection coverage across different sources 3. Creates prioritized recommendations based on severity and coverage 4. Stores the complete report in dynamic tables Use this for executive-level reporting on detection posture.

輸入參數session_idreport_namecompare_sourcespriority_tacticsinclude_recommendations

auto_compare_sources

Autonomously compare detection coverage across different sources (Sigma, Splunk ESCU, Elastic, KQL) with detailed reasoning and analysis. This tool: 1. Compares detection counts and coverage across all available sources 2. Analyzes technique-level coverage differences between sources 3. Identifies which source has best coverage for specific tactics/techniques 4. Provides reasoned recommendations for source selection 5. Stores comparison results and logs decision reasoning Use this to understand the strengths/weaknesses of different detection sources and make informed decisions about which to use.

輸入參數session_idfocus_tactictechniques_to_compareinclude_quality_analysis

llm_enhanced_analysis

Request LLM-enhanced analysis of security detection data using MCP sampling. This tool leverages MCP sampling to request the client's LLM to analyze security data with expert reasoning. Unlike the auto_* tools that perform direct analysis, this tool asks the LLM to provide contextual insights. Note: Requires client to support MCP sampling capability. If not supported, falls back to structured data output. Use cases: - Get expert reasoning about coverage gaps - Generate detection recommendations with context - Compare sources with nuanced analysis - Understand threat profile implications

輸入參數techniquesanalysis_type必填custom_contextthreat_profile

check_sampling_status

Check if MCP sampling is available for LLM-enhanced analysis. Sampling allows the server to request LLM completions from the client, enabling richer autonomous analysis. Not all MCP clients support this feature. Use this tool to check capability before using llm_enhanced_analysis.

無需輸入參數。

get_query_patterns

Get common query patterns for a MITRE technique based on existing detections. Returns SPL structure, common fields, macros used, and example queries. Use this before writing a detection to learn the conventions.

輸入參數source_typetechnique_id必填

get_field_reference

Get available fields for a Splunk data model with usage examples. Use this to understand what fields are available when writing a detection query.

輸入參數data_model必填

get_macro_reference

Get common Splunk macros and their usage patterns. Essential for writing detections that follow repository conventions.

輸入參數filter

find_similar_detections

Find existing detections similar to what you want to create. Use this to learn from existing detection logic and structure.

輸入參數limitdescription必填source_typetechnique_id

suggest_detection_template

Generate a detection template based on technique, learned patterns, and conventions. Returns YAML structure ready for customization.

輸入參數platformdata_modeldescription必填technique_id必填detection_type

generate_rba_structure

Generate RBA (Risk-Based Alerting) structure for a detection based on learned patterns and best practices.

輸入參數severity必填description必填detection_type必填fields_available

extract_patterns

Extract and store patterns from all indexed detections. Run this to populate the pattern database for template generation.

輸入參數force

learn_from_feedback

Store user preference or correction to improve future suggestions. Call this when user modifies generated content to build tribal knowledge.

輸入參數contextoriginal必填corrected必填feedback_type必填

版本歷史

1
  1. v3.3.4最新Nov 5, 2026

評分

已滿足適用檢查項的 80%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。