rijul170/falcon-mcp

GitHub: rijul170/falcon-mcp

为 CrowdStrike Falcon 平台提供 MCP 协议接口的 AI 安全运营服务器,使 Claude 等 AI 助手能通过自然语言直接执行 EDR 调查、威胁狩猎和 SOC 自动化任务。

Stars: 0 | Forks: 0

![CrowdStrike Logo (Light)](https://raw.githubusercontent.com/CrowdStrike/.github/main/assets/cs-logo-light-mode.png#gh-light-mode-only) ![CrowdStrike Logo (Dark)](https://raw.githubusercontent.com/CrowdStrike/.github/main/assets/cs-logo-dark-mode.png#gh-dark-mode-only) # falcon-mcp [![PyPI 版本](https://badge.fury.io/py/falcon-mcp.svg)](https://badge.fury.io/py/falcon-mcp) [![PyPI - Python 版本](https://img.shields.io/pypi/pyversions/falcon-mcp)](https://pypi.org/project/falcon-mcp/) [![许可证: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![MCP 协议](https://img.shields.io/badge/MCP%20Protocol-2024--11--05-blue)](https://spec.modelcontextprotocol.io/) [![文档](https://img.shields.io/badge/docs-GitHub%20Pages-blue)](https://crowdstrike.github.io/falcon-mcp/) [![GitHub Stars](https://img.shields.io/github/stars/rijul170/falcon-mcp?style=social)](https://github.com/rijul170/falcon-mcp) **falcon-mcp** 是一个 Model Context Protocol (MCP) server,它赋予 AI agents —— 包括 Claude —— 直接、结构化地访问 CrowdStrike Falcon 平台的能力,以进行智能化的安全运营。 ## 它的功能 falcon-mcp 在 AI 助手和 CrowdStrike Falcon 平台之间架起了桥梁,使 SOC 分析师能够提出自然语言问题,并获得由实时 Falcon 数据支持的答案。它将 Falcon 的检测、调查、响应和情报能力作为 MCP 工具公开,因此 AI agent 可以搜索检测、在行为间进行追踪、隔离主机以及查询威胁情报——所有这些都可在一次对话中完成。专为交互式 SOC 工作流和自动化安全 pipeline 而设计,它支持 MSSP Flight Control,因此无需切换控制台即可查询多租户环境。 ## 特性 - **EDR Telemetry** — 搜索检测、行为和事件;深入查看进程执行树和命令行活动 - **Real Time Response (RTR)** — 初始化 RTR 会话,运行只读的取证命令(ps、netstat、filehash、reg query),并通过可配置的安全闸门执行 active responder 和管理员命令 - **Threat Intelligence** — 研究威胁行为者,查询 CrowdStrike indicators,获取 MITRE ATT&CK 报告并搜索情报报告 - **Custom IOC Management** — 搜索、创建和删除自定义 indicators of compromise;管理 IOC watchlists - **Vulnerability Management (Spotlight)** — 按主机查询 CVE 暴露情况,按严重性或 CVE ID 进行过滤,并呈现漏洞评估结果 - **Cloud Security** — Kubernetes container 可见性、容器镜像漏洞、CSPM 资产清单以及 serverless function 漏洞扫描 - **Identity Protection (IDP)** — 实体调查和基于身份的威胁分析 - **MSSP / Flight Control** — 列出并定位子 CID;为每个工具传入特定的 `member_cid`,将任何查询范围限定到特定的受管租户 - **Next-Gen SIEM (NGSIEM)** — 对 Falcon NGSIEM 执行 CQL 查询,进行基于日志的调查 - **Host Management** — 查询主机资产清单、登录历史、网络地址历史记录、设备组和在线状态 - **Firewall & Custom IOA** — 搜索和管理防火墙规则及行为检测规则组 - **Incident Management** — 跨主机关联事件、更新状态,并添加调查备注 - **Scheduled Reports** — 列出、管理和下载 Falcon 定时报告输出 - **Safety Gates** — 只读模式在注册时会抑制所有的修改类工具;单独的破坏性策略控制着主机隔离、RTR 执行和账户级别的删除操作 ## 架构 falcon-mcp 提供了两层工具: | 层级 | 模块数量 | 大致工具数量 | 默认启用 | |-------|-------------|------------------------|--------------------| | 精心挑选的手写模块 | 50 | ~392 | 是 | | 自动生成的 API wrappers (`gen_*`) | 106 | 额外约 904 | 否 (按需启用) | 默认模式会暴露精选层(约 392 个工具),这些工具涵盖了所有主要的 SOC 工作流,且具有完善的描述和易用性。可以通过设置 `FALCON_MCP_ENABLE_GENERATED=1` 来启用完整的生成层(总计约 1,296 个工具),以实现对 API 接口的完全覆盖。 ## 前置条件 - Python 3.11 或更高版本 - CrowdStrike Falcon API 凭证(Client ID 和 Client Secret),且具有你打算使用的模块所需的适当权限范围 (scopes) - [`uv`](https://docs.astral.sh/uv/)(推荐)或 `pip` ## 安装说明 ### 最快捷 — uvx(无需安装) 直接运行,无需持久安装: ``` uvx falcon-mcp ``` ### 通过 uv tool 安装(持久化) ``` uv tool install falcon-mcp ``` ### 通过 pip 安装 ``` pip install falcon-mcp ``` ### 从源码安装 ``` git clone https://github.com/CrowdStrike/falcon-mcp.git cd falcon-mcp uv sync ``` ## 配置 所有配置均由环境变量(或工作目录中的 `.env` 文件)驱动。CLI 参数与每个环境变量一一对应,当两者都设置时,以 CLI 参数为准。 | 变量 | 是否必需 | 描述 | 示例 | |---|---|---|---| | `FALCON_CLIENT_ID` | 必需 | CrowdStrike API Client ID | `abc123def456` | | `FALCON_CLIENT_SECRET` | 必需 | CrowdStrike API Client Secret | `your-client-secret` | | `FALCON_BASE_URL` | 必需 | 你所在区域的 API endpoint URL | `https://api.crowdstrike.com` | | `FALCON_MEMBER_CID` | 可选 | 用于 MSSP Flight Control 的默认子 CID;将所有查询定位到该租户 | `ABC123DEF456GHI789` | | `FALCON_MCP_TRANSPORT` | 可选 | 传输协议:`stdio`、`sse` 或 `streamable-http`(默认:`stdio`) | `streamable-http` | | `FALCON_MCP_HOST` | 可选 | HTTP 传输的绑定主机(默认:`127.0.0.1`) | `0.0.0.0` | | `FALCON_MCP_PORT` | 可选 | HTTP 传输的绑定端口(默认:`8000`) | `8000` | | `FALCON_MCP_MODULES` | 可选 | 以逗号分隔的要启用的模块列表;忽略此项则启用所有模块 | `detections,incidents,intel` | | `FALCON_MCP_ENABLE_GENERATED` | 可选 | 设置为 `1` 以加载所有 106 个自动生成的模块(共约 1,296 个工具) | `1` | | `FALCON_MCP_READONLY` | 可选 | 设置为 `true` 以在启动时抑制所有修改类工具 | `true` | | `FALCON_MCP_ALLOW_DESTRUCTIVE` | 可选 | 设置为 `true` 以启用所有破坏性工具,或指定一个以逗号分隔的特定工具名称列表以进行选择性允许 | `falcon_perform_host_action,falcon_execute_rtr_active_responder_command` | | `FALCON_MCP_API_KEY` | 可选 | 用于在 HTTP 传输上进行 `x-api-key` header 认证的 API key | `your-api-key` | | `FALCON_MCP_STATELESS_HTTP` | 可选 | 设置为 `true` 以启用无状态 HTTP 模式,适用于水平扩展的部署 | `true` | | `FALCON_MCP_DEBUG` | 可选 | 设置为 `true` 以启用详细的调试日志 | `true` | **各区域的 base URL:** | 区域 | Base URL | |--------|----------| | US-1 | `https://api.crowdstrike.com` | | US-2 | `https://api.us-2.crowdstrike.com` | | EU-1 | `https://api.eu-1.crowdstrike.com` | | GOV-1 | `https://api.laggar.gcw.crowdstrike.com` | ## Claude Code 集成 对于 Claude Code 和其他支持持久服务器连接的 AI 开发环境,推荐使用 HTTP 模式 (streamable-http)。 **第 1 步 — 启动服务器:** ``` FALCON_CLIENT_ID=your-client-id \ FALCON_CLIENT_SECRET=your-client-secret \ FALCON_BASE_URL=https://api.crowdstrike.com \ FALCON_MCP_TRANSPORT=streamable-http \ falcon-mcp ``` **第 2 步 — 添加到 `.claude/settings.json`(项目级)或 `~/.claude/settings.json`(全局):** ``` { "mcpServers": { "falcon-mcp": { "type": "http", "url": "http://localhost:8000/mcp" } } } ``` 对于受 API key 保护的部署,请添加 header: ``` { "mcpServers": { "falcon-mcp": { "type": "http", "url": "http://localhost:8000/mcp", "headers": { "x-api-key": "your-api-key" } } } } ``` ## Claude Desktop 集成 Stdio 模式最适合 Claude Desktop。凭证直接在 MCP 服务器配置中传入。 ``` { "mcpServers": { "falcon-mcp": { "command": "uvx", "args": ["falcon-mcp"], "env": { "FALCON_CLIENT_ID": "your-client-id", "FALCON_CLIENT_SECRET": "your-client-secret", "FALCON_BASE_URL": "https://api.crowdstrike.com" } } } } ``` 如果要从 `.env` 文件加载凭证,而不是将它们嵌入到配置文件中: ``` { "mcpServers": { "falcon-mcp": { "command": "uvx", "args": ["--env-file", "/path/to/.env", "falcon-mcp"] } } } ``` ## Docker ``` # 拉取最新 image docker pull quay.io/crowdstrike/falcon-mcp:latest # 使用 .env 文件运行 (stdio transport) docker run -i --rm --env-file /path/to/.env quay.io/crowdstrike/falcon-mcp:latest # 使用 streamable-http transport 运行 docker run --rm -p 8000:8000 --env-file /path/to/.env \ quay.io/crowdstrike/falcon-mcp:latest --transport streamable-http --host 0.0.0.0 ``` 有关本地构建、自定义端口和高级配置,请参阅 [Docker 部署指南](https://crowdstrike.github.io/falcon-mcp/deployment/docker/)。 ## MSSP / 多租户使用 falcon-mcp 为 CrowdStrike Flight Control 环境提供了一流的支持。 **默认租户定位:** 设置 `FALCON_MEMBER_CID` 将所有查询路由到特定的子 CID,无需更改任何其他内容: ``` export FALCON_MEMBER_CID="CHILD_CID_HERE" ``` **按请求定位租户:** 每个接受 `member_cid` 参数的工具都可以在调用时覆盖默认值。这使得 AI agent 可以在单个会话中查询多个子租户,而无需重启服务器: **Flight Control 模块:** `flight_control` 模块提供了用于枚举所有子账户、列出 CID 组和用户组、查询 MSSP 角色分配以及管理组成员身份的工具。 **MSSP API 权限范围:** 父 CID 必须启用 Flight Control API 权限范围。通过父级查询时,不需要子 CID 的 API key。 ## 可用模块 | 模块 | 核心功能 | |--------|-----------------| | `alerts` | 搜索和管理跨所有 Falcon 告警类型的统一告警 | | `detections` | 查找和分析 EDR 检测;获取行为详情和进程树 | | `incidents` | 查询和关联安全事件;更新状态并添加调查备注 | | `hosts` | 搜索主机资产清单;获取登录历史、网络地址历史和在线状态 | | `intel` | 研究威胁行为者和恶意软件家族;查询 IOC 情报;获取 MITRE ATT&CK 报告 | | `ioc` | 搜索、创建和删除自定义 indicators of compromise | | `rtr` | 初始化 RTR 会话;执行只读、active responder 和管理员命令;管理 RTR 脚本 | | `spotlight` | 按主机或 CVE ID 查询漏洞发现;访问评估逻辑和漏洞元数据 | | `cloud` | Kubernetes container 可见性;容器镜像漏洞;CSPM 资产清单 | | `idp` | 身实体调查和身份保护分析 | | `flight_control` | MSSP Flight Control:列出子账户、CID 组、用户组和 MSSP 角色 | | `ngsiem` | 对 Falcon Next-Gen SIEM 执行 CQL 查询 | | `filevantage` | 文件完整性监控 — 查询 FIM 策略分配和更改事件 | | `discover` | 应用程序资产清单搜索;非托管和未批准资产的发现 | | `sensor_usage` | 访问和分析传感器部署及使用数据 | | `threat_graph` | 基于图的 IOC 追踪:查找哪些主机运行了特定的 hash 或连接到了特定的 IP | | `host_groups` | 管理设备组:创建、更新和查询主机组成员身份 | | `firewall` | 搜索和管理防火墙规则及规则组 | | `custom_ioa` | 创建和管理 Custom IOA 行为检测规则及规则组 | | `serverless` | 搜索 serverless function 中的漏洞 | | `scheduled_reports` | 列出、管理和下载定时报告执行情况 | 有关每个模块所需的 API 权限范围,请参阅 [模块概览](https://crowdstrike.github.io/falcon-mcp/modules/overview/)。 ## SOC 快速入门 一旦服务器运行并连接到 Claude,你就可以立即开始调查。示例提示词: **对新检测进行分类:** **调查特定检测:** **隔离受感染的主机:** **基于 IOC 进行追踪:** **MSSP 跨租户告警摘要:** **确定漏洞优先级:** ## macOS 持久化运行 要在 macOS 上将 falcon-mcp 作为持久的后台服务运行,`examples/` 目录中提供了一个示例 launchd plist。使用以下命令加载它: ``` launchctl load ~/Library/LaunchAgents/com.crowdstrike.falcon-mcp.plist ``` 有关完整的 plist 模板和配置说明,请参阅 `examples/` 目录。 ## 云部署 - [Amazon Bedrock AgentCore](https://crowdstrike.github.io/falcon-mcp/deployment/amazon-bedrock/) - [Google Cloud Run / Vertex AI](./examples/adk/README.md) ## 安全注意事项 **只读模式:** 对于不需要写入权限的环境,请设置 `FALCON_MCP_READONLY=true`。这会在注册时抑制所有的修改类工具——无论什么,它们都不会暴露给 AI agent。 **破坏性操作闸门:** 即使启用了写入权限,被标记为破坏性的工具(主机隔离、RTR 命令执行、账户级别的删除)默认也会被抑制。请通过 `FALCON_MCP_ALLOW_DESTRUCTIVE` 显式启用它们。推荐的做法是指定一个以逗号分隔的特定工具名称列表,而不是直接设置为 `true`(后者会武装所有约 119 个破坏性工具): ``` # 仅启用 host containment 和 RTR active responder FALCON_MCP_ALLOW_DESTRUCTIVE=falcon_perform_host_action,falcon_batch_execute_active_responder_command ``` **API 凭证权限范围控制:** 为 falcon-mcp 创建专用的 Falcon API client,仅包含你的用例所需的权限范围。不要重复使用管理员级别的 API key。有关每个模块所需的最低权限范围,请查阅 [模块概览](https://crowdstrike.github.io/falcon-mcp/modules/overview/)。 **凭证存储:** 切勿将 API 凭证嵌入到提交到源代码控制的 MCP 配置文件中。请使用环境变量、位于存储库根目录之外的 `.env` 文件或密钥管理器。对于跨用户共享的 HTTP 传输,启用 `FALCON_MCP_API_KEY` 以要求在 MCP 层除 Falcon API 身份验证之外再进行一次身份验证。 **网络暴露:** 默认的 HTTP 绑定地址是 `127.0.0.1`。在不受信任的网络环境中,如未启用 API key 身份验证,请勿绑定到 `0.0.0.0`。 ## 相关的 MCP 服务器 这三个服务器涵盖了安全栈的互补层——网络/日志(AlertLogic)、端点保护(Sophos)和 EDR/威胁情报(CrowdStrike)。将它们结合使用,可实现全栈的 AI 驱动 SOC 运营。 | 服务器 | 平台 | 亮点 | |--------|----------|------------| | [falcon-mcp](https://github.com/rijul170/falcon-mcp) | CrowdStrike Falcon | EDR Telemetry,RTR,威胁情报,MSSP Flight Control,1,296 个工具 | | [sophos-central-mcp](https://github.com/rijul170/sophos-central-mcp) | Sophos Central | 端点隔离,Live Discover SQL,XDR,电子邮件/防火墙/DNS,334 个工具 | | [alertlogic-mcp](https://github.com/rijul170/alertlogic-mcp) | Alert Logic MDR | 事件响应,SQL 日志搜索,SOAR,漏洞管理,473 个工具 | ## 许可证 本项目基于 MIT 许可证授权。有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
标签:AI代理, CrowdStrike Falcon, EDR, MCP协议, 安全运营, 扫描框架, 脆弱性评估, 请求拦截, 逆向工具