项目简介
Volatility3 MCP服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,它将强大的内存取证框架 Volatility3 的功能通过标准化的 MCP 协议暴露给 LLM 客户端,例如 Claude Desktop 和 Cursor。这使得用户可以通过自然语言与 LLM 交互,间接地利用 Volatility3 进行复杂的内存分析任务,例如恶意软件检测、进程分析和网络连接调查等。该项目旨在降低内存取证的技术门槛,使非专业用户也能利用 LLM 的自然语言处理能力进行安全分析。
主要功能点
- 内存镜像分析: 支持 Windows 和 Linux 内存镜像的分析。
- 进程信息查看: 列出并检查内存镜像中的运行进程,识别可疑活动。
- 网络连接分析: 分析网络连接,检测潜在的命令与控制服务器。
- YARA 规则扫描: 使用 YARA 规则扫描内存,检测已知的恶意软件特征。
- 插件化扩展: 支持 Volatility3 丰富的插件,可灵活扩展分析能力。
- 跨平台客户端支持: 可以通过 Claude Desktop 和 Cursor 等 MCP 客户端进行访问。
安装步骤
-
克隆仓库:
git clone https://github.com/Kirandawadi/volatility3-mcp cd volatility3-mcp -
创建并激活虚拟环境:
python -m venv environ source environ/bin/activate -
安装依赖:
pip install -r requirements.txt
服务器配置
对于 Claude Desktop 客户端:
在 Claude Desktop 的配置文件 'claude_desktop_config.json' 中,添加以下 'mcpServers' 配置。请根据实际情况修改 'command' 和 'args' 中的路径,指向您虚拟环境中的 Python3 解释器和 'bridge_mcp_volatility.py' 脚本的绝对路径。
{ "mcpServers": { "volatility3": { "command": "absolute/path/to/virtual/environment/bin/python3", "args": [ "absolute/path/to/volatility3-mcp/bridge_mcp_volatility.py" ] } } }
配置参数说明:
- '"volatility3"': 为该 MCP 服务器自定义的名称,在 Claude Desktop 中用于标识和选择该服务器。
- '"command"': Python3 解释器的绝对路径,需要指向您在步骤 2 中创建的虚拟环境中的 Python3 解释器。
- '"args"': 启动 'bridge_mcp_volatility.py' 脚本所需的参数,这里只需要脚本的绝对路径。
对于 Cursor 客户端:
-
启动 SSE 服务器: 在克隆的仓库目录下,运行以下命令启动 SSE 服务器。您可以根据需要修改主机地址和端口。
python3 start_sse_server.py --host 127.0.0.1 --port 8080启动成功后,终端会显示 Cursor 需要配置的 SSE URL,例如 'http://127.0.0.1:8080/sse'。
-
配置 Cursor MCP 服务器: 在 Cursor 编辑器中,打开设置 ('Features' -> 'MCP Servers'),点击 "Add Server",然后添加一个新的 MCP 服务器,URL 设置为上一步中启动 SSE 服务器后终端输出的 SSE URL (例如 'http://127.0.0.1:8080/sse')。
基本使用方法
配置完成后,您可以在 Claude Desktop 或 Cursor 中,通过自然语言指令调用 Volatility3 MCP 服务器提供的工具进行内存分析。例如,您可以询问:
- "使用 volatility3 分析这个内存镜像文件,先初始化镜像文件,文件路径是 '/path/to/your/memory_dump.mem'" (Claude Desktop) 或 通过 Cursor Composer 的 Agent 模式进行类似指令的交互。
- "列出内存镜像中的所有进程"
- "检查 PID 为 XXX 的进程打开了哪些文件句柄"
- "扫描内存中是否有恶意软件特征"
- "列出所有可用的 volatility3 插件"
LLM 客户端会将您的自然语言指令转换为对 MCP 服务器工具的调用,并将结果返回给您。
请注意,首次使用前,需要先使用 'initialize_memory_file' 工具初始化内存镜像文件。
可用工具 (Tools)
- initialize_memory_file: 初始化内存镜像文件,必须首先调用此工具。
- detect_os: 检测内存镜像的操作系统类型。
- list_plugins: 列出所有可用的 Volatility3 插件。
- get_plugin_info: 获取指定插件的详细信息。
- run_plugin: 运行任意 Volatility3 插件,支持自定义参数。
- get_processes: 获取内存镜像中的进程列表。
- get_network_connections: 获取网络连接信息。
- list_process_open_handles: 列出指定进程打开的文件句柄。
- scan_with_yara: 使用 YARA 规则扫描内存中的恶意软件。
信息
分类
AI与计算