Sentinel Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Sentinel Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Turn Claude into an autonomous SOC analyst.
An MCP (Model Context Protocol) server that gives Claude the ability to ingest security logs, detect anomalies using machine learning, correlate events across sources, map findings to MITRE ATT&CK, and generate incident reports -- all without leaving the chat.
| Tool | Description |
|---|---|
analyze_logs | Parse and analyze a log file for security events. Supports auth.log, syslog, firewall (UFW/iptables), and AWS CloudTrail JSON. Returns severity breakdown, event classification, and rule-based detections. |
hunt_threat | Search across all ingested log sources for a specific IOC (IP, domain, hash, username). Returns every match with timestamp and context. |
detect_anomalies | Run Isolation Forest and statistical anomaly detection. Finds unusual login hours, new IPs, brute force spikes, volume anomalies, and multivariate behavioral outliers. |
correlate_events | Cross-correlate events from multiple log sources by source IP, target host, and time window. Identifies attack chains and maps them to kill chain phases. |
map_to_mitre | Map a free-text security event description to MITRE ATT&CK techniques. Returns technique IDs, tactics, descriptions, and recommended mitigations. |
generate_report | Produce a full Markdown incident report: executive summary, severity assessment, timeline, affected assets, IOCs, MITRE mapping table, and recommended response actions. |
check_iocs | Check a list of IOCs against embedded threat intelligence. Optionally integrates with VirusTotal and AbuseIPDB when API keys are set. |
git clone https://github.com/zach-abraham/sentinel-mcp.git
cd sentinel-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"sentinel-mcp": {
"command": "/path/to/sentinel-mcp/.venv/bin/sentinel-mcp"
}
}
}claude mcp add sentinel-mcp /path/to/sentinel-mcp/.venv/bin/sentinel-mcpsentinel-mcpOnce configured, Claude can act as your SOC analyst:
Analyze authentication logs for threats:
"Analyze the auth logs from the last 24 hours. Are there any brute force attempts?"
Hunt for a suspicious IP across all sources:
"Hunt for IP 198.51.100.23 across all available logs."
Run anomaly detection with high sensitivity:
"Run anomaly detection on the auth logs with sensitivity 0.8."
Correlate events into attack chains:
"Correlate all events from the last 48 hours. Show me any attack chains."
Map an event to MITRE ATT&CK:
"Map this to MITRE: Multiple failed SSH logins followed by a successful login and immediate sudo to root."
Generate an incident report:
"Generate a full incident report for the last 24 hours."
Check indicators of compromise:
"Check these IOCs: 198.51.100.23, 203.0.113.50, evil.example.com"
Claude (LLM)
|
MCP Protocol
|
+----------+-----------+
| sentinel-mcp |
| (FastMCP Server) |
+----------+-----------+
|
+--------------------+--------------------+
| | |
+-----+------+ +------+------+ +-------+------+
| Parsers | | Detectors | | Analysis |
+-----+------+ +------+------+ +-------+------+
| auth.py | | anomaly.py | | mitre.py |
| syslog.py | | (Isolation | | (ATT&CK |
| firewall.py| | Forest) | | mapping) |
| cloudtrail | | rules.py | | reporter.py |
| generic.py | | (20 rules) | | (Markdown |
+------------+ +-------------+ | reports) |
+--------------+
|
+-----+------+
| Log Sources |
+-----+------+
| auth.log | Syslog, firewall, CloudTrail,
| syslog.log | or any text-based log format
| *.json |
+------------+| ID | Rule | Severity | MITRE Technique |
|---|---|---|---|
| RULE-001 | SSH Brute Force (5+ failures in 5 min) | HIGH | T1110.001 |
| RULE-002 | Successful Login After Brute Force | CRITICAL | T1110 |
| RULE-003 | Privilege Escalation to Root | HIGH | T1548.003 |
| RULE-004 | Unauthorized Sudo Usage | HIGH | T1548.003 |
| RULE-005 | New User Account Created | HIGH | T1136 |
| RULE-006 | User Added to Admin Group | CRITICAL | T1098 |
| RULE-007 | Port Scan (20+ unique ports) | HIGH | T1046 |
| RULE-008 | Large Outbound Transfer (>100MB) | HIGH | T1048 |
| RULE-009 | Critical Service Stopped | HIGH | T1562.001 |
| RULE-010 | Crontab Modification | HIGH | T1053.003 |
| RULE-011 | Suspicious Process Execution | CRITICAL | T1059 |
| RULE-012 | IAM Policy Modification | HIGH | T1098 |
| RULE-013 | CloudTrail Logging Disabled | CRITICAL | T1562.008 |
| RULE-014 | S3 Bucket Made Public | CRITICAL | T1530 |
| RULE-015 | AWS Root Account Usage | CRITICAL | T1078.004 |
| RULE-016 | Security Group Opened to 0.0.0.0/0 | CRITICAL | T1562.007 |
| RULE-017 | Credential Stuffing (5+ usernames) | HIGH | T1110.004 |
| RULE-018 | Impossible Travel | HIGH | T1078 |
| RULE-019 | Password Spray | HIGH | T1110.003 |
| RULE-020 | Reverse Shell Indicator | CRITICAL | T1059 |
| Method | What It Finds |
|---|---|
| Unusual Hour Detection | Logins outside business hours (configurable by sensitivity) |
| New IP Detection | Source IPs appearing only in the latter half of logs |
| Brute Force Detection | Failed authentication rate spikes within sliding time windows |
| Volume Spike Detection | Hourly event counts exceeding statistical thresholds (z-score) |
| Isolation Forest | Multivariate behavioral anomalies across hour, event type, IP frequency, and failure indicators |
The embedded technique database covers 20+ techniques across these tactics:
| Tactic | Example Techniques |
|---|---|
| Initial Access | T1078 Valid Accounts, T1190 Exploit Public-Facing App, T1133 External Remote Services |
| Execution | T1059 Command and Scripting Interpreter |
| Persistence | T1136 Create Account, T1098 Account Manipulation, T1053 Scheduled Task, T1505 Server Software Component |
| Privilege Escalation | T1548 Abuse Elevation Control, T1078.004 Cloud Accounts |
| Defense Evasion | T1562 Impair Defenses, T1027 Obfuscated Files, T1070 Indicator Removal |
| Credential Access | T1110 Brute Force, T1003 OS Credential Dumping |
| Discovery | T1046 Network Service Discovery |
| Lateral Movement | T1021 Remote Services |
| Collection | T1530 Data from Cloud Storage |
| Exfiltration | T1048 Exfiltration Over Alternative Protocol |
| Command and Control | T1071 Application Layer Protocol, T1105 Ingress Tool Transfer |
The included sample data (data/sample_logs/) contains a realistic multi-stage attack:
deploy credentialssudo /bin/bash to rootsvc_backup created, added to sudo group, crontab modifiedRunning generate_report against this sample data produces a comprehensive incident report identifying all eight phases.
| Variable | Purpose |
|---|---|
SENTINEL_LOG_DIRS | Colon-separated list of additional log directories to search during threat hunts |
VIRUSTOTAL_API_KEY | Enable VirusTotal lookups in check_iocs |
ABUSEIPDB_API_KEY | Enable AbuseIPDB lookups in check_iocs |
Custom log parsers: Subclass the generic parser or add new parsers to src/sentinel_mcp/parsers/.
Custom detection rules: Add rules to the _build_rules() method in src/sentinel_mcp/detectors/rules.py. Each rule is a function that takes a list of event dicts and returns Detection objects.
Additional MITRE techniques: Add entries to data/mitre_attack.json following the existing schema. The mapper loads external JSON and merges it with the built-in database.
python -m pytest tests/ -v77 tests covering parsers, detectors, MITRE mapping, report generation, and all MCP tool functions.
This project demonstrates practical application of several security engineering disciplines:
| Skill | Implementation |
|---|---|
| Log Analysis & SIEM Engineering | Five format-specific parsers handling auth.log, syslog, iptables/UFW, CloudTrail JSON, and generic text logs. Regex-based extraction with graceful handling of malformed input. |
| Threat Detection Engineering | 20 detection rules modeled after Sigma rule format, covering credential attacks, privilege escalation, persistence, defense evasion, and cloud security misconfigurations. |
| Machine Learning for Security | Isolation Forest anomaly detection with configurable sensitivity, combined with statistical methods (z-score volume analysis, sliding window brute force detection). |
| MITRE ATT&CK Framework | Keyword-indexed technique database covering 20+ techniques across 11 tactics. Automated mapping from raw events to technique IDs with mitigation recommendations. |
| Incident Response | Automated report generation following IR best practices: executive summary, timeline reconstruction, IOC extraction, affected asset enumeration, and prioritized response actions. |
| Attack Chain Correlation | Cross-source event correlation that groups events by source IP and time window, then maps event sequences to kill chain phases (reconnaissance through exfiltration). |
| Cloud Security | CloudTrail log analysis detecting IAM abuse, S3 exposure, security group misconfigurations, logging tampering, and root account usage. |
| MCP/Tool-Use Integration | Clean implementation of the Model Context Protocol, enabling an LLM to autonomously investigate security incidents using structured tools. |
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.