mcpField
U
Unified Memory Forensics MCP Server

Unified Memory Forensics MCP Server

ローカル
github.com/x746bメモリ・ナレッジ64 週間前に更新

Unified Memory Forensics MCP Server について

DFIR 分析者向けのメモリフォレンジック 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 の対応範囲を組み合わせたマルチティアエンジンです。


アーキテクチャ

3 層のエンジンが、各ツールを最速のバックエンドに自動的に振り分けます。

LLM <-> [mem-forensics-mcp (Python)] <-> memoxide (Rust child, stdio MCP)
                                     <-> Volatility3 (Python library)
層エンジン速度対応範囲
層 1Rust (memoxide)高速pslist、psscan、cmdline、dlllist、malfind、netscan、cmdscan、search、readraw、rsds
層 2Python アナライザー中速プロセスの異常、C2 の検出、認証情報、YARA、VT との連携
層 3Volatility3低速任意の 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 エンジンをビルドする(任意)

aarch64-linux と x86_64-linux 用のビルド済みバイナリが engines/memoxide/ に含まれています。サーバーはホストのアーキテクチャを自動検出します。ソースからビルドするには、次の手順を実行します。

# 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 クライアントへの追加

mem-forensics-mcp を、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 は、2 つのレベルで準備状況を報告します。

  • ready と session_ready:エンジンがイメージを開き、セッションを再利用できます。
  • raw_ready:search や readraw など、OS に依存しない 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 に振り分けられ、汎用 Linux Volatility プラグインは memory_run_plugin から利用できます。


ツールリファレンス

コア
ツール層説明
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_credentials2Vol3 によるハッシュ/シークレットの抽出
抽出
ツールティア説明
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"
}

主な検出結果:

カテゴリ詳細
不審なプロセスexplorer.exe から起動された mmc.exe が、ブラウザーのダウンロードフォルダーにある .msc ファイルを読み込んでいます
インジェクションされたコードmmc.exe に RWX のプライベートメモリ領域が 4 つ、EXCEL.EXE に 2 つあります
子プロセスmmc.exe が、実行可能な RWX 領域を持つ dllhost.exe を起動しました
ネットワークsvchost.exe がポート 443/80 で外部 IP アドレスに接続しています
相関active_implant + active_c2_session が重大としてフラグ付けされました
IOC不審な外部 IP アドレスが自動的に抽出されました

ファイルスキャンをフィルターして詳細を調査:

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 License | xtk | DFIR コミュニティ向けに構築されています。Windows は不要です >)

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。