Skip to main content
Glama
jx888-max

Cyber Sentinel MCP Server

by jx888-max
README.md
# ๐Ÿ›ก๏ธ Cyber Sentinel MCP Server

A comprehensive threat intelligence aggregation MCP (Model Context Protocol) server that provides unified access to multiple threat intelligence sources for security analysis.

## ๐ŸŽฏ Overview

Cyber Sentinel eliminates the tedious manual process of querying multiple threat intelligence sources by providing a single, unified interface. Security analysts can now analyze indicators (IPs, domains, hashes, URLs) across multiple sources with a single command, getting aggregated results with confidence scoring.

## โœจ Features

### ๐Ÿ” Threat Intelligence
- **Multi-Source Intelligence**: Aggregates data from VirusTotal v3, AbuseIPDB, URLhaus, Shodan, ThreatFox, and MalwareBazaar
- **Smart Indicator Detection**: Automatically detects IP addresses, domains, file hashes, and URLs
- **Intelligent Aggregation**: Combines results from multiple sources with confidence scoring
- **Async Performance**: High-performance concurrent processing
- **Smart Caching**: Reduces API calls and improves response times (1-hour TTL)
- **Rate Limiting**: Respects API limits across all sources (60 req/min default)
- **Error Recovery**: Graceful handling of API failures and timeouts

### ๐Ÿ›ก๏ธ Code Security Analysis
- **Multi-Language Support**: Analyzes Python, JavaScript, Java, C#, PHP, Go, Rust, C++, and SQL code
- **Vulnerability Detection**: Identifies hardcoded secrets, SQL injection, XSS, path traversal, and more
- **Network Indicator Analysis**: Extracts and analyzes IPs, domains, and URLs found in code
- **Secure Alternatives**: Provides secure coding recommendations and alternatives
- **Risk Scoring**: Calculates comprehensive security risk scores

### ๐Ÿ“ฆ Dependency Security
- **Multi-Platform Support**: Scans NPM, Python, Maven, Cargo, Go, and Composer dependencies
- **Vulnerability Detection**: Identifies known malicious packages and outdated dependencies
- **Security Recommendations**: Provides actionable security improvement suggestions
- **Risk Assessment**: Comprehensive dependency risk scoring

### ๐Ÿณ Infrastructure Security
- **Docker Security**: Analyzes Dockerfile configurations for security best practices
- **Kubernetes Security**: Scans K8s manifests for security misconfigurations
- **CI/CD Integration**: Provides security analysis for DevOps pipelines

### ๐Ÿ“Š Reporting & Visualization
- **Rich Reports**: Generates comprehensive security analysis reports
- **Visual Dashboards**: Creates security metrics and trend visualizations
- **Export Options**: Supports multiple output formats (JSON, HTML, PDF)
- **MCP Protocol**: Full compatibility with MCP-enabled AI assistants

## ๐Ÿš€ Quick Start

### Prerequisites

- Python 3.8 or higher
- MCP-compatible client (Claude Desktop, Cursor, etc.)

### Installation

1. **Clone the repository**:
```bash
git clone https://github.com/jx888-max/cyber-sentinel-mcp.git
cd cyber-sentinel-mcp
```

2. **Install dependencies**:
```bash
pip install -e .
```

3. **้…็ฝฎAPIๅฏ†้’ฅ**:
```bash
# ่ฟ่กŒ่ฎพ็ฝฎๅ‘ๅฏผ
python -m cyber_sentinel.setup_wizard

# ๆˆ–่€…็›ดๆŽฅ่ฎพ็ฝฎ็Žฏๅขƒๅ˜้‡
export VIRUSTOTAL_API_KEY=your_virustotal_api_key_here
export ABUSEIPDB_API_KEY=your_abuseipdb_api_key_here
```

4. **Verify installation**:
```bash
python -c "from cyber_sentinel.server import app; print('โœ… Installation successful!')"
```

### API Key Setup

