explaingit

mandiant/flare-vm

8,666PowerShellAudience · researcherComplexity · 4/5Setup · hard

TLDR

A PowerShell script that automatically installs a complete set of reverse engineering and malware analysis tools on a Windows virtual machine, turning a fresh VM into a ready-to-use security lab.

Mindmap

mindmap
  root((FLARE-VM))
    What it does
      Auto-installs tools
      Security lab setup
      VM configuration
    Tech Stack
      PowerShell
      Chocolatey
      Boxstarter
      XML config
    Requirements
      Windows 10 VM
      60GB disk
      Defender disabled
    Workflow
      Run script
      Select tools
      Take VM snapshot
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Set up a repeatable malware analysis lab on a Windows VM by running a single PowerShell script.

USE CASE 2

Customize which security tools get installed by supplying your own XML config file for consistent team environments.

USE CASE 3

Take a clean VM snapshot after installation to restore quickly whenever malware damages the environment during analysis.

Tech stack

PowerShellChocolateyBoxstarterXML

Getting it running

Difficulty · hard Time to first run · 1day+

Requires a Windows 10+ VM with Windows Defender and automatic updates disabled before running the installer.

In plain English

FLARE-VM is a collection of PowerShell scripts that automatically install and configure a complete set of reverse engineering and malware analysis tools on a Windows virtual machine. It was created by Mandiant's FLARE team to solve the problem of manually tracking down, installing, and maintaining dozens of specialized security tools. The setup is intentionally only run inside a virtual machine, not on a regular working computer. Before installing, you need a Windows 10 or later VM with at least 60 gigabytes of disk space and 2 gigabytes of memory, Windows Defender and Windows Updates both disabled, and an internet connection. Disabling antivirus is required because the tools being installed are the same ones researchers use to study malware, and antivirus software would flag or block them during installation. Running a single PowerShell script handles everything automatically. Under the hood, the installer uses Chocolatey, a package manager for Windows, and Boxstarter, which handles reboots during installation so the process can resume automatically. Before any packages are installed, a graphical interface lets you choose which tools to include. You can also run the whole thing from the command line with no prompts if you prefer. You can customize which tools get installed by providing your own XML configuration file. This lets teams maintain a consistent, repeatable environment across multiple machines, or tailor the setup to a specific type of analysis work. The Windows taskbar layout can be configured separately through another XML file. After installation, taking a VM snapshot is recommended. That snapshot becomes your clean baseline: if a piece of malware damages the environment while you are analyzing it, you restore the snapshot and continue. This snapshot workflow is the primary reason the project requires a virtual machine rather than a regular Windows install.

Copy-paste prompts

Prompt 1
Walk me through the exact steps to install FLARE-VM on a fresh Windows 10 VM, including what to disable before running the script.
Prompt 2
How do I create a custom FLARE-VM XML config that installs only the tools I need for dynamic malware analysis and skips everything else?
Prompt 3
After FLARE-VM is installed, what snapshot strategy should I follow so I can safely analyze live malware samples without permanently damaging my environment?
Prompt 4
How do I run the FLARE-VM installer silently from the command line with no graphical prompts, using a specific custom XML config file?
Open on GitHub → Explain another repo

← mandiant on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.