安全Copilot与Sentinel MCP服务器

一个基于Python的MCP服务器,使用FastMCP库,提供与Microsoft Security Copilot和Microsoft Sentinel的集成,支持Azure身份验证。

  • by jguimera
  • Python
  • 本地部署
  • 23 星标
  • 更新于
在 GitHub 查看 jguimera/securitycopilotmcpserver

使用说明

安全副本和哨兵MCP服务器

基于Python的MCP服务器,使用FastMCP库,使用Azure身份验证提供与Microsoft Security Copilot和Microsoft Sentinel的集成。

概述

此项目实现了一个MCP服务器,该服务器支持:

  • 对Microsoft Sentinel运行KQL查询
  • 上传/更新Microsoft Security Copilot技能集/插件
  • 在Microsoft Security Copilot中运行提示和技巧

服务器充当开发环境和Microsoft Security Copilot之间的桥梁,允许测试、部署和执行技能和插件。它使用SSE作为MCP服务器的传输层。 当前集成有许多用例。其中最有趣的是支持安全副驾驶KQL技能的开发、测试和部署。

特性

  • Sentinel集成:对Sentinel工作区执行KQL查询
  • 安全副驾驶管理:
    • 列出现有技能/插件
    • 上传新的或更新现有的技能集/插件
    • 在Security Copilot中运行提示或技能
  • 身份验证支持:多种身份验证方法,包括交互式浏览器、客户端密钥和托管身份

路线图

接下来的功能将包括:

  • Promptbook测试和更新
  • 在Defender XDR中运行高级狩猎查询

先决条件

  • Python 3.8+
  • Microsoft Sentinel工作区
  • Microsoft安全副本访问
  • Sentinel和安全副本的适当Azure权限

安装

  1. 克隆存储库:

    git clone https://github.com/jguimera/SecurityCopilotMCPServer.git
    cd SecurityCopilotMCPServer
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 创建一个 .env 具有以下配置的文件:

    #Add App Reg to use ClientID and Secret authentication
    #AZURE_TENANT_ID=your_tenant_id
    #AZURE_CLIENT_ID=your_client_id
    #AZURE_CLIENT_SECRET=your_client_secret
    SENTINEL_SUBSCRIPTION_ID=your_subscription_id
    SENTINEL_RESOURCE_GROUP=your_resource_group
    SENTINEL_WORKSPACE_NAME=your_workspace_name
    SENTINEL_WORKSPACE_ID=your_workspace_id
    #Authentication Options: interactive, client_secret
    AUTHENTICATION_TYPE=interactive
    

用法

启动服务器

运行MCP服务器:

python server.py

要在启动服务器之前运行测试,请执行以下操作:

python server.py --run-tests

可用工具

MCP服务器提供以下工具:

  1. run_sentinel_query:在Sentinel中执行KQL查询
  2. get_skillsets:列出安全副驾驶中的技能
  3. upload_plugin:上传或更新技能集/插件
  4. run_prompt:在Security Copilot中运行提示或技能

游标的MCP客户端配置

您可以从您选择的客户端使用此MCP服务器。在这个仓库中,您可以找到Cursor的说明和配置文件。

在客户端项目中添加.cursor文件夹以启用MCP工具。 此文件夹包含两个文件:

  1. 游标项目规则(securitycopilotdev.mdc):此文件包含一些自定义游标规则,以帮助代理进行流程定义和理解用户提示。
  2. MCP客户端配置(MCP.json):将Cursor连接到MCP服务器的文件。

您可以使用/tool_name parameter1=“工具参数的值”直接调用该工具 例如:/run_prompt content=“列出最近有风险的用户”

更多信息:https://docs.cursor.com/context/model-context-protocol#configuring-mcp服务器

贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。