关于 Volatility MCP Server
Volatility MCP Server 是一个 MCP 服务,将 Volatility 3 内存取证框架接入 Claude 等兼容 MCP 的 LLM。用户可以用自然语言描述分析需求,由模型调用对应的 Volatility 插件完成内存转储分析。适合需要降低内存取证操作门槛的调查人员。
主要功能
- 01自然语言驱动的内存取证分析
- 02进程列表、进程树与隐藏进程检查
- 03网络连接与 DLL 模块分析
- 04malfind 代码注入检测
- 05支持运行任意 Volatility 插件
适用场景
- 01对内存转储进行初步排查,查看进程树和网络连接
- 02检查可疑进程的命令行参数、DLL 与文件句柄
- 03使用 malfind 查找可能的代码注入痕迹
MCP 相关
该项目是一个 MCP 服务,将 Volatility 3 的插件以 MCP 工具的形式提供给 Claude 等 MCP 客户端调用,例如 run_pslist、run_netscan、run_malfind 等。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Volatility MCP Server
一个将 Volatility 3 内存取证框架与 Claude 及其他兼容 MCP 的大模型集成的 Model Context Protocol(MCP)服务。
这为何重要
在印度,由于人口众多且网络犯罪率不断上升,数字取证调查人员面临大量积压案件。此工具有助于应对这一挑战:
- 让调查人员能够使用简单的自然语言而非复杂命令分析内存转储
- 降低执行内存取证所需的技术专长
- 通过自动化加快分析进程
- 帮助清理积压案件,并更快地向司法系统交付结果
通过让内存取证更易于使用,此工具可以显著减轻取证专家的负担,并改善印度各地的网络安全响应。
概述
此项目通过 Model Context Protocol(MCP),将 Volatility 3 Framework 强大的内存取证能力与大语言模型(LLM)连接起来。它将 Volatility 插件作为 MCP 工具公开,供 Claude 或其他兼容 MCP 的大模型直接调用,从而让你能够使用自然语言执行内存取证分析。
功能
- 自然语言内存取证:使用自然语言让 Claude 分析内存转储
- 进程分析:检查正在运行的进程、父子关系和隐藏进程
- 网络取证:识别内存转储中的网络连接
- 恶意软件检测:查找潜在的代码注入和其他恶意痕迹
- DLL 分析:检查已加载的 DLL 和模块
- 文件对象:扫描内存中的文件对象
- 自定义插件:使用自定义参数运行任意 Volatility 插件
- 内存转储发现:自动查找目录中的内存转储
要求
- Python 3.10 或更高版本
- Volatility 3 Framework
- Claude Desktop 或其他兼容 MCP 的客户端
- MCP Python SDK(
mcp包)
安装
-
克隆此仓库:
git clone https://github.com/yourusername/volatility-mcp-server.git -
安装所需的 Python 包:
pip install mcp httpx -
在脚本中配置 Volatility 路径:
- 打开
volatility_mcp_server.py,并将VOLATILITY_DIR变量更新为指向你的 Volatility 3 安装路径。
- 打开
-
配置 Claude Desktop:
- 打开位于以下位置的 Claude Desktop 配置文件:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
- 添加服务配置:
{ "mcpServers": { "volatility": { "command": "python", "args": [ "/path/to/volatility_mcp_server.py" ], "env": { "PYTHONPATH": "/path/to/volatility3" } } } }- 将
/path/to/替换为你的文件的实际路径。
- 打开位于以下位置的 Claude Desktop 配置文件:
-
重启 Claude Desktop 以应用更改。
使用方法
完成设置后,你可以直接用自然语言向 Claude 提问有关内存转储的问题:
- “列出位于 C:\path\to\dump.vmem 的内存转储中的所有进程”
- “显示 C:\path\to\dump.vmem 中的网络连接”
- “运行 malfind,检查内存转储中是否存在代码注入”
- “进程 ID 4328 加载了哪些 DLL?”
- “检查 C:\path\to\dump.vmem 中是否有隐藏进程”
可用工具
该服务将以下 Volatility 插件作为 MCP 工具公开:
list_available_plugins- 显示所有可用的 Volatility 插件get_image_info- 提供内存转储文件的信息run_pstree- 显示进程层级结构run_pslist- 列出进程列表中的进程run_psscan- 扫描进程,包括可能隐藏的进程run_netscan- 显示内存转储中的网络连接run_malfind- 检测潜在的代码注入run_cmdline- 显示进程的命令行参数run_dlllist- 列出进程已加载的 DLLrun_handles- 显示文件句柄和其他系统句柄run_filescan- 扫描内存中的文件对象run_memmap- 显示特定进程的内存映射run_custom_plugin- 使用自定义参数运行任意 Volatility 插件list_memory_dumps- 查找目录中的内存转储
内存取证工作流
此 MCP 服务可简化内存取证工作流:
-
初步分诊:
- “显示 memory.vmem 中的进程树”
- “列出 memory.vmem 中的所有网络连接”
-
可疑进程调查:
- “进程 1234 启动时使用了什么命令行?”
- “显示进程 1234 加载的所有 DLL”
- “进程 1234 中打开了哪些文件句柄?”
-
恶意软件搜寻:
- “对 memory.vmem 运行 malfind,检查是否存在代码注入”
- “显示父子关系异常的进程”
- “查找 memory.vmem 中的隐藏进程”
故障排除
如果遇到问题:
-
路径问题:
- 确保所有路径都是绝对路径,并在 Windows 路径中使用双反斜杠
- 检查内存转储文件是否存在且可读
-
权限问题:
- 以管理员身份运行 Claude Desktop
- 检查 Python 和 Volatility 目录是否具有适当的权限
-
Volatility 错误:
- 确保 Volatility 3 本身运行正常
- 尝试直接在命令行中运行相同的命令
-
MCP 错误:
- 检查 Claude Desktop 日志中是否有 MCP 错误
- 确保已正确安装 MCP Python 包
扩展
可通过以下方式扩展此服务:
- 添加更多 Volatility 插件
- 创建自定义分析工作流
- 与其他取证工具集成
- 添加报告生成功能
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。