🚀 Volatility MCP 服务器
本项目是一个将 Volatility 3 内存取证框架与 Claude 和其他 MCP 兼容的大语言模型 (LLM) 集成的 Model Context Protocol (MCP) 服务器。它能让数字取证调查人员使用自然语言分析内存转储,降低技术门槛、加速分析流程,有效解决案件积压问题。
🚀 快速开始
此项目通过 Model Context Protocol (MCP) 将 Volatility 3 内存取证框架与大语言模型连接起来,使用户能够以自然语言形式进行交互和分析。用户可以通过自然语言查询与 Claude 进行交互,例如“显示 memory.vmem 中的进程树结构”等。
✨ 主要特性
- 内存转储分析:支持对内存转储的全面分析。
- 进程树可视化:自动生成进程树视图。
- 网络连接检测:识别内存中的网络连接。
- 恶意软件检测:通过 malfind 等工具检查代码注入。
- 异常行为识别:分析不寻常的父子进程关系。
- 隐藏进程发现:发现隐藏在系统中的恶意进程。
📦 安装指南
安装要求
- Python 版本:需要 Python 3.8 或更高版本。
- Volatility 框架:必须安装 Volatility 3。
- Claude 客户端:需要安装并配置 Claude Desktop。
- MCP SDK:安装 MCP Python 包。
安装步骤
- 克隆代码仓库到本地目录:
git clone https://github.com/yourusername/volatility-mcp.git
- 安装所需依赖项:
pip install volatility3 mcp-python
- 配置 Volatility 环境变量:
export VOLATILITY_CONF_DIR=/path/to/configs
- 在 Claude Desktop 中配置 MCP 服务:
{
"mcp": {
"servers": [
{
"name": "volatility-server",
"host": "localhost",
"port": 5005,
"username": "your-username",
"password": "your-password"
}
]
}
}
💻 使用示例
用户可以通过以下示例查询与 Claude 进行交互:
基础用法
- 初始排查:
- "显示 memory.vmem 中的进程树结构"
- "列出 memory.vmem 中的所有网络连接"
高级用法
- 可疑进程调查:
- "进程 1234 的启动命令是什么?"
- "显示进程 1234 加载的所有 DLL"
- "进程 1234 打开了哪些文件句柄?"
- 恶意软件狩猎:
- "在 memory.vmem 上运行 malfind 检查代码注入"
- "显示具有异常父子关系的进程"
- "查找 memory.vmem 中的隐藏进程"
📚 详细文档
这为何重要
在印度,数字取证调查人员因国家人口众多和网络犯罪率上升而面临案件积压的巨大挑战。此工具通过以下方式解决这一问题:
- 允许调查人员使用简单的自然语言而非复杂命令分析内存转储。
- 减少执行内存取证所需的专门技术知识。
- 通过自动化加速分析流程。
- 帮助 clearing 案件积压,提高调查效率。
扩展性
此服务器可扩展为:
- 添加更多 Volatility 插件。
- 创建自定义分析工作流程。
- 集成其他取证工具。
- 实现报告生成功能。
故障排除
- 路径问题:
- 确保所有路径均为绝对路径。
- 使用双反斜杠表示 Windows 路径。
- 权限问题:
- 以管理员身份运行 Claude Desktop。
- 检查 Python 和 Volatility 目录的权限设置。
- Volatility 错误:
- 确保 Volatility 3 单独正常运行。
- 尝试在命令行中运行相同命令。
- MCP 错误:
- 检查 Claude Desktop 的日志文件。
- 确认 MCP Python 包正确安装。
📄 许可证
MIT License