Securityinfrastructure

Securityinfrastructure

🚀 安全基础设施MCP服务器

这是一个全面的 安全 MCP(模型上下文协议)服务器实现集合,专为安全平台集成而设计,具备企业级的安全强化措施,旨在解决安全平台集成中的安全问题,为企业提供可靠的安全保障。

🚀 快速开始

安装

# 1. 克隆仓库
git clone https://github.com/jmstar85/SecurityInfrastructure.git
cd SecurityInfrastructure

# 2. 安装安全依赖项
pip install -r requirements.txt

# 3. 安全配置凭证
cp .env.example .env
# 编辑 .env 文件,填入你的平台凭证(详见安全指南)

# 4. 添加到 Claude Desktop 配置
# 将 config-example.json 的内容复制到你的 Claude Desktop 配置文件中
# 位置:~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
# 使用你的安全值更新路径和环境变量

安全配置

# 验证配置安全性
python -c "
import json
with open('.env', 'r') as f:
content = f.read()
if 'REPLACE_WITH_YOUR' in content:
print('⚠️  请更新 .env 文件中的占位凭证')
else:
print('✅ 配置似乎已自定义')
"

# 测试服务器安全性
python src/splunk_server.py        # 在 localhost:8080 运行
python src/crowdstrike_server.py   # 在 localhost:8081 运行
python src/misp_server.py          # 在 localhost:8082 运行

✨ 主要特性

🛡️ 安全至上的设计

本项目经过全面的安全强化,以解决关键漏洞并实施安全最佳实践:

安全改进(最新更新)

  • 🔴 高严重级修复
    • 通过查询清理和危险命令阻止来防止 SPL 注入
    • 使用 defusedxml 进行安全的 XML 解析,防止 XXE 攻击
    • 从所有配置文件中彻底移除硬编码凭证
  • 🟡 中严重级修复
    • 为所有 API 通信强制使用 TLS 1.2+ 和强密码套件
    • 在所有服务器上进行全面的输入验证和清理
    • 防止命令执行风险和注入攻击
    • 清理错误消息,防止信息泄露
  • 🔵 额外的安全特性
    • 通过模式匹配防止 FQL/SPL 注入攻击
    • 强制进行 SSL 证书验证
    • 对 API 响应进行数据清理
    • 提供带有安全占位符的安全配置模板
    • 全面的 .gitignore 文件,防止凭证暴露

🔒 安全文档

请参阅 SECURITY.md 以获取全面的安全指南、配置最佳实践和漏洞报告程序。

🔐 支持的平台

Splunk SIEM

  • 安全的 SPL 查询执行:执行搜索处理语言查询,防止注入攻击
  • 事件搜索:通过清理后的过滤条件搜索所有索引中的安全事件
  • 基于时间的分析:验证时间范围和自定义时间窗口
  • 异步作业管理:创建和监控搜索作业,并安全地检索结果
  • JSON 结果格式:结构化输出,过滤敏感数据

CrowdStrike EDR

  • 安全的检测搜索:使用经过验证的 FQL(Falcon 查询语言)查询检测结果
  • 检测详情:检索清理后的检测摘要和元数据
  • OAuth 2.0 认证:通过适当的令牌管理实现安全的 API 访问
  • 输入验证:全面的参数验证和白名单机制
  • 实时威胁数据:通过安全过滤访问最新的端点检测数据

Microsoft MISP

  • 事件搜索:通过输入清理和验证查询 MISP 事件
  • IOC 属性搜索:搜索指标时防止 XSS 和注入攻击
  • 多格式支持:通过内容验证处理各种 IOC 类型
  • SSL 安全:强制进行证书验证,并显示安全警告
  • RESTful API 集成:支持安全的 MISP REST API,清理错误信息

💻 使用示例

基础用法

一旦与 Claude Desktop 进行安全配置后,你可以使用自然语言与安全平台进行交互:

Splunk SIEM 查询(防注入)

"搜索过去 6 小时内失败的 SSH 登录尝试"
"查找来自 IP 192.168.1.100 的所有认证事件"
"显示昨天的高优先级安全警报"
"搜索安全索引中包含 '恶意软件' 的事件"

CrowdStrike EDR 查询(经过验证)

"显示今天所有高严重级别的检测结果"
"查找具有行为模式的端点检测结果"
"按创建时间列出最近的检测结果"
"搜索特定主机名上的检测结果"

MISP 威胁情报(经过清理)

"搜索与特定威胁行为者相关的事件"
"查找所有 IP 地址的威胁指标"
"查找上周的域名威胁指标"
"搜索已发布的关于网络钓鱼的威胁情报事件"

高级用法

Splunk SIEM 工具(安全强化)

  • search-events:执行经过清理的 SPL 查询,防止注入攻击
# 示例:安全搜索失败的登录尝试
query = "index=security sourcetype=auth action=failure"  # 自动清理
earliest_time = "-24h"  # 验证时间格式

CrowdStrike EDR 工具(安全强化)

  • search-detections:使用 FQL 验证和白名单机制查询检测结果
# 示例:安全搜索高严重级别的检测结果
filter_query = "max_severity:'high'"  # 根据注入模式进行验证
sort = "created_timestamp.desc"  # 仅使用白名单中的排序选项

MISP 工具(安全强化)

  • search-events:通过输入清理查询威胁情报
  • search-attributes:搜索 IOC 时防止 XSS 和注入攻击
# 示例:安全搜索基于 IP 的 IOC
type = "ip-dst"  # 输入经过清理和验证
category = "Network activity"  # 过滤内容以确保安全

🔧 技术细节

MCP 服务器工具

Splunk SIEM 工具(安全强化)

  • search-events:执行经过清理的 SPL 查询,防止注入攻击

