波动性MCP服务器
一种模型上下文协议(MCP)服务器,将Volatility 3内存取证框架与Claude和其他MCP兼容的LLM集成在一起。
为什么这很重要
在印度,由于该国人口众多和网络犯罪率上升,数字法医调查人员面临着大量积压的案件。该工具通过以下方式帮助应对这一挑战:
- 允许研究人员使用简单的自然语言而不是复杂的命令来分析内存转储
- 减少执行内存取证所需的技术专长
- 通过自动化加速分析过程
- 帮助清理积压案件,更快地向司法系统提供结果
通过使内存取证更容易访问,该工具可以显著减轻取证专家的负担,并改善印度各地的网络安全响应。
概述
该项目通过模型上下文协议(MCP)将Volatility 3框架的强大内存取证功能与大型语言模型(LLM)连接起来。它允许您使用自然语言执行内存取证分析,将Volatility插件作为MCP工具公开,可由Claude或其他兼容MCP的LLM直接调用。
特性
- 自然语言记忆取证:让克劳德用自然语言分析内存转储
- 过程分析:检查正在运行的进程、父子关系和隐藏的进程
- 网络取证:识别内存转储中的网络连接
- 恶意软件检测:查找潜在的代码注入和其他恶意工件
- DLL分析:检查加载的DLL和模块
- 文件对象:扫描内存中的文件对象
- 自定义插件:使用自定义参数运行任何Volatility插件
- 内存转储发现:自动查找目录中的内存转储
需求
- Python 3.10或更高版本
- 波动性3框架
- Claude Desktop或其他MCP兼容客户端
- MCP Python SDK(
mcp包装)
安装
- 克隆此存储库:
git clone https://github.com/yourusername/volatility-mcp-server.git- 安装所需的Python包:
pip install mcp httpx- 在脚本中配置波动率路径:
- 打开 volatility_mcp_server.py 并更新 VOLATILITY_DIR 变量指向您的Volatility 3安装路径。
- 配置Claude桌面:
- 打开位于以下位置的Claude Desktop配置文件: - 窗户: %APPDATA%\Claude\claude_desktop_config.json - macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 添加服务器配置:
{
"mcpServers": {
"volatility": {
"command": "python",
"args": [
"/path/to/volatility_mcp_server.py"
],
"env": {
"PYTHONPATH": "/path/to/volatility3"
}
}
}
}- 替换 /path/to/ 使用文件的实际路径。
- 重新启动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-显示您可以使用的所有波动性插件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.vem中的进程树” - “列出内存.vmem中的所有网络连接”
- 可疑流程调查:
- “使用什么命令行启动进程1234?” - “显示进程1234加载的所有DLL” - “进程1234中打开了哪些文件句柄?”
- 恶意软件狩猎:
- “在memory.vmem上运行malfind以检查代码注入” - “显示具有异常父子关系的流程” - “查找内存中的隐藏进程.vem”
故障排除
如果您遇到问题:
- 路径问题:
- 确保所有路径都是绝对的,并在Windows路径中使用双反斜杠 - 检查内存转储文件是否存在并且可读
- 权限问题:
- 以管理员身份运行Claude Desktop - 检查Python和Volatility目录是否具有适当的权限
- 波动误差:
- 确保波动率3自身正常工作 - 尝试直接在命令行中运行相同的命令
- MCP错误:
- 检查Claude Desktop日志中的MCP错误 - 确保MCP Python包安装正确
延伸
此服务器可以通过以下方式扩展:
- 添加更多波动性插件
- 创建自定义分析工作流
- 与其他取证工具集成
- 添加报告生成功能
