Crucible

Attack simulation and compliance assessment engine with 80+ built-in scenarios, a visual editor, real-time execution, and pass/fail assessment scoring.

Part of the Inferno Lab security testing suite.

Quick Start

docker run -p 3000:3000 nickcrew/crucible

Open http://localhost:3000 for the web UI.

Configuration

Variable Default Description
PORT 3000 Server port
CRUCIBLE_TARGET_URL Base URL of the system under test
CRUCIBLE_DB_PATH ./data/crucible.db SQLite database location
CRUCIBLE_REPORTS_DIR ./data/reports Assessment report output directory
CRUCIBLE_SCENARIOS_DIR (built-in) Custom scenarios directory
CRUCIBLE_MAX_CONCURRENCY 3 Max concurrent scenario executions

Persist data

docker run -p 3000:3000 \
  -v crucible-data:/app/data \
  nickcrew/crucible

Point at a target

docker run -p 3000:3000 \
  -e CRUCIBLE_TARGET_URL=https://api.example.com \
  nickcrew/crucible

Using with Chimera

Chimera provides a high-fidelity vulnerable target with 456+ endpoints across 25+ industries. Crucible’s scenario catalog includes attacks designed for Chimera’s endpoints.

docker run -d --name chimera -p 8880:8880 -e DEMO_MODE=full nickcrew/chimera
docker run -d --name crucible -p 3000:3000 \
  -e CRUCIBLE_TARGET_URL=http://host.docker.internal:8880 \
  nickcrew/crucible

Full Security Lab (Compose)

Run all three Inferno Lab products together — Chimera as the vulnerable target, Apparatus as the simulation platform, and Crucible as the assessment engine:

services:
  chimera:
    image: nickcrew/chimera
    ports:
      - "8880:8880"
    environment:
      DEMO_MODE: "full"
      APPARATUS_ENABLED: "true"
      APPARATUS_BASE_URL: http://apparatus:8090
    networks:
      - lab

  apparatus:
    image: nickcrew/apparatus
    ports:
      - "8090:8090"
      - "8443:8443"
    environment:
      DEMO_MODE: "true"
    networks:
      - lab

  crucible:
    image: nickcrew/crucible
    ports:
      - "3000:3000"
    environment:
      CRUCIBLE_TARGET_URL: http://chimera:8880
    volumes:
      - crucible-data:/app/data
    networks:
      - lab

networks:
  lab:

volumes:
  crucible-data:
docker compose up -d
Service URL
Crucible UI localhost:3000
Chimera Portal localhost:8880
Chimera Swagger localhost:8880/swagger
Apparatus Dashboard localhost:8090/dashboard

Also available on npm

npm install -g @atlascrew/crucible
crucible start