Developed by Carnegie Mellon University's Software Engineering Institute (SEI), Crucible is a modular framework for creating, deploying, and managing virtual environments to support training, education, and exercises. Within the Crucible framework are the following applications and plugins.
Crucible’s Alloy application enables users to launch an on-demand event or join an instance of an already-running simulation. Following the event, reports can provide a summary of knowledge and performance assessments.
Crucible’s Caster application enables the “coded” design and deployment of a cyber topology. Using Caster Designs, a novice content developer can avoid scripting OpenTofu code by simply defining variables within pre-configured OpenTofu modules. Caster supports the design and deployment of virtual environments to three types of hypervisors:
Crucible’s Player application is the user’s window into the virtual environment. Player enables assignment of team membership as well as customization of a responsive, browser-based user-interfaces using various integrated applications. A Crucible system administrator can shape how scenario information, assessments, and virtual environments are presented through the use of integrated applications.
- Player API Repository
- Player Console UI Repository
- Player UI Repository
- Player VM API Repository
- Player VM UI Repository
Crucible’s Steamfitter application enables the organization and execution of scenario tasks on virtual machines.
Steamfitter relies upon StackStorm, an open source event-driven platform used to automate workflows, to execute commands.
Crucible’s TopoMojo application enables designing simple labs and challenges using form based configurations. Select and configure virtual machines, define networks, and write a guide.
Crucible’s Gameboard application provides game design capabilities and a competition-ready user interface for running your own cybersecurity game.
Crucible’s Blueprint application enables the collaborative creation and visualization of a master scenario event list (MSEL) for an exercise. Scenario events are mapped to specific simulation objectives.
Crucible’s Gallery application enables participants to review cyber incident information based on source type (intelligence, reporting, orders, news, social media, telephone, email) categorized by critical infrastructure sector or any other organization.
Crucible’s Collaborative Incident Threat Evaluator (CITE) application enables participants from different organizations to evaluate, score, and comment on cyber incidents. CITE also provides a situational awareness dashboard that allows teams to track their internal actions and roles.
The Crucible appliance is an environment that includes everything needed to install and configure the core applications of the Crucible framework. The appliance application stack consists of a single-node Docker swarm utilizing a Traefik reverse proxy. They are assembled using Docker Compose files on an Ubuntu 20.04 operating system. To get started with the Crucible appliance, see:
Crucible common modules are a set of Angular modules that are common between Crucible apps. For more information, see:
The Crucible plugin for Moodle is an activity plugin that allows Crucible labs and exercises to be accessed from the Moodle open-source learning management system. For more information, see:
osTicket (https://osticket.com/) is a widely-used open source support ticket system that can be configured and deployed for an exercise. To get started with the Crucible plugin for osTicket, see:
This is the Terraform Provider for Crucible which is used to create many Crucible resource types (e.g., Player Virtual Machines, Views, Applications, and others). For more information, see:
This is the Terraform Provider for Identity that creates and manages user accounts and other resources using the Identity API. For additional information, see:
You can find documentation on Crucible and all of its components here.
Think you found a bug? Please report all Crucible bugs - including bugs for the individual Crucible apps - in the cmu-sei/crucible issue tracker.
Include as much detail as possible including steps to reproduce, specific app involved, and any error messages you may have received.
Have a good idea for a new feature? Submit all new feature requests through the cmu-sei/crucible issue tracker.
Include the reasons why you're requesting the new feature and how it might benefit other Crucible users.
Copyright 2024 Carnegie Mellon University. See the LICENSE.md file for details.