Token导航 LogoToken导航TokenDH.com
Mem Forensics MCP Server logo
运维云端stdio官方级别未说明来源级核验

Mem Forensics MCP Server

MCP Server

一个高性能的MCP服务器,用于内存取证,使AI代理能够通过模型上下文协议分析内存转储。结合了Rust速度和Volatility3覆盖范围的双层架构。

工具数

7

提示词数

0

GitHub Stars

1

资源数

0
高性能Claude云端部署ClaudeCline

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jus1-c

提供方

jus1-c

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

MCP内存取证

用于内存取证的高性能MCP服务器,使AI代理能够通过模型上下文协议分析内存转储。采用两层架构构建,将Rust速度与Volatility3覆盖率相结合。

学分

特性

  • 两层技术模型:快速Rust引擎(内存)+Volatility3回退,实现最大覆盖率
  • 智能高速缓存:带有LRU驱逐的200个条目缓存(在服务器重新启动之前一直有效)
  • 自动检测:自动操作系统配置文件检测和插件名称解析
  • 高性能:用于常见操作的Rust原生插件(3s vs 60s)
  • 全面覆盖:通过挥发性3 API访问可用的挥发性3插件
  • 智能路由:自动选择最快的可用发动机
  • 无需预分析:如果需要,插件会自动分析图像

性能基准

在Windows崩溃转储上测试(2GB,~109个进程):

操作锈蚀(氧化物)挥发性3加速
分析图像3s60s快20倍
进程列表(pslist)1.5s15s快10倍
网络扫描(netscan)2s20s快10倍

需求

  • Python 3.10+
  • Git CLI-用于克隆/更新Volatility3 stable 分支
  • Rust工具链(可选,用于从源代码构建内存)
  • MCP兼容客户端(克劳德桌面、VSCode、Cline等)

安装

1.配置波动性3源

Volatility3是从托管的git签出加载的,而不是从pip加载的 volatility3 包裹。

创建 .env 在项目根目录中:

cp .env.example .env

默认 .env:

VOLATILITY3_REPO_URL=https://github.com/volatilityfoundation/volatility3
VOLATILITY3_BRANCH=stable
VOLATILITY3_REPO_PATH=.cache/volatility3
VOLATILITY3_AUTO_UPDATE=true
VOLATILITY3_UPDATE_INTERVAL_SECONDS=86400

2.安装MCP服务器

来源:

git clone https://github.com/jus1-c/mem-forensics-mcp-server.git
cd mem-forensics-mcp-server
pip install -e .

配置

日志被写入 mem-forensics-mcp.log 在project/install root中,旁边 .env.

克劳德桌面

编辑 claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ 窗户: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mem-forensics": {
      "command": "python",
      "args": ["-m", "mem_forensics_mcp_server"]
    }
  }
}

VSCode(带Cline扩展)

添加到您的设置中:

