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.
Files changed (2) hide show
  1. package/README.md +91 -0
  2. 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
  [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](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": "2.1.1",
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",