Skip to main content

MultiVolatility ⚡️

Analyze memory dumps faster than ever with Volatility2 and Volatility3 in parallel.

MultiVolatility (multivol) is a powerful CLI wrapper that orchestrates memory forensics using Docker. It parallizes execution across multiple CPU cores, dramatically reducing the time required to run full scan suites on windows or linux memory dumps.

Demo

Features

  • Parallel Execution: runs multiple Volatility plugins simultaneously using your machine's full CPU power.
  • Hybrid Support: Seamlessly supports both Volatility 2 and Volatility 3.
  • Containerized: Runs all analysis in Docker containers—no complex dependency hell or Python 2/3 conflicts on your host.
  • Smart Caching: Automatically manages symbol downloads and caching to prevent redundant network requests.
  • Flexible Output: Supports both textual reports and structured JSON output for integration with other tools (like the MultiVol Web UI).

Prerequisites

  1. Docker: Ensure Docker Desktop (or Engine) is installed and running.
  2. Python 3.6+

Installation

You can install multivol directly from PyPI:

pip install multivol

From Source

Alternatively, you can clone the repository and install it locally:

git clone https://github.com/BoBNewz/MultiVolatility.git
cd MultiVolatility/CLI
pip install .

This installs the multivol command available system-wide.

Building the Docker Images

Before running the tool, you must build the analysis images:

# Build Volatility 2
docker build Dockerfiles/volatility2/ -t volatility2:latest

# Build Volatility 3
docker build Dockerfiles/volatility3/ -t volatility3:latest

Usage

The basic syntax is:

multivol [vol2|vol3] --dump <path_to_dump> --image <docker_image> [options]

Examples

Run a standard Windows analysis with Volatility 3:

multivol vol3 --dump memdump.raw --image volatility3:latest --windows --light

Run a full analysis on a Linux dump:

multivol vol3 --dump linux_dump.wem --image volatility3:latest --linux --full

Use Volatility 2 with a specific profile:

multivol vol2 --dump box_win7.raw --image volatility2:latest --profile Win7SP1x64 --windows --light

Options

Option Description
--dump Required. Path to the memory dump file.
--image Required. Name of the Docker image to use (e.g., volatility3:latest).
--windows / --linux Required. Specify the OS of the memory dump.
--light Run a curated set of essential plugins (Fast).
--full Run the comprehensive suite of all available plugins (Slow).
--commands Run a specific comma-separated list of plugins (e.g., pslist,filescan).
--processes Limit the number of concurrent Docker containers (Default: CPU Count).
--api Start the tool in API mode for Web UI integration.

Web Integration

MultiVol comes with a companion Web Interface for visualizing results and creating scans (Process Trees, File Browsers, etc.).

To use the CLI as a backend for the Web UI: (optional).

Run multivol --api. or use the docker-compose.yml

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

Metadata

Release files for multivol 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for multivol 1.0.0
File Size Uploaded
multivol-1.0.0.tar.gz 44.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for multivol 1.0.0
File Interpreter ABI Platform
multivol-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 92.3 kB

Release files / multivol-1.0.0.tar.gz

Download URL multivol-1.0.0.tar.gz
Size 44.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7dcfbbea3ab4d783548b5e53320dabdcb223e27b5263b3fdda15c6802ea57211
BLAKE2b-256 checksum
How to use checksums
7254c7fda70e1b64cf9550d6eeb86ad2d2af542e6dbff7862a25d1584057285f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.18

Release files / multivol-1.0.0-py3-none-any.whl

Download URL multivol-1.0.0-py3-none-any.whl
Size 48.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd358aab961f197c71da50977fe22f74da59d7c96721f4df20a330e9d004ca77
BLAKE2b-256 checksum
How to use checksums
649225d4142f13de08dd57cb875f92b7c3922bbc3310db578546be4ae212e277
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.18

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page