- Notifications
You must be signed in to change notification settings - Fork18
Crucible is a modular framework for creating, deploying, and managing virtual environments to support training, education, and exercises.
License
cmu-sei/crucible
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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’sAlloy 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’sCaster 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’sPlayer 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’sSteamfitter application enables the organization and execution of scenario tasks on virtual machines.
Steamfitter relies uponStackStorm, an open source event-driven platform used to automate workflows, to execute commands.
Crucible’sTopoMojo application enables designing simple labs and challenges using form based configurations. Select and configure virtual machines, define networks, and write a guide.
Crucible’sGameboard application provides game design capabilities and a competition-ready user interface for running your own cybersecurity game.
Crucible’sBlueprint 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’sGallery application enablesparticipants to review cyber incident information based on source type (intelligence, reporting, orders, news, social media, telephone, email) categorized by critical infrastructure sectoror any other organization.
Crucible’sCollaborative 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 theTerraform 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 theTerraform Provider forIdentity 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 componentshere.
Think you found a bug? Please report all Crucible bugs - including bugs for the individual Crucible apps - in thecmu-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 thecmu-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 theLICENSE.md file for details.
About
Crucible is a modular framework for creating, deploying, and managing virtual environments to support training, education, and exercises.