fairyming/suricata_mcp
GitHub: fairyming/suricata_mcp
一个基于 MCP 协议的 Suricata 规则验证服务,让 AI 助手能够自动完成规则语法校验和 pcap 流量匹配测试,加速检测规则的开发流程。
Stars: 2 | Forks: 0
# Suricata MCP
用于针对 pcap 文件验证 Suricata 规则的 MCP 服务。
## 安装
```
# 安装依赖
source /path/to/venv/bin/activate
pip install -e .
```
## 使用方法
### 运行 MCP Server
```
suricata-mcp
```
或在 Claude Desktop 配置中添加:
```
{
"mcpServers": {
"suricata": {
"command": "python",
"args": ["-m", "suricata_mcp.server"],
"env": {
"SURICATA_PATH": "/usr/local/bin/suricata"
}
}
}
}
```
## 工具
### validate_suricata_rule
验证 Suricata 规则语法是否正确。
**参数:**
- `rule_content` (string, 必需): Suricata 规则内容
### validate_suricata_rule_file
验证 Suricata 规则文件语法是否正确。
**参数:**
- `rule_path` (string, 必需): 规则文件路径
**示例:**
```
{
"rule_path": "/path/to/rules.rules"
}
```
### test_suricata_rule
测试 Suricata 规则对 pcap 文件是否生效,验证规则是否能匹配到预期告警。
**参数:**
- `rule_content` (string, 必需): Suricata 规则内容
- `pcap_path` (string, 必需): pcap 文件路径
- `expected_sid` (integer, 可选): 预期匹配的 signature ID,不提供则从规则中提取
### test_suricata_rule_file
测试 Suricata 规则文件对 pcap 文件是否生效。
**参数:**
- `rule_path` (string, 必需): 规则文件路径
- `pcap_path` (string, 必需): pcap 文件路径
- `expected_sids` (array of integers, 可选): 预期匹配的 signature IDs
## 工作流程
1. **规则语法验证**: 使用 `suricata -S -T` 验证规则语法
2. **pcap 测试**: 使用 `suricata -r -S -l ` 运行测试
3. **告警解析**: 解析 `eve.json` 中 `event_type` 为 `alert` 的记录
4. **sid 匹配**: 验证规则的 sid 与告警日志中的 `signature_id` 是否一致
## 自动编写规则
配合: https://github.com/fairyming/tshark_mcp, 可以实现自动分析,编写规则并验证



标签:AMSI绕过, Claude Desktop, MCP, MCP Server, Metaprompt, pcap, Python, Suricata, 代理支持, 告警, 威胁检测, 安全运营, 扫描框架, 无后门, 现代安全运营, 网络协议分析, 网络安全, 网络调试, 自动化, 规则测试, 规则验证, 逆向工具, 隐私保护