MITRE Caldera adversary emulation platform. Architecture overview, Docker and source installation, plugin system, agent deployment, and REST API quick start.
MITRE Caldera is an open-source adversary emulation platform used for automated red team operations, blue team defense testing, and purple team exercises. It maps every action to MITRE ATT&CK techniques, making it ideal for structured security assessments.
| Component | Description |
|---|---|
| Server | Central C2 server (Python/aiohttp), hosts the REST API and web UI on port 8888 |
| Agents | Implants deployed on targets that beacon back to the server (Sandcat, Manx, Ragdoll) |
| Abilities | Individual ATT&CK technique implementations - the atomic unit of execution |
| Adversaries | Ordered collections of abilities that form an attack profile |
| Operations | A running instance of an adversary profile against a target group |
| Planners | Decision engines that determine ability execution order (atomic, batch, buckets) |
| Sources | Fact stores that feed dynamic variables into abilities at runtime |
| Plugins | Modular extensions (Stockpile, Compass, Response, Human, etc.) |
# Clone and run with Docker
git clone https://github.com/mitre/caldera.git --recursive
cd caldera
# Build and start (includes all default plugins)
docker build -t caldera .
docker run -d -p 8888:8888 -p 7010:7010 -p 7012:7012 \
--name caldera caldera
# Default credentials
# UI: http://localhost:8888
# Red: admin / admin
# Blue: blue / admin
# Verify server is running
curl -s http://localhost:8888/api/v2/health \
-H "KEY:ADMIN123"
# Clone with all submodules (plugins)
git clone https://github.com/mitre/caldera.git --recursive
cd caldera
# Python 3.8+ required
pip install -r requirements.txt
# Start the server
python server.py --insecure --build
# Custom config: edit conf/local.yml
# Change default API keys, port, users
# conf/local.yml - key settings
port: 8888
api_key_red: ADMIN123
api_key_blue: BLUE123
users:
admin:
password: admin
blue:
password: admin
plugins:
- stockpile
- compass
- sandcat
- manx
- response