返回市场
安全基础设施

安全基础设施

作者:jmstar8520 星标更新:2025-07-07

项目介绍

安全基础设施 MCP 服务器

一套全面的安全MCP(模型上下文协议)服务器实现,用于与企业级安全加固平台集成的安全基础设施。

🛡️ 安全优先设计

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

安全改进(最新更新)

  • 🔴 高危修复:
    • 使用查询净化和危险命令阻止来防止SPL注入
    • 使用defusedxml进行安全XML解析,以防止XXE攻击
    • 从所有配置文件中完全移除硬编码凭证
  • 🟡 中危修复:
    • 强制执行TLS 1.2+及强密码套件用于所有API通信
    • 在所有服务器上进行全面的输入验证和净化
    • 防止命令执行风险和注入攻击
    • 错误消息净化以防止信息泄露
  • 🔵 其他安全特性:
    • 使用模式匹配防止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,并对错误进行净化

🚀 快速开始

安装

# 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运行

🔧 MCP服务器工具

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:搜索IOCs时防止XSS和注入攻击
    # 示例:安全搜索基于IP的IOCs
    type = "ip-dst"  # 输入净化和验证
    category = "网络活动"  # 内容过滤以确保安全
    

📁 优化的项目结构

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"
      }
    }
  }
}

⚠️ 安全提示: 切勿将真实凭证提交到版本控制。使用提供的模板并替换占位符为实际值。

💻 安全使用示例

一旦通过Claude Desktop安全配置,您可以使用自然语言与您的安全平台交互:

Splunk SIEM查询(防注入)

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

CrowdStrike EDR查询(验证)

“显示今天的所有高严重性检测”
“查找具有行为模式的终端检测”
“按创建时间列出最近的检测”
“搜索特定主机名上的检测”

MISP威胁情报(净化)

“搜索与特定威胁参与者相关的事件”
“查找所有IP地址指示器”
“查找上周的域名指示器”
“搜索关于网络钓鱼的已发布的威胁情报事件”

🛠️ 安全特性

核心安全实现

  • 输入验证:全面的用户输入净化和验证
  • 注入防护:防止SPL、FQL、SQL和XSS注入攻击
  • 安全通信:强制执行HTTPS/TLS 1.2+及强密码套件
  • 错误净化:通用错误消息以防止信息泄露
  • 认证安全:安全的令牌/凭证处理及适当验证

安全架构

  • 多种认证方法:基于会话、基于令牌和OAuth 2.0,具有安全默认设置
  • SSL/TLS强制执行:所有连接必须进行证书验证
  • API安全:速率限制、超时强制执行和连接池限制
  • 配置安全:安全模板、凭证屏蔽和.gitignore保护

数据保护

  • 输出净化:从API响应中移除敏感字段
  • 凭证管理:无硬编码秘密,环境变量保护
  • 日志安全:在日志和审计跟踪中过滤敏感数据
  • 会话管理:适当的令牌过期和安全存储

📋 要求

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

🔐 安全凭证管理

Splunk SIEM(安全设置)

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

CrowdStrike EDR(安全设置)

  • Client IDClient Secret,遵循最小权限原则
  • API权限:检测(读取),有限范围
  • 基础URL验证和HTTPS强制执行

Microsoft MISP(安全设置)

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

🧪 安全验证

此项目包括全面的安全验证:

# 运行安全验证测试
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%的安全验证测试通过
  • 代码质量:全面的输入验证和错误处理
  • 攻击面:通过组件移除和优化最小化

🤝 贡献

  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月 - 全面的安全加固,漏洞修复和优化。