内存取证分析服务

Volatility MCP将Volatility 3的内存分析能力与FastAPI和MCP协议结合,通过REST API提供内存取证功能,支持与AI助手和Web应用集成。

  • by Gaffx
  • Python
  • 本地部署
  • 52 星标
  • 更新于
在 GitHub 查看 Gaffx/volatility-mcp

使用说明

Your AI Assistant in Memory Forensics

概述

Volatility MCP将Volatilities 3强大的内存分析与FastAPI和模型上下文协议(MCP)无缝集成。体验无障碍的内存取证,如插件 pslist 和 netscan 通过干净的REST API访问,将内存工件直接连接到AI助手和web应用程序

特性

  • 波动性3整合: 利用Volatility 3框架进行内存映像分析。
  • FastAPI后端: 提供RESTful API与Volatility插件交互。
  • Web前端支持(未来功能): 设计用于连接基于网络的前端进行交互式分析。
  • 模型上下文协议(MCP): 支持与Claude Desktop等MCP客户端的标准化通信。
  • 插件支持: 支持各种波动插件,包括 pslist 用于流程列表和 netscan 用于网络连接分析。

建筑

项目架构由以下部分组成:

  • MCP客户端: MCP客户端,如Claude Desktop,与FastAPI后端交互。
  • FastAPI服务器: 一个基于Python的服务器,将Volatility插件公开为API端点。
  • 波动率3: 执行分析的内存取证框架。

这种架构允许用户通过Claude Desktop等MCP客户端分析内存映像。用户可以使用自然语言提示来执行内存取证分析,例如 显示内存映像x中的进程列表,或显示所有已建立的外部连接

入门指南

先决条件

  • 系统上已安装Python 3.7+
  • 已安装Volatility 3二进制文件(请参阅 Volatility 3安装指南)并添加到名为的env路径中 挥发性_BIN

安装

  1. 克隆存储库:

    git clone <repository_url>
    cd <repository_directory>
    
  2. 安装所需的Python依赖项:

    pip install -r requirements.txt
    
  3. 启动FastAPI服务器以公开Volatility 3 API:

    uvicorn volatility_fastapi_server:app 
    
  4. 安装Claude Desktop(请参阅 克劳德桌面版

  5. 要将Claude Desktop配置为波动性MCP客户端,请导航到Claude→ 设置→ 开发者→ 编辑Config,找到claude_desktop_Config.json文件,并插入以下配置详细信息

  6. 请注意 -i config.json文件中的选项指定内存映像文件的目录路径。

        {
         "mcpServers": {
           "vol": {
             "command": "python",
             "args": [
               "/ABSOLUTE_PATH_TO_MCP-SERVER/vol_mcp_server.py", "-i",     
               "/ABSOLUTE_PATH_TO_MEMORY_IMAGE/<memory_image>"
             ]
           }
         }
     }
    

或者,直接更新此文件:

/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json

用法

  1. 如上所述启动FastAPI服务器。
  2. 将MCP客户端(例如Claude Desktop)连接到FastAPI服务器。
  3. 通过询问有关作用域中内存映像的问题来开始提示,例如向我显示正在运行的进程,为进程x创建树关系图,或向我显示所有外部RFC1918连接。

未来的功能和增强

  • 原生波动性Python集成: 将Volatility Python SDK直接合并到代码库中,而不是子流程Volatility二进制文件
  • 亚拉一体化: 实现从内存中转储进程并使用Yara规则对其进行扫描以进行恶意软件分析的功能。
  • 多图像分析: 允许同时分析多个内存映像,以关联事件并识别不同系统中的模式。
  • 添加更多波动性插件: 添加更多volatile插件以扩展内存分析的范围
  • GUI增强功能: 开发一个用户友好的网络界面,用于交互式内存分析和可视化。
  • 自动生成报告: 自动生成总结内存分析结果的详细报告。
  • 高级威胁检测: 采用先进技术检测内存中的复杂威胁和异常。

贡献

欢迎投稿!请按照以下步骤进行贡献:

  1. 分叉此存储库。
  2. 创建新分支(git checkout -b feature/my-feature).
  3. 提交您的更改(git commit -m 'Add some feature').
  4. 推到您的分支(git push origin feature/my-feature).
  5. 打开一个pull请求。