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.
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
- Docker: Ensure Docker Desktop (or Engine) is installed and running.
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| multivol-1.0.0.tar.gz | 44.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|