Skip to main content
https://sandialabs.github.io/firewheel/_static/logo_horizontal.png https://img.shields.io/badge/python-3.9%20%7C%203.10%7C%203.11%7C%203.12%7C%203.13-blue https://www.bestpractices.dev/projects/9722/badge https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg

FIREWHEEL is an experiment orchestration tool that assists a user in building and controlling repeatable experiments of distributed network systems at any scale.

FIREWHEEL was developed as part of Sandia National Laboratories Emulytics program. With FIREWHEEL, users can easily construct modular parts of a cyber system, called Model Components. These Model Components can be combined to form an experiment. Most experiments are then instantiated using an emulation tool, such as minimega. Actions can be scheduled to occur within the experiment to enable fully automated experimentation. FIREWHEEL enables easily logging the results of these actions so that they can be analyzed. Therefore, it is trivial to run hundreds of experiments and collect results on the outcome.

Getting Started

  • For a crash course on key FIREWHEEL concepts and on using FIREWHEEL please see our quickstart-guide guide.

  • To learn why experimentation may be the right tool to answer certain kinds of questions (and when it is probably the wrong tool) review our documentation on Cyber Experimentation.

  • An overview of FIREWHEEL including how FIREWHEEL can help a researcher implement high-quality emulation-based experiments, hardware requirements, software architecture, and known security security concerns is provided in our System Overview.

  • An in-depth review of important FIREWHEEL concepts, is located here.

  • The CLI reference documentation can be found here.

Questions, Feedback, or Bugs

If you have questions you’d like to ask the developers which our documentation does not answer, or feedback you’d like to provide, feel free to use the mailing list: firewheel AT sandia DOT gov

Please report any bugs that you find on our GitHub page. We happily accept pull requests (PR), big or small. Please see the Contributor Guide for more information.

Any security-related issues should be reported directly to the developers at: firewheel AT sandia DOT gov (see SECURITY.md) for more information.

License

Copyright 2024 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.

Please see LICENSE for more information.

Research Using FIREWHEEL

To cite FIREWHEEL please use the following publication:

Kasimir Georg Gabert, Adam Vail, Tan Q. Thai, Ian Burns, Michael J. McDonald, Steven Elliott, John Vivian Montoya, Jenna Marie Kallaher, and Stephen T. Jones. 2015. “Firewheel - A Platform for Cyber Analysis.” United States. https://www.osti.gov/servlets/purl/1333803.

A non-comprehensive list of research/projects using FIREWHEEL includes:

  • Sean Oesch, Amul Chaulagain, Brian Weber, Matthew Dixson, Amir Sadovnik, Benjamin Roberson, Cory Watson, and Phillipe Austria. 2024. “Towards a High Fidelity Training Environment for Autonomous Cyber Defense Agents.” In Proceedings of the 17th Cyber Security Experimentation and Test Workshop (CSET ‘24). Association for Computing Machinery, New York, NY, USA, 91–99. https://doi.org/10.1145/3675741.3675752

  • Michael Stickland, Justin D. Li, Thomas D. Tarman, and Laura Painton Swiler. 2021. “Uncertainty Quantification in Cyber Experimentation.” United States. https://www.osti.gov/biblio/1867999.

  • Michael Stickland, Justin D. Li, Laura Painton Swiler, and Thomas Tarman. 2021. “Foundations of Rigorous Cyber Experimentation.” United States. https://www.osti.gov/biblio/1854751.

  • Russell Van Dam, Thien-Nam Dinh, Christopher Cordi, Gregory Jacobus, Nicholas Pattengale, and Steven Elliott. 2019. “Proteus: A DLT-Agnostic Emulation and Analysis Framework.” In 12th USENIX Workshop on Cyber Security Experimentation and Test (CSET 19), Santa Clara, CA. USENIX Association. https://www.usenix.org/conference/cset19/presentation/vandam.

  • Nicholas D. Pattengale and David Rushton Farley. 2019. “Prototype Distributed Ledger Technology of UF6 Cylinder Tracking in Ethereum.” United States. https://www.osti.gov/biblio/1770508.

  • Laura Painton Swiler, Michael Stickland, and Thomas D. Tarman. 2019. “Design of Experiments for Cyber Experimentation.” United States. https://www.osti.gov/biblio/1640123.

  • Michael Stickland, Kasimir Georg Gabert, and John Jacobellis. 2017. “In Situ Training Environment for Autonomous Cyber.” United States. https://www.osti.gov/biblio/1464674.

  • Stephen T. Jones, Kasimir G. Gabert, and Thomas D. Tarman. 2017. “Evaluating Emulation-based Models of Distributed Computing Systems.” United States. https://www.osti.gov/biblio/1398865.

  • Isaac Polinsky. 2017. “A Platform for Developing and Evaluating Security Apps in Software Defined Networks.” United States. https://www.osti.gov/biblio/1507916.

  • John Frank Floren, Jerrold A. Friesen, Craig D. Ulmer, and Stephen T. Jones. 2017. “A Reference Architecture For Emulytics Clusters.” United States. https://www.osti.gov/biblio/1823205.

  • Kasimir Gabert, Ian Burns, Steven Elliott, Jenna Marie Kallaher, and Adam Vail. 2016. “Staghorn: An Automated Large-Scale Distributed System Analysis Platform.” United States. https://www.osti.gov/biblio/1411885.

Metadata

Release files for firewheel 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for firewheel 3.0.0
File Size Uploaded
firewheel-3.0.0.tar.gz 10.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for firewheel 3.0.0
File Interpreter ABI Platform
firewheel-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.8 MB

Release files / firewheel-3.0.0.tar.gz

Download URL firewheel-3.0.0.tar.gz
Size 10.4 MB
Tags Source
SHA-256 checksum
How to use checksums
cabc8fb3afa2bc22d60384477fda5f5c961c145a06b924a4c0dd6456f7a81652
BLAKE2b-256 checksum
How to use checksums
3da5ecc496ccdbd06483118da7bc1d88f2b78c385d4967556904d8cbcff64fd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / firewheel-3.0.0-py3-none-any.whl

Download URL firewheel-3.0.0-py3-none-any.whl
Size 406.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1792fa70b929e105c56cf04311abc2573c8dde3415dfb6d3b2611c8e4d4ee2cc
BLAKE2b-256 checksum
How to use checksums
5598eb8b5b60241522a2c7ac57d8f743ed54af94b5604e4282f41db42b913d62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 release files

2.11.0

2 release files

2.10.1

2 release files

2.10.0

2 release files

2.9.0

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page