mcpField
U
Unified Memory Forensics MCP Server

Unified Memory Forensics MCP Server

本地服务
github.com/x746b记忆与知识64 周前更新

关于 Unified Memory Forensics MCP Server

面向数字取证与事件响应分析人员的内存取证 MCP 服务,结合 Rust 引擎、Python 分析器和 Volatility3。三层架构可在快速原始操作与广泛插件覆盖间分配分析任务。

主要功能

  1. 01Rust、Python、Volatility3 三层引擎
  2. 02初始化内存镜像并运行插件
  3. 03自动分诊与进程异常检测
  4. 04分析代码注入、网络和命令
  5. 05提取凭据并查询 VirusTotal

适用场景

  1. 01对内存镜像进行可疑活动分诊
  2. 02调查进程异常和注入代码
  3. 03检查网络连接与命令历史
  4. 04提取凭据并核查威胁指标

MCP 相关

向 MCP 客户端提供内存镜像分析、分诊、取证插件、数据提取和威胁情报工具;作为本地 stdio 服务注册。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

内存取证 MCP

mem-forensics-mcp

统一内存取证 MCP 服务 —— 融合 Rust 的速度与 Vol3 的覆盖范围的多层级引擎。


架构

三层引擎会自动将每个工具路由至速度最快的后端:

LLM <-> [mem-forensics-mcp (Python)] <-> memoxide (Rust child, stdio MCP)
                                     <-> Volatility3 (Python library)
层级引擎速度覆盖范围
第 1 层Rust(memoxide)快pslist、psscan、cmdline、dlllist、malfind、netscan、cmdscan、search、readraw、rsds
第 2 层Python 分析器中进程异常、C2 检测、凭据、YARA、VT 集成
第 3 层Volatility3较慢任意 vol3 插件(filescan、handles、svcscan、driverscan,……)

安装

前置条件
# Install uv (fast Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Ensure Python 3.10+
python3 --version
从 PyPI 安装
uv venv .venv
uv pip install --python .venv/bin/python3 mem-forensics-mcp
从源代码安装
git clone https://github.com/x746b/mem_forensics-mcp.git
cd mem_forensics-mcp

# Full install (recommended)
uv sync --extra full

# Minimal (Vol3 only, no YARA/VT)
uv sync --extra volatility3
构建 Rust 引擎(可选)

engines/memoxide/ 中提供了适用于 aarch64-linux 和 x86_64-linux 的预编译二进制文件。服务会自动检测主机架构。要从源代码构建:

# Requires Rust toolchain (https://rustup.rs)
cd engines/memoxide-src
cargo build --release

# Binary lands at engines/memoxide-src/target/release/memoxide
# The server auto-detects it (prefers local build over prebuilt)
配置 Volatility3(可选)

如果 Vol3 安装在 /opt/volatility3,系统会自动检测。否则:export VOLATILITY3_PATH="/path/to/volatility3"

验证
uv run python -m mem_forensics_mcp.server
# Should show: Rust engine: available, Volatility3: available

添加到 MCP 客户端

在 MCP 客户端的设置中,将 mem-forensics-mcp 注册为本地 stdio 服务。配置格式和位置取决于客户端。对于支持 mcpServers JSON 的客户端,请使用:

{
  "mcpServers": {
    "mem-forensics-mcp": {
      "command": "/absolute/path/to/.venv/bin/python3",
      "args": ["-m", "mem_forensics_mcp.server"]
    }
  }
}

将命令替换为虚拟环境中 Python 解释器的绝对路径。对于源代码检出,运行 uv sync 后路径为 /path/to/mem_forensics-mcp/.venv/bin/python3。对于 PyPI 安装,请使用安装过程中创建的 .venv。如果客户端使用其他配置格式,请通过其 MCP 服务设置输入相同的命令和参数。

如果 Volatility3 安装在自定义位置,请在服务的环境设置中将 VOLATILITY3_PATH 设为其绝对路径(例如,在 JSON 示例中使用 "env": {"VOLATILITY3_PATH": "/path/to/volatility3"})。使用客户端的 MCP 服务列表确认连接成功。


快速开始

# 1. Initialize
memory_analyze_image(image_path="/evidence/memory.raw")