{
  "mcpServers": {
    "mem-forensics": {
      "command": "python",
      "args": ["-m", "mem_forensics_mcp_server"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

可用工具

1.记忆_分析_图像

初始化内存映像分析并检测操作系统配置文件。

参数:

  • image_path:内存转储的绝对路径(必需)
  • dtb:覆盖DTB地址(可选,十六进制字符串)
  • kernel_base:覆盖内核基址(可选,十六进制字符串)

例子:

{
  "image_path": "/evidence/memory.raw",
  "dtb": "0x1ad000"
}

2.内存_运行_插件

运行取证插件。自动路由到Rust(快速)或Vol3(回退)。

参数:

  • image_path:内存转储的绝对路径(必需)
  • plugin:插件名称-可以是短的(“pslist”)或完整的(“windows.pslist.pslist”)
  • args:插件参数列表(可选,例如\[“--pid”,“1234”\])
  • filter:服务器端筛选器字符串(可选)

重要提示:

  • 使用 args 所有插件参数的参数
  • 输出始终是通过Volatility3 API呈现的JSON
  • -r json 已接受,但由于向后兼容性而忽略
  • 短插件名称会自动解析为完整格式

示例:

// List all processes
{
  "image_path": "/evidence/memory.raw",
  "plugin": "pslist"
}

// Dlllist for specific PID
{
  "image_path": "/evidence/memory.raw",
  "plugin": "dlllist",
  "args": ["--pid", "3692"]
}

// Filescan with filter
{
  "image_path": "/evidence/memory.raw",
  "plugin": "filescan",
  "filter": "svchost"
}

// Using full plugin name
{
  "image_path": "/evidence/memory.raw",
  "plugin": "windows.netscan.NetScan"
}

3.内存列表插件

列出两个引擎的所有可用插件。

参数:

  • image_path:内存转储路径(用于上下文)

退货:

  • 9个Rust插件(快速)
  • 从托管服务器发现的Vol3插件 stable 结账(Windows/Linux/Mac/其他)

4.记忆列表会话

列出所有活动的分析会话。

参数:

5.记忆_状态

获取服务器状态和引擎可用性。

参数:

6.memory_list_dumpable_files

使用filescan插件列出在内存中找到的文件。

参数:

  • image_path:内存转储的绝对路径(必需)
  • args:可选参数,如 ["--pid", "1234"]

7.记忆_工具_帮助

获取任何工具的详细帮助和示例。

参数:

  • tool_name:工具名称(例如“memory_run_plugin”)

用法示例

基础分析(自动检测)

Please analyze this memory dump and list all processes.
File: /evidence/windows.dmp

服务器将:

  1. 自动分析图像
  2. 缓存结果
  3. 退货流程列表

PID滤波器的过程研究

Get command line for process ID 1234 from this memory dump.
File: /evidence/malware.dmp
{
  "image_path": "/evidence/malware.dmp",
  "plugin": "cmdline",
  "args": ["--pid", "1234"]
}

网络分析

Find all network connections in this memory dump.
File: /evidence/c2.dmp

代码注入检测

Scan for injected code (malfind) in this memory dump.
File: /evidence/suspicious.dmp

列出内存中的文件

List all files found in memory.
File: /evidence/windows.dmp

缓存系统

服务器包括一个智能缓存系统:

  • 缓存大小:200个条目(可配置)
  • 缓存键: (image_path, plugin, args)
  • 坚持:缓存将一直存在,直到服务器重新启动
  • 自动清除:分析新图像时清除缓存
  • LRU驱逐:缓存已满时删除最旧的条目

优点:

  • 对同一插件的第二次查询会立即返回
  • TTL缓存在服务器重新启动之前无效
  • 每个内存转储文件都有单独的缓存

安全特性

  • 路径验证:只允许绝对路径
  • 发动机隔离:Rust插件在单独的子进程中运行
  • 超时保护:Rust引擎调用超时60秒
  • 大小限制:可配置的响应大小限制
  • 没有秘密:不记录敏感内存内容

.env变量

变量描述默认值
VOLATILITY3_REPO_URLVolatility3-git存储库URLhttps://github.com/volatilityfoundation/volatility3
VOLATILITY3_BRANCHVolatility 3分支使用stable
VOLATILITY3_REPO_PATH本地签出路径,如果不是绝对的,则相对于项目根目录.cache/volatility3
VOLATILITY3_AUTO_UPDATE到期时启动时自动更新签出true
VOLATILITY3_UPDATE_INTERVAL_SECONDS自动更新间隔86400

建筑

┌─────────────────┐     ┌──────────────────┐     ┌─────────────┐
│   MCP Client    │────▶│  MCP Server      │────▶│  Memoxide   │
│ (Claude/VSCode) │     │  (Python/FastMCP)│     │   (Rust)    │
└─────────────────┘     └──────────────────┘     └─────────────┘
                               │                           │
                               │                    ┌──────┴──────┐
                               │                    │ Memory Dump │
                               │                    └─────────────┘
                               ▼
                        ┌─────────────┐     ┌─────────────┐
                        │    Cache    │────▶│  Volatility3│
                        │ (200 entries)│     │ API Fallback│
                        └─────────────┘     └─────────────┘

项目结构

mem-forensics-mcp-server/
├── mem_forensics_mcp_server/
│   ├── __init__.py
│   ├── __main__.py              # Entry point
│   ├── server.py                # MCP server with tools
│   ├── config.py                # Configuration
│   ├── core/
│   │   ├── session.py           # Session management
│   │   ├── cache.py             # Plugin result caching
│   │   ├── settings.py          # .env settings loader
│   │   ├── vol3_repo.py         # Managed Volatility3 git checkout
│   │   ├── vol3_api.py          # Vol3 API backend
│   │   └── vol3_cli.py          # Compatibility shim
│   ├── engine/
│   │   ├── memoxide_client.py   # Rust engine client
│   │   └── memoxide/            # Prebuilt binaries
│   │       ├── x86_64/
│   │       └── aarch64/
│   └── utils/
│       └── helpers.py
├── pyproject.toml
├── .env.example
├── README.md
└── .gitignore

发展

设置开发环境

pip install -e ".[dev]"

构建生锈引擎

cd mem_forensics_mcp_server/engine/memoxide-src
cargo build --release

故障排除

备忘录不可用

Memoxide需要特定于平台的二进制文件。包括以下预构建二进制文件:

  • Windows x86_64
  • Linux x86_64
  • macOS x86_64和aarch64

为其他平台构建:

cd mem_forensics_mcp_server/engine/memoxide-src
cargo build --release --target 

Vol3插件要求未满足

某些内存转储格式可能与某些插件不兼容。错误消息将指示:

  • 翻译层问题(不支持的格式)
  • 符号表问题(缺少ISF文件)

大型转储发生超时错误

Rust引擎超时60秒。对于非常大的转储,将自动使用Vol3回退。

插件参数错误

这意味着传递的参数不符合插件的Volatility3要求。 使用 memory_get_tool_help 对于MCP示例或调用 memory_list_plugins 为了验证 解析插件名称。

最近的更新

v0.1.19

  • 从托管git添加了Volatility3 API后端 stable 结账
  • 添加 .env-仅Volatility3配置和自动更新设置
  • ✨ 新增智能缓存系统(200条)
  • ✨ 自动插件名称解析(pslist→ windows.pslist。PsList)
  • ✨ 第一次插件调用时自动分析
  • ✨ 简化args参数(替换pid/params)
  • 🔧 已删除memory_dump_process工具
  • 🔧 改进了错误处理和日志记录

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

致谢

支持

对于问题和功能请求,请使用GitHub问题跟踪器。

目录标签

目录标签

高性能Claude云端部署Makefile本地部署内存取证数字取证AI分析自动检测

支持客户端

ClaudeCline

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP