
방어자와 탐지 엔지니어가 더 강하고 더 똑똑하게 일할 수 있도록 돕는 MCP
LLM이 Sigma, Splunk ESCU, Elastic, KQL, Sublime, CrowdStrike CQL 보안 탐지 규칙의 통합 데이터베이스를 질의할 수 있게 해주는 MCP(Model Context Protocol) 서버입니다.
처음이신가요? 설정 가이드부터 시작하세요 -- macOS, Windows(WSL 및 네이티브), Linux를 단계별로 다룹니다.
호스팅된 버전을 원하시나요? 설치를 완전히 생략하세요: 호스팅 MCP 설정 가이드
로컬 (모든 기능) — 지금 보고 계신 npm 패키지입니다. 사용자 컴퓨터에서 실행되며, 자체 탐지 리포지토리를 인덱싱하고 81개 도구를 모두 제공합니다. Node.js와 약 10분이 필요합니다.
호스팅 (설정 불필요) — detect.michaelhaag.org/api/mcp/mcp에 있는 Streamable HTTP 서버입니다. 가입 후 토큰을 생성하고, MCP 클라이언트에 URL 하나를 붙여넣으세요. 약 25개의 읽기 전용 도구, 항상 최신 콘텐츠와 동기화, 하루 200회 무료 호출. 빠른 설치 버튼은 아래를 참조하세요.
Claude Code (CLI 한 줄 명령):
claude mcp add security-detections -- npx -y security-detections-mcp
Claude Desktop — 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
설치 후 환경 변수(
SIGMA_PATHS,SPLUNK_PATHS등)를 설정하여 탐지 리포지토리를 가리키도록 하세요. 전체 내용은 설정 가이드를 참조하세요.
sdmcp_YOUR_TOKEN_HERE를 방금 생성한 토큰으로 바꾸세요.Claude Code (CLI 한 줄 명령):
claude mcp add --transport http security-detections https://detect.michaelhaag.org/api/mcp/mcp --header "Authorization: Bearer sdmcp_YOUR_TOKEN_HERE"
Claude Desktop (mcp-remote를 통해 — Desktop은 아직 원격 HTTP를 기본 지원하지 않음):
{
"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
전체 클라이언트 표, 완전한 도구 목록, 문제 해결 팁은 호스팅 MCP 설정 가이드를 참조하세요.
웹 채팅은 Free, Pro/Admin, BYOK(Bring Your Own Key) 라우팅을 지원합니다. 채팅 UI 상단에서 활성 모델을 확인할 수도 있습니다.
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:free/account의 선호 모델 설정에 따라 앱 관리 OpenRouter 라우팅을 사용합니다:
| 선호 모델 | 라우팅된 모델 |
|---|---|
auto | 무료 모델 풀 (기본값: 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 |
자체 API 키를 설정한 경우 라우팅 우선순위는 다음과 같습니다:
sk-ant-...) -> claude-sonnet-4-6-20250514 (Anthropic 경유)sk-...) -> gpt-5.4 (OpenAI 경유)sk-or-...) -> 위와 동일한 선호 모델 매핑 테이블을 사용여러 키가 있을 경우 해당 순서의 첫 번째 일치 항목이 사용됩니다.
npx -y security-detections-mcp
또는 클론 및 빌드: git clone https://github.com/MHaggis/Security-Detections-MCP.git && cd Security-Detections-MCP && npm install && npm run build
환경 변수를 설정하여 탐지 리포지토리를 가리키도록 하세요:
| 변수 | 설명 |
|---|---|
SIGMA_PATHS | Sigma 규칙 디렉토리 |
SPLUNK_PATHS | Splunk ESCU 탐지 디렉토리 |
ELASTIC_PATHS | Elastic 탐지 규칙 디렉토리 |
KQL_PATHS | KQL 헌팅 쿼리 디렉토리 |
SUBLIME_PATHS | Sublime Security 규칙 디렉토리 |
CQL_HUB_PATHS | CQL Hub (CrowdStrike) 쿼리 디렉토리 |
JAMF_PROTECT_PATHS | Jamf Protect 사용자 지정 분석 탐지 디렉토리 (macOS) |
STORY_PATHS | Splunk 분석 스토리 디렉토리 (선택 사항) |
ATTACK_STIX_PATH | 위협 행위자 데이터를 위한 enterprise-attack.json 경로 (선택 사항) |
클라이언트별 전체 구성 예시(Cursor, VS Code, Claude Desktop, WSL)는 설정 가이드를 참조하세요.
스파스 체크아웃으로 모든 소스 다운로드 (규칙만, 전체 리포지토리 아님):
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
| 도구 | 설명 |
|---|---|
search(query, limit) | 모든 탐지 필드에 대한 전체 텍스트 검색 |
get_by_id(id) | ID로 단일 탐지 조회 |
list_all(limit, offset) | 모든 탐지의 페이지별 목록 |
list_by_source(source_type) | 소스별 필터 (sigma, splunk_escu, elastic, kql, sublime, crowdstrike_cql, jamf_protect) |
get_stats() | 인덱스 통계 |
rebuild_index() | 설정된 경로에서 강제 재인덱싱 |
| 도구 | 설명 |
|---|---|
list_by_mitre(technique_id) | 기술 ID로 필터 (예: T1059.001) |
list_by_mitre_tactic(tactic) | 전술로 필터 (실행, 지속 등) |
list_by_cve(cve_id) | CVE에 대한 탐지 찾기 |
list_by_process_name(process_name) | 프로세스를 참조하는 탐지 찾기 |
list_by_severity(level) | 심각도 수준으로 필터 |
list_by_data_source(data_source) | 데이터 소스로 필터 |
| 도구 | 설명 |
|---|---|
analyze_coverage(source_type?) | 전술별 적용 범위 통계, 상위 기술, 취약 지점 (~2KB) |
identify_gaps(threat_profile) | 랜섬웨어, APT, 지속성 등에 대한 갭 찾기 (~500B) |
suggest_detections(technique_id) | 기술에 대한 탐지 아이디어 (~2KB) |
get_coverage_summary(source_type?) | 전술 백분율 (~200B) |
analyze_actor_coverage(actor) | 특정 위협 행위자에 대한 적용 범위 |
compare_actor_coverage(actors) | 여러 행위자 간 적용 범위 비교 |
analyze_procedure_coverage(technique_id) | 행동 절차 분석 |
generate_navigator_layer(...) | ATT&CK Navigator JSON 레이어 내보내기 |
패턴 학습, 템플릿 생성, 지식 그래프, 동적 테이블, 자율 분석을 포함한 총 81개 도구. 전체 목록은 도구 참조를 참조하세요.
11개의 사전 구축된 전문가 워크플로. 이름으로 요청하세요:
| 프롬프트 | 설명 |
|---|---|
ransomware-readiness-assessment | 위험 점수를 포함한 전체 킬 체인 분석 |
apt-threat-emulation | 특정 위협 행위자(APT29, Lazarus 등)에 대한 적용 범위 |
purple-team-exercise | 절차 및 예상 탐지를 포함한 전체 테스트 계획 |
soc-investigation-assist | 분류 지침, 헌팅 쿼리, 에스컬레이션 기준 |
detection-engineering-sprint | 사용자 스토리를 포함한 우선순위 백로그 |
executive-security-briefing | 비즈니스 위험 언어를 사용한 C레벨 보고서 |
cve-response-assessment | 신규 CVE에 대한 신속 평가 |
data-source-gap-analysis | 텔레메트리 요구사항 분석 |
detection-quality-review | 기술에 대한 심층 품질 분석 |
threat-landscape-sync | 현재 위협에 우선순위 정렬 |
detection-coverage-diff | 행위자 또는 기준선에 대한 적용 범위 비교 |
You: "APT29에 대해 apt-threat-emulation 실행"
→ 기술별 적용 범위, 갭, 퍼플 팀 테스트 계획
mitre-attack-mcp와 함께 사용하여 완전한 위협 적용 범위 분석을 수행할 수 있습니다. 둘 다 설치:
{
"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" }
}
}
}
| 소스 | 개수 |
|---|---|
| Sigma 규칙 | ~3,200+ |
| Splunk ESCU | ~2,000+ |
| Elastic 규칙 | ~1,500+ |
| KQL 쿼리 | ~420+ |
| Sublime 규칙 | ~900+ |
| CrowdStrike CQL | ~139+ |
| 합계 | ~8,200+ |
npm install && npm run build && npm test
Apache 2.0