volatility-mcp 是一个托管在 GitHub 上的开源项目,为 Volatility 3.x 提供 MCP 服务器。其目标是将 Volatility 3 强大的内存分析能力与 FastAPI 和 Model Context Protocol(MCP)无缝集成,让内存取证不再有障碍:pslist、netscan 等插件可通过简洁的 REST API 访问,从而把内存取证产物直接连接到 AI 助手和 Web 应用。
主要能力
- Volatility 3 集成:利用 Volatility 3 框架进行内存镜像分析。
- FastAPI 后端:提供 RESTful API 与 Volatility 插件交互。
- Web 前端支持(未来功能):设计用于连接基于 Web 的前端进行交互式分析。
- Model Context Protocol(MCP):支持与 Claude Desktop 等 MCP 客户端进行标准化通信。
- 插件支持:支持多种 Volatility 插件,包括用于进程列表的 pslist 和用于网络连接分析的 netscan。
项目架构 项目由以下组件构成:
- MCP 客户端:如 Claude Desktop,与 FastAPI 后端交互。
- FastAPI 服务器:基于 Python 的服务器,将 Volatility 插件暴露为 API 端点。
- Volatility 3:执行分析的内存取证框架。 该架构允许用户通过 Claude Desktop 等 MCP 客户端分析内存镜像。用户可以使用自然语言提示执行内存取证分析,例如“show me the list of the processes in memory image x”或“show me all the external connections made”。
使用方式 前置条件:
- 系统已安装 Python 3.7+。
- 已安装 Volatility 3 二进制(参见 Volatility 3 安装指南),并添加到环境变量路径,变量名为 VOLATILITY_BIN。
步骤:
- 克隆仓库: git clone <repository_url> cd <repository_directory>
- 安装所需的 Python 依赖: pip install -r requirements.txt
- 启动 FastAPI 服务器以暴露 Volatility 3 API: uvicorn volatility_fastapi_server:app
- 安装 Claude Desktop(参见 Claude Desktop)。
- 将 Claude Desktop 配置为 volatility MCP 客户端:导航至 Claude → Settings → Developer → Edit Config,找到 claude_desktop_config.json 文件,并插入以下配置: { "mcpServers": { "vol": { "command": "python", "args": [ "/ABSOLUTE_PATH_TO_MCP-SERVER/vol_mcp_server.py", "-i", "/ABSOLUTE_PATH_TO_MEMORY_IMAGE/<memory_image>" ] } } } 注意:config.json 文件中的 -i 选项指定内存镜像文件的目录路径。 或者直接更新此文件: /Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json
- 按上述说明启动 FastAPI 服务器。
- 将 MCP 客户端(例如 Claude Desktop)连接到 FastAPI 服务器。
- 通过提问开始提示,例如“show me the running processes”“creating a tree relationship graph for process x”或“show me all external RFC1918 connections”。
适用场景 适用于需要通过 AI 助手或 Web 应用进行内存取证分析的场景,例如在调查中快速列出进程、分析网络连接、生成进程关系图等。
未来功能与增强(规划中)
- 原生 Volatility Python 集成:在代码库中直接引入 Volatility Python SDK,而非通过子进程调用 volatility 二进制。
- Yara 集成:实现从内存中转储进程并用 Yara 规则扫描以进行恶意软件分析。
- 多镜像分析:支持同时分析多个内存镜像,以关联事件并识别跨系统的模式。
- 添加更多 Volatility 插件:扩展内存分析范围。
- GUI 增强:开发用户友好的 Web 界面,用于交互式内存分析和可视化。
- 自动报告生成:自动生成总结内存分析发现的详细报告。
- 高级威胁检测:引入检测内存中复杂威胁和异常的高级技术。
贡献方式 欢迎贡献!请遵循以下步骤:
- Fork 此仓库。
- 创建新分支(git checkout -b feature/my-feature)。
- 提交更改(git commit -m 'Add some feature')。
- 推送到分支(git push origin feature/my-feature)。
- 打开拉取请求。
限制与说明
- 项目当前为 MCP 服务器,Web 前端支持为未来功能。
- 需要预先安装 Volatility 3 二进制并正确配置环境变量。
- 具体支持的插件范围、性能表现、收费情况等资料暂未提供。