🚀 網絡哨兵MCP服務器
網絡哨兵MCP服務器是一款全面的威脅情報聚合MCP(模型上下文協議)服務器,它為安全分析提供了對多個威脅情報源的統一訪問,解決了安全分析中多源數據獲取的難題,提升了分析效率和準確性。
🚀 快速開始
前提條件
- Python 3.8 或更高版本
- 兼容MCP的客戶端(如Claude Desktop、Cursor等)
安裝步驟
- 克隆倉庫:
git clone https://github.com/jx888-max/cyber-sentinel-mcp.git
cd cyber-sentinel-mcp
- 安裝依賴:
pip install -e .
- 配置API密鑰:
python -m cyber_sentinel.setup_wizard
export VIRUSTOTAL_API_KEY=your_virustotal_api_key_here
export ABUSEIPDB_API_KEY=your_abuseipdb_api_key_here
- 驗證安裝:
python -c "from cyber_sentinel.server import app; print('✅ 安裝成功!')"
API密鑰設置
VirusTotal(強烈推薦)
- 免費套餐:每天1000次請求
- 功能:IP、域名、哈希和URL分析
- 訪問 VirusTotal
- 創建免費賬戶
- 從API部分獲取API密鑰
- 添加到
.env 文件:VIRUSTOTAL_API_KEY=your_key_here
AbuseIPDB(強烈推薦)
- 免費套餐:每天1000次請求
- 功能:IP地址信譽和濫用報告
- 訪問 AbuseIPDB
- 創建免費賬戶
- 從賬戶設置中獲取API密鑰
- 添加到
.env 文件:ABUSEIPDB_API_KEY=your_key_here
Shodan(可選)
- 訪問 Shodan
- 創建賬戶並獲取API密鑰
- 添加到
.env 文件:SHODAN_API_KEY=your_key_here
URLhaus(無需API密鑰)
- 免費:基本使用無需API密鑰
- 功能:惡意軟件URL和有效負載跟蹤
✨ 主要特性
🔍 威脅情報
- 多源情報:聚合來自VirusTotal v3、AbuseIPDB、URLhaus、Shodan、ThreatFox和MalwareBazaar的數據
- 智能指標檢測:自動檢測IP地址、域名、文件哈希和URL
- 智能聚合:結合多個源的結果並進行置信度評分
- 異步性能:高性能併發處理
- 智能緩存:減少API調用並提高響應時間(1小時TTL)
- 速率限制:遵守所有源的API限制(默認60請求/分鐘)
- 錯誤恢復:優雅處理API故障和超時
🛡️ 代碼安全分析
- 多語言支持:分析Python、JavaScript、Java、C#、PHP、Go、Rust、C++和SQL代碼
- 漏洞檢測:識別硬編碼秘密、SQL注入、XSS、路徑遍歷等
- 網絡指標分析:提取並分析代碼中發現的IP、域名和URL
- 安全替代方案:提供安全編碼建議和替代方案
- 風險評分:計算全面的安全風險評分
📦 依賴安全
- 多平臺支持:掃描NPM、Python、Maven、Cargo、Go和Composer依賴
- 漏洞檢測:識別已知惡意包和過時依賴
- 安全建議:提供可操作的安全改進建議
- 風險評估:全面的依賴風險評分
🐳 基礎設施安全
- Docker安全:分析Dockerfile配置以遵循安全最佳實踐
- Kubernetes安全:掃描K8s清單以查找安全配置錯誤
- CI/CD集成:為DevOps管道提供安全分析
📊 報告與可視化
- 豐富報告:生成全面的安全分析報告
- 可視化儀表板:創建安全指標和趨勢可視化
- 導出選項:支持多種輸出格式(JSON、HTML、PDF)
- MCP協議:與支持MCP的AI助手完全兼容
🔧 MCP客戶端配置
Claude Desktop
添加到 claude_desktop_config.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
添加到MCP配置文件:
{
"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"
}
}
}
}
💻 使用示例
🔍 威脅情報分析
分析IP地址8.8.8.8是否存在惡意活動
檢查1.1.1.1是否安全可用
google.com是否安全?
檢查example.com的安全狀態
分析此MD5哈希:d41d8cd98f00b204e9800998ecf8427e
此URL是否安全:https://example.com/suspicious-path
顯示所有威脅情報源的狀態
🛡️ 代碼安全分析
分析此Python代碼的安全漏洞:
[paste your code here]
檢查此JavaScript函數是否存在XSS漏洞:
[paste your code here]
掃描此SQL查詢是否存在注入風險:
[paste your code here]
📦 依賴安全掃描
掃描這些項目依賴的漏洞:
package.json: [paste content]
requirements.txt: [paste content]
檢查我的Python項目是否有過時的包:
[provide requirements.txt content]
🐳 基礎設施安全
分析此Dockerfile的安全問題:
[paste Dockerfile content]
檢查此Kubernetes部署是否存在安全配置錯誤:
[paste K8s YAML content]
📊 安全報告
為我的項目生成全面的安全報告
創建具有當前威脅態勢的安全儀表板
將安全發現導出為HTML報告
🛠️ 可用的MCP工具
🔍 威脅情報工具
analyze_indicator
跨多個威脅情報源分析安全指標。
支持的指標:
- IP地址:IPv4地址(如
8.8.8.8)
- 域名:任何域名(如
google.com)
- 文件哈希:MD5、SHA1、SHA256哈希
- URL:完整的URL(如
https://example.com)
返回結果:
- 總體信譽(乾淨/惡意/未知)
- 置信度評分(0 - 100%)
- 各個威脅情報源的結果
- 地理和ISP信息(針對IP)
- 詳細分析數據
check_api_status
檢查所有威脅情報源的配置和狀態。
返回結果:
- API密鑰驗證狀態
- 每個源的可用功能
- 速率限制配置
- 整體系統健康狀況
🛡️ 安全分析工具
analyze_code_security
對源代碼進行全面的安全分析。
參數:
code_content:要分析的源代碼
language:編程語言(未指定時自動檢測)
locale:輸出語言(zh/en)
返回結果:
- 安全漏洞及其嚴重程度
- 硬編碼秘密和憑據
- 代碼中發現的網絡指標
- 安全編碼建議
- 風險評分和補救指導
scan_project_dependencies
掃描項目依賴以查找安全漏洞。
參數:
project_files:依賴文件的字典(如package.json、requirements.txt等)
返回結果:
- 已知惡意包
- 存在漏洞的過時依賴
- 安全建議
- 風險評估和評分
analyze_docker_security
分析Docker配置以遵循安全最佳實踐。
參數:
dockerfile_content:要分析的Dockerfile內容
返回結果:
scan_kubernetes_config
掃描Kubernetes清單以查找安全問題。
參數:
k8s_manifests:Kubernetes YAML文件的字典
返回結果:
- 安全策略違規
- 權限提升風險
- 網絡安全問題
- 合規建議
generate_security_report
生成帶有可視化的全面安全報告。
參數:
analysis_results:安全分析的組合結果
report_format:輸出格式(json/html/markdown)
返回結果:
📊 示例響應
{
"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"
}
⚡ 性能與可靠性
🚀 高性能
- 異步架構:所有分析工具均採用高性能併發處理
- 智能緩存:1小時TTL減少API調用並提高響應時間
- 並行處理:跨多個威脅情報源同時進行分析
- 優化算法:高效的模式匹配和漏洞檢測
🛡️ 可靠性與彈性
- 速率限制:可配置的限制(默認60請求/分鐘),智能節流
- 超時處理:30秒請求超時防止掛起操作
- 錯誤恢復:優雅處理API故障和網絡問題
- 後備機制:即使某些源不可用也能繼續分析
- 重試邏輯:針對臨時故障自動重試並採用指數退避
🔒 安全與隱私
🛡️ 數據保護
- 零數據存儲:不永久存儲任何指標、代碼或分析結果
- 僅內存處理:所有分析在內存中進行並自動清理
- API密鑰安全:通過環境變量和加密存儲安全管理密鑰
- 源隔離:每個威脅情報源獨立運行,憑證隔離
🔐 隱私保護
- 本地處理:代碼分析在本地進行,無需外部傳輸
- 錯誤隔離:錯誤消息或日誌中絕不暴露敏感信息
- 審計跟蹤:可選的安全事件日誌以滿足合規要求
- 數據最小化:僅處理必要的數據並立即丟棄
🧪 測試
運行測試套件以驗證功能:
python -m pytest tests/ -v
python -c "
from cyber_sentinel.server import check_api_status
import asyncio
print(asyncio.run(check_api_status()))
"
📄 許可證
本項目採用MIT許可證 - 詳情請參閱 LICENSE 文件。
🤝 貢獻
- 分叉倉庫
- 創建功能分支 (
git checkout -b feature/amazing-feature)
- 進行更改並添加測試
- 提交更改 (
git commit -m 'Add amazing feature')
- 推送到分支 (
git push origin feature/amazing-feature)
- 打開拉取請求
🆘 支持
🙏 致謝
🛡️ 簡化威脅情報分析。