# 2. Full triage
memory_full_triage(image_path="/evidence/memory.raw")

# 3. Drill down
memory_run_plugin(image_path="/evidence/memory.raw", plugin="malfind", pid=1234)

memory_analyze_image 会报告两个级别的就绪状态:

  • ready 和 session_ready:引擎已打开映像,且会话可以重复使用。
  • raw_ready:可使用 search 和 readraw 等与操作系统无关的 Rust 操作。
  • structured_ready:符号/配置文件数据足以支持能够感知结构的插件。

ready 仍是 session_ready 的兼容性别名;它并不表示 Volatility 的进程、网络或命令插件可以运行。在选择这些工具之前,请检查 os_type、structured_ready、capabilities 和 warnings。

要进行能够感知结构的 Linux 分析,请提供符号目录或显式 ISF 文件。Linux ISF 不会自动下载或生成:

memory_analyze_image(
    image_path="/evidence/memory.lime",
    symbols_root="/evidence/symbols",
    # or: isf_path="/evidence/symbols/5.10.0-35-amd64.json.xz",
)

如果没有匹配的 ISF,LiME 映像仍可使用原始 search 和 readraw。分析响应会包含确切的内核标识和建议的 ISF 文件名。加载符号后,进程树会路由至 linux.pslist.PsList,命令历史会路由至 linux.bash.Bash,并可通过 memory_run_plugin 使用通用 Linux Volatility 插件。


工具参考

核心
工具层级描述
memory_analyze_image1->2初始化映像,自动检测配置文件
memory_run_plugin1->3运行任意插件(Rust 或 Vol3)
memory_list_plugins-列出可用插件
memory_list_sessions-列出活动会话
memory_get_status-显示引擎状态
分析
工具层级描述
memory_full_triage1+2完整的自动化调查
memory_hunt_process_anomalies2DKOM 检测、父子进程验证
memory_get_process_tree2高亮显示可疑进程的进程树
memory_find_injected_code1->2代码注入 + YARA 扫描
memory_find_c2_connections1+2网络 C2 检测
memory_get_command_history1+2命令恢复 + 分类
memory_extract_credentials2通过 Vol3 提取哈希/机密
提取
工具层级描述
memory_dump_process2进程信息和已加载的 DLL
memory_dump_vad2检查内存区域详情
memory_list_dumpable_files3列出缓存文件
威胁情报
工具描述
vt_lookup_hashVirusTotal 哈希查询
vt_lookup_ipVirusTotal IP 信誉查询
vt_lookup_domainVirusTotal 域名信誉查询
vt_lookup_file哈希文件 + VT 查询

示例:完整分诊输出

在 Windows 10 内存转储(Win10 19041,x64,VMware)上运行 memory_full_triage:

{
  "threat_level": "critical",
  "risk_score": 100,
  "summary": "Processes: 115 found. Process Anomalies: 4 info-level. Network: 4 flagged of 79 connections. Commands: 56 memory fragments. Injected Code: 12 RWX regions. Correlations: 2 critical.",
  "engine": "rust+python"
}

关键发现:

类别详情
可疑进程mmc.exe 由 explorer.exe 启动,并加载来自浏览器下载内容的 .msc 文件
注入代码mmc.exe 中有 4 个 RWX 私有内存区域,EXCEL.EXE 中有 2 个
子进程dllhost.exe 由 mmc.exe 启动,且具有可执行的 RWX 区域
网络svchost.exe 连接到外部 IP 的 443/80 端口
关联项active_implant + active_c2_session 被标记为严重
IOC自动提取可疑外部 IP

使用经过筛选的 filescan 深入分析:

memory_run_plugin(image_path="memory.raw", plugin="filescan", filter="notepad")
# Returns: 2 of 7612 results matched (server-side grep before truncation)

相关项目

  • winforensics-mcp — Windows 磁盘取证(EVTX、Registry、MFT、Prefetch、YARA、PCAP)
  • mac_forensics-mcp — macOS DFIR(Unified Logs、FSEvents、Spotlight、Plists)

MIT 许可证 | xtk | 为 DFIR 社区打造。无需 Windows >)

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。