security-detections-mcp 2.1.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +91 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,8 +2,99 @@
|
|
|
2
2
|
|
|
3
3
|
An MCP (Model Context Protocol) server that lets LLMs query a unified database of **Sigma**, **Splunk ESCU**, **Elastic**, and **KQL** security detection rules.
|
|
4
4
|
|
|
5
|
+
> **New here? Start with the [Setup Guide](./SETUP.md)** -- covers macOS, Windows (WSL & native), and Linux step by step.
|
|
6
|
+
|
|
7
|
+
## What's New in 3.0 - Autonomous Detection Platform
|
|
8
|
+
|
|
9
|
+
Version 3.0 transforms this MCP into a **fully autonomous detection engineering platform**. Feed it threat intelligence, and it automatically:
|
|
10
|
+
|
|
11
|
+
1. **Extracts TTPs** from threat reports, CISA alerts, or manual input
|
|
12
|
+
2. **Analyzes coverage gaps** against your existing detections
|
|
13
|
+
3. **Generates detections** in your SIEM's native format (SPL, KQL, EQL, or Sigma)
|
|
14
|
+
4. **Runs Atomic Red Team tests** against your lab environment
|
|
15
|
+
5. **Validates detections fire** by querying your SIEM
|
|
16
|
+
6. **Exports attack data** for reproducibility
|
|
17
|
+
7. **Stages DRAFT PRs** to your detection repo (never auto-merges)
|
|
18
|
+
|
|
19
|
+
> **Multi-SIEM**: Set `SIEM_PLATFORM` to `splunk`, `sentinel`, `elastic`, or `sigma` in your `.env`. The pipeline was built on Splunk + Attack Range but adapts to any SIEM. See the **[E2E Testing Guide](./docs/E2E-TESTING-GUIDE.md)** for complete setup instructions per platform.
|
|
20
|
+
|
|
21
|
+
### Architecture: LangGraph + Cursor Subagents
|
|
22
|
+
|
|
23
|
+
The 3.0 architecture uses two complementary systems:
|
|
24
|
+
|
|
25
|
+
| Component | Purpose | Location |
|
|
26
|
+
|-----------|---------|----------|
|
|
27
|
+
| **LangGraph Pipeline** | Core autonomous workflow - portable, testable, CI/CD ready | `agents/` |
|
|
28
|
+
| **Cursor Subagents** | Interactive IDE agents for manual tasks | `.cursor/agents/` |
|
|
29
|
+
|
|
30
|
+
### Quick Start - Autonomous Mode
|
|
31
|
+
|
|
32
|
+
**Prerequisites**: Node.js 20+, an Anthropic API key. Full details in the [Setup Guide](./SETUP.md).
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Install the agents package
|
|
36
|
+
cd agents && npm install --registry https://registry.npmjs.org/
|
|
37
|
+
|
|
38
|
+
# Configure
|
|
39
|
+
cp .env.example .env
|
|
40
|
+
# Edit .env: set SIEM_PLATFORM, ANTHROPIC_API_KEY, SECURITY_CONTENT_PATH
|
|
41
|
+
|
|
42
|
+
# Test with dry run first (uses mock data, no LLM calls)
|
|
43
|
+
DRY_RUN=true npm run orchestrate -- --type technique --input "T1566.004 Spearphishing Voice"
|
|
44
|
+
|
|
45
|
+
# Run with real LLM (creates actual detections)
|
|
46
|
+
npm run orchestrate -- --type technique --input "T1566.004 Spearphishing Voice"
|
|
47
|
+
|
|
48
|
+
# Or analyze a CISA alert
|
|
49
|
+
npm run orchestrate -- --type cisa_alert --url https://www.cisa.gov/news-events/alerts/...
|
|
50
|
+
|
|
51
|
+
# Or feed it a threat report
|
|
52
|
+
npm run orchestrate -- --type threat_report --file ./report.md
|
|
53
|
+
|
|
54
|
+
# Note: Use T1566.004 for testing - it has no existing coverage so will create a detection
|
|
55
|
+
# T1003.001 has 100+ existing detections, so the pipeline will correctly skip it (no gap)
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Pipeline Stages
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
┌─────────────┐ ┌──────────────────┐ ┌────────────────────┐
|
|
62
|
+
│ CTI Analyst │───>│ Coverage Analyzer│───>│ Detection Engineer │
|
|
63
|
+
└─────────────┘ └──────────────────┘ └────────────────────┘
|
|
64
|
+
│
|
|
65
|
+
▼
|
|
66
|
+
┌───────────┐ ┌──────────────────┐ ┌──────────────────────┐
|
|
67
|
+
│ PR Stager │<───│ Data Dumper │<───│ Splunk Validator │
|
|
68
|
+
└───────────┘ └──────────────────┘ └──────────────────────┘
|
|
69
|
+
▲
|
|
70
|
+
│
|
|
71
|
+
┌──────────────────┐
|
|
72
|
+
│ Atomic Executor │
|
|
73
|
+
└──────────────────┘
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### MCP Integration
|
|
77
|
+
|
|
78
|
+
The autonomous pipeline integrates with existing MCPs:
|
|
79
|
+
- **security-detections** - Coverage analysis and gap identification
|
|
80
|
+
- **splunk-mcp** - Detection validation (`run_detection`, `export_dump`)
|
|
81
|
+
- **mitre-attack** - Technique lookups
|
|
82
|
+
|
|
83
|
+
### Human-in-the-Loop
|
|
84
|
+
|
|
85
|
+
**CRITICAL**: The system NEVER auto-commits or auto-merges. All PRs are created as **DRAFT** requiring human review:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
[PR Stager] ✓ security_content DRAFT PR created: https://github.com/splunk/security_content/pull/123
|
|
89
|
+
[PR Stager] ✓ attack_data DRAFT PR created: https://github.com/splunk/attack_data/pull/456
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
See the [Autonomous Platform Documentation](./docs/AUTONOMOUS.md) for full details, and the [E2E Testing Guide](./docs/E2E-TESTING-GUIDE.md) for per-SIEM setup (Splunk, Sentinel, Elastic, Sigma).
|
|
93
|
+
|
|
5
94
|
[](https://cursor.com/en/install-mcp?name=security-detections&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsInNlY3VyaXR5LWRldGVjdGlvbnMtbWNwIl0sImVudiI6eyJTSUdNQV9QQVRIUyI6Ii9wYXRoL3RvL3NpZ21hL3J1bGVzLC9wYXRoL3RvL3NpZ21hL3J1bGVzLXRocmVhdC1odW50aW5nIiwiU1BMVU5LX1BBVEhTIjoiL3BhdGgvdG8vc2VjdXJpdHlfY29udGVudC9kZXRlY3Rpb25zIiwiU1RPUllfUEFUSFMiOiIvcGF0aC90by9zZWN1cml0eV9jb250ZW50L3N0b3JpZXMiLCJFTEFTVElDX1BBVEhTIjoiL3BhdGgvdG8vZGV0ZWN0aW9uLXJ1bGVzL3J1bGVzIiwiS1FMX1BBVEhTIjoiL3BhdGgvdG8va3FsLXJ1bGVzIn19)
|
|
6
95
|
|
|
96
|
+
> **Detailed setup**: See the **[Setup Guide](./SETUP.md)** for step-by-step install on macOS, Windows (WSL & native), and Linux with troubleshooting for common issues.
|
|
97
|
+
|
|
7
98
|
## 🐛 Version 2.1.1 (Bug Fix)
|
|
8
99
|
|
|
9
100
|
- **Fixed Windows EBUSY crash** - SQLite database recreation now handles Windows file locking with retry logic. Previously, Windows users would get `EBUSY: resource busy or locked` on startup.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "security-detections-mcp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Advanced MCP server for security detections with Detection Engineering Intelligence, Knowledge Graph (Tribal Knowledge), Elicitation, and Resource Subscriptions",
|
|
5
5
|
"sigmaSpecVersion": "2.0.0",
|
|
6
6
|
"type": "module",
|