Skip to content

Crucible is a modular framework for creating, deploying, and managing virtual environments to support training, education, and exercises.

License

Notifications You must be signed in to change notification settings

cmu-sei/crucible

Repository files navigation

Crucible Framework

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.

Applications

Alloy

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.

Caster

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:

Player

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.

Steamfitter

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.

Topomojo

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.

Gameboard

Crucible’s Gameboard application provides game design capabilities and a competition-ready user interface for running your own cybersecurity game.

Blueprint

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.

Gallery

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.

CITE

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.

Crucible Appliance

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:

Plugins

Crucible Common Modules

Crucible common modules are a set of Angular modules that are common between Crucible apps. For more information, see:

Crucible plugin for Moodle

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

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:

Terraform Provider for Crucible

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:

Terraform Provider for Identity

This is the Terraform Provider for Identity that creates and manages user accounts and other resources using the Identity API. For additional information, see:

Documentation

You can find documentation on Crucible and all of its components here.

Reporting bugs and requesting features

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.

License

Copyright 2024 Carnegie Mellon University. See the LICENSE.md file for details.

About

Crucible is a modular framework for creating, deploying, and managing virtual environments to support training, education, and exercises.

Resources

License

Stars

Watchers

Forks

Packages

No packages published