CrowdStrike EDR 工具(安全强化)

  • search-detections:使用 FQL 验证和白名单机制查询检测结果

MISP 工具(安全强化)

  • search-events:通过输入清理查询威胁情报
  • search-attributes:搜索 IOC 时防止 XSS 和注入攻击

优化的项目结构

SecurityInfrastructure/
├── src/                    # 安全的 MCP 服务器实现
│   ├── splunk_server.py    # Splunk SIEM 集成(强化)
│   ├── crowdstrike_server.py # CrowdStrike EDR 集成(强化)
│   └── misp_server.py      # Microsoft MISP 集成(强化)
├── config/                 # 安全的配置模板
│   ├── mcp-settings.json   # MCP 客户端配置(清理后)
│   └── splunk.yaml         # Splunk 配置模板
├── tests/                  # 安全验证测试
├── SECURITY.md             # 安全指南和最佳实践
├── config-example.json     # 安全配置模板
├── .env.example            # 环境变量模板(安全)
├── .gitignore              # 全面的凭证保护
├── requirements.txt        # 最小化的安全依赖项
├── INSTALLATION.md         # 详细的设置指南
├── setup-guide.md          # 快速设置模板
└── docker-compose.yml      # 容器配置

注意:已移除前端组件、不必要的 Node.js 文件和开发工件,以减少攻击面并优化安全态势。

安全的 MCP 客户端配置

Claude Desktop 设置(安全)

配置文件位置

  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows%APPDATA%\Claude\claude_desktop_config.json

安全配置模板

{
"mcpServers": {
"security-infrastructure-splunk": {
"command": "python",
"args": ["/FULL/PATH/TO/SecurityInfrastructure/src/splunk_server.py"],
"env": {
"SPLUNK_HOST": "REPLACE_WITH_YOUR_SPLUNK_HOST",
"SPLUNK_TOKEN": "REPLACE_WITH_YOUR_API_TOKEN",
"SPLUNK_VERIFY_SSL": "true"
}
}
}
}

⚠️ 重要提示

切勿将真实凭证提交到版本控制系统。请使用提供的模板,并将占位符替换为实际值。

安全特性

核心安全实现

  • 输入验证:对所有用户输入进行全面的清理和验证
  • 注入防护:防止 SPL、FQL、SQL 和 XSS 注入攻击
  • 安全通信:强制使用 HTTPS/TLS 1.2+ 和强密码套件
  • 错误清理:使用通用错误消息,防止信息泄露
  • 认证安全:通过适当的验证实现安全的令牌/凭证处理

安全架构

  • 多种认证方法:基于会话、基于令牌和 OAuth 2.0,默认采用安全设置
  • SSL/TLS 强制:对所有连接强制进行证书验证
  • API 安全:实施速率限制、超时强制和连接池限制
  • 配置安全:使用安全模板、凭证掩码和 .gitignore 保护

数据保护

  • 输出清理:从 API 响应中移除敏感字段
  • 凭证管理:不使用硬编码的机密信息,保护环境变量
  • 日志安全:在日志和审计跟踪中过滤敏感数据
  • 会话管理:设置适当的令牌过期时间和安全存储

安全验证

本项目包含全面的安全验证:

# 运行安全验证测试
python -m pytest tests/ -v

# 验证配置安全性
python -c "
import os
config_files = ['.env', 'config/mcp-settings.json']
for f in config_files:
if os.path.exists(f):
with open(f) as file:
content = file.read()
if 'REPLACE_WITH_YOUR' in content:
print(f'⚠️  {f} 包含占位凭证')
else:
print(f'✅ {f} 似乎已配置')
"

安全指标

  • 漏洞状态:所有高和中严重级别的问题已解决
  • 安全覆盖率:83% 的安全验证测试通过
  • 代码质量:全面的输入验证和错误处理
  • 攻击面:通过移除组件和优化最小化

📚 详细文档

要求

  • Python 3.11+
  • 安全平台的安全访问凭证(配置正确)
  • 兼容 MCP 的客户端(推荐使用 Claude Desktop)
  • 用于生产部署的 SSL/TLS 证书

安全凭证管理

Splunk SIEM(安全设置)

  • API 令牌(强烈推荐),并具有最小必要权限
  • 需要验证 HTTPS 端点
  • 搜索权限 仅限于必要的索引

CrowdStrike EDR(安全设置)

  • 客户端 ID客户端密钥,遵循最小权限原则
  • API 权限:检测(只读),范围有限
  • 验证 基础 URL 并强制使用 HTTPS

Microsoft MISP(安全设置)

  • API 密钥,尽可能具有只读权限
  • MISP 实例 URL,进行 SSL 证书验证
  • 配置 超时设置 以确保安全

贡献

  1. 分叉仓库
  2. 创建功能分支 (git checkout -b feature/security-enhancement)
  3. 遵循 SECURITY.md 中的安全指南
  4. 为新功能添加安全测试
  5. 提交时进行安全验证 (git commit -am '添加安全功能')
  6. 推送到分支 (git push origin feature/security-enhancement)
  7. 创建包含安全审查清单的拉取请求

安全资源

安全报告

如果你发现安全漏洞,请:

  1. 不要 创建公开问题
  2. 将安全细节通过电子邮件发送给维护者
  3. 在披露之前给修复留出合理的时间
  4. 遵循负责任的披露实践

📄 许可证

本项目用于安全研究和教育目的,重点关注安全实现实践。


如果你觉得这个安全实现很有用,请给它点个星!

最新安全更新:2024 年 12 月 - 全面的安全强化,修复漏洞并进行优化。

  • 0 关注
  • 0 收藏,41 浏览
  • system 提出于 2025-09-29 23:27

相似服务问题

相关AI产品