#### VirusTotal (Highly Recommended)
- **Free Tier**: 1,000 requests/day
- **Capabilities**: IP, domain, hash, and URL analysis
1. Visit [VirusTotal](https://www.virustotal.com/gui/join-us)
2. Create a free account
3. Get your API key from the API section
4. Add to `.env`: `VIRUSTOTAL_API_KEY=your_key_here`

#### AbuseIPDB (Highly Recommended)
- **Free Tier**: 1,000 requests/day
- **Capabilities**: IP address reputation and abuse reporting
1. Visit [AbuseIPDB](https://www.abuseipdb.com/register)
2. Create a free account
3. Get your API key from the account settings
4. Add to `.env`: `ABUSEIPDB_API_KEY=your_key_here`

#### Shodan (Optional)
- **Free Tier**: 100 results/month
- **Capabilities**: Internet-connected device intelligence
1. Visit [Shodan](https://account.shodan.io/)
2. Create an account and get your API key
3. Add to `.env`: `SHODAN_API_KEY=your_key_here`

#### URLhaus (No API Key Required)
- **Free**: Works without API key for basic usage
- **Capabilities**: Malware URL and payload tracking

## ๐Ÿ”ง MCP Client Configuration

### Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
  "mcpServers": {
    "cyber-sentinel": {
      "command": "python",
      "args": ["-m", "cyber_sentinel.server"],
      "cwd": "/path/to/cyber-sentinel",
      "env": {
        "VIRUSTOTAL_API_KEY": "your_virustotal_key",
        "ABUSEIPDB_API_KEY": "your_abuseipdb_key",
        "SHODAN_API_KEY": "your_shodan_key"
      }
    }
  }
}
```

### Cursor/VS Code
Add to your MCP configuration:
```json
{
  "mcp.servers": {
    "cyber-sentinel": {
      "command": ["python", "-m", "cyber_sentinel.server"],
      "cwd": "/path/to/cyber-sentinel",
      "env": {
        "VIRUSTOTAL_API_KEY": "your_virustotal_key",
        "ABUSEIPDB_API_KEY": "your_abuseipdb_key"
      }
    }
  }
}
```

## ๐Ÿ“– Usage Examples

Once configured in your MCP client, you can use natural language to analyze security indicators:

### ๐Ÿ” Threat Intelligence Analysis
```
Analyze the IP address 8.8.8.8 for any malicious activity
Check if 1.1.1.1 is safe to use
Is google.com safe?
Check the security status of example.com
Analyze this MD5 hash: d41d8cd98f00b204e9800998ecf8427e
Is this URL safe: https://example.com/suspicious-path
Show me the status of all threat intelligence sources
```

### ๐Ÿ›ก๏ธ Code Security Analysis
```
Analyze this Python code for security vulnerabilities:
[paste your code here]

Check this JavaScript function for XSS vulnerabilities:
[paste your code here]

Scan this SQL query for injection risks:
[paste your code here]
```

### ๐Ÿ“ฆ Dependency Security Scanning
```
Scan these project dependencies for vulnerabilities:
package.json: [paste content]
requirements.txt: [paste content]

Check my Python project for outdated packages:
[provide requirements.txt content]
```

### ๐Ÿณ Infrastructure Security
```
Analyze this Dockerfile for security issues:
[paste Dockerfile content]

Check this Kubernetes deployment for security misconfigurations:
[paste K8s YAML content]
```

### ๐Ÿ“Š Security Reporting
```
Generate a comprehensive security report for my project
Create a security dashboard with current threat landscape
Export security findings to HTML report
```

## ๐Ÿ› ๏ธ Available MCP Tools

### ๐Ÿ” Threat Intelligence Tools

#### `analyze_indicator`
Analyzes security indicators across multiple threat intelligence sources.

**Supported Indicators:**
- **IP Addresses**: IPv4 addresses (e.g., `8.8.8.8`)
- **Domain Names**: Any domain (e.g., `google.com`)
- **File Hashes**: MD5, SHA1, SHA256 hashes
- **URLs**: Complete URLs (e.g., `https://example.com`)

**Returns:**
- Overall reputation (clean/malicious/unknown)
- Confidence score (0-100%)
- Results from individual threat intelligence sources
- Geographic and ISP information (for IPs)
- Detailed analysis data

#### `check_api_status`
Checks the configuration and status of all threat intelligence sources.

**Returns:**
- API key validation status
- Available capabilities per source
- Rate limiting configuration
- Overall system health

### ๐Ÿ›ก๏ธ Security Analysis Tools

#### `analyze_code_security`
Performs comprehensive security analysis of source code.

**Parameters:**
- `code_content`: Source code to analyze
- `language`: Programming language (auto-detected if not specified)
- `locale`: Output language (zh/en)

**Returns:**
- Security vulnerabilities and their severity
- Hardcoded secrets and credentials
- Network indicators found in code
- Secure coding recommendations
- Risk score and remediation guidance

#### `scan_project_dependencies`
Scans project dependencies for security vulnerabilities.

**Parameters:**
- `project_files`: Dictionary of dependency files (package.json, requirements.txt, etc.)

**Returns:**
- Known malicious packages
- Outdated dependencies with vulnerabilities
- Security recommendations
- Risk assessment and scoring

#### `analyze_docker_security`
Analyzes Docker configurations for security best practices.

**Parameters:**
- `dockerfile_content`: Dockerfile content to analyze

**Returns:**
- Security misconfigurations
- Best practice violations
- Hardening recommendations
- Risk assessment

#### `scan_kubernetes_config`
Scans Kubernetes manifests for security issues.

**Parameters:**
- `k8s_manifests`: Dictionary of Kubernetes YAML files

**Returns:**
- Security policy violations
- Privilege escalation risks
- Network security issues
- Compliance recommendations

#### `generate_security_report`
Generates comprehensive security reports with visualizations.

**Parameters:**
- `analysis_results`: Combined results from security analyses
- `report_format`: Output format (json/html/markdown)

**Returns:**
- Formatted security report
- Executive summary
- Detailed findings
- Remediation roadmap

## ๐Ÿ“Š Example Response

```json
{
  "indicator": "8.8.8.8",
  "type": "ip",
  "overall_reputation": "clean",
  "confidence": 100.0,
  "sources_checked": 4,
  "sources_responded": 3,
  "malicious_sources": 0,
  "clean_sources": 3,
  "countries": ["US"],
  "isps": ["Google LLC"],
  "detailed_results": [
    {
      "source": "VirusTotal",
      "reputation": "clean",
      "malicious_count": 0,
      "total_engines": 89
    }
  ],
  "errors": [],
  "timestamp": "2024-01-15T10:30:00Z"
}
```

## โšก Performance & Reliability

### ๐Ÿš€ High Performance
- **Async Architecture**: High-performance concurrent processing across all analysis tools
- **Smart Caching**: 1-hour TTL reduces API calls and improves response times
- **Parallel Processing**: Simultaneous analysis across multiple threat intelligence sources
- **Optimized Algorithms**: Efficient pattern matching and vulnerability detection

### ๐Ÿ›ก๏ธ Reliability & Resilience
- **Rate Limiting**: Configurable limits (default: 60 requests/minute) with intelligent throttling
- **Timeout Handling**: 30-second request timeouts prevent hanging operations
- **Error Recovery**: Graceful handling of API failures and network issues
- **Fallback Mechanisms**: Continues analysis even when some sources are unavailable
- **Retry Logic**: Automatic retry with exponential backoff for transient failures

## ๐Ÿ”’ Security & Privacy

### ๐Ÿ›ก๏ธ Data Protection
- **Zero Data Storage**: No indicators, code, or analysis results are permanently stored
- **Memory-Only Processing**: All analysis happens in memory with automatic cleanup
- **API Key Security**: Keys managed securely through environment variables and encrypted storage
- **Source Isolation**: Each threat intelligence source operates independently with isolated credentials

### ๐Ÿ” Privacy Safeguards
- **Local Processing**: Code analysis happens locally without external transmission
- **Error Isolation**: Sensitive information is never exposed in error messages or logs
- **Audit Trail**: Optional security event logging for compliance requirements
- **Data Minimization**: Only necessary data is processed and immediately discarded

## ๐Ÿงช Testing

Run the test suite to verify functionality:

```bash
# Run unit tests
python -m pytest tests/ -v

# Test with your API keys
python -c "
from cyber_sentinel.server import check_api_status
import asyncio
print(asyncio.run(check_api_status()))
"
```

## ๐Ÿ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿค Contributing

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes and add tests
4. Commit your changes (`git commit -m 'Add amazing feature'`)
5. Push to the branch (`git push origin feature/amazing-feature`)
6. Open a Pull Request

## ๐Ÿ†˜ Support

- **Issues**: [GitHub Issues](https://github.com/jx888-max/cyber-sentinel-mcp/issues)
- **Documentation**: See [llms-install.md](llms-install.md) for detailed setup
- **MCP Protocol**: [Model Context Protocol Documentation](https://modelcontextprotocol.io/)

## ๐Ÿ™ Acknowledgments

- [Anthropic](https://www.anthropic.com/) for the MCP protocol and Claude AI
- [VirusTotal](https://www.virustotal.com/) for comprehensive malware analysis
- [AbuseIPDB](https://www.abuseipdb.com/) for IP reputation intelligence
- [URLhaus](https://urlhaus.abuse.ch/) for malware URL tracking
- [Shodan](https://www.shodan.io/) for internet device intelligence
- [ThreatFox](https://threatfox.abuse.ch/) for IOC sharing platform
- [MalwareBazaar](https://bazaar.abuse.ch/) for malware sample intelligence
- [OWASP](https://owasp.org/) for security best practices and vulnerability patterns
- Open source security community for continuous threat intelligence sharing

---

**๐Ÿ›ก๏ธ Threat Intelligence, Simplified.**