Skip to main content

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

Reason this release was yanked:

Misversioned - should be 2.11.0

Project description

https://sandialabs.github.io/firewheel/_static/logo_horizontal.png https://img.shields.io/badge/python-3.8%20%7C%203.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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

firewheel-2.10.1.tar.gz (10.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

firewheel-2.10.1-py3-none-any.whl (377.6 kB view details)

Uploaded Python 3

File details

Details for the file firewheel-2.10.1.tar.gz.

File metadata

  • Download URL: firewheel-2.10.1.tar.gz
  • Upload date:
  • Size: 10.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for firewheel-2.10.1.tar.gz
Algorithm Hash digest
SHA256 cd8b28e9135a883700c428d37b23955e90f8a8e7c149530c266cedeee9a1a038
MD5 6455834c43fb7e084c2b144eab56ee84
BLAKE2b-256 1a22917bbbc0215e44217c3593a65e7345cfa47c3ed90fa0bb47140ec54ddadd

See more details on using hashes here.

File details

Details for the file firewheel-2.10.1-py3-none-any.whl.

File metadata

  • Download URL: firewheel-2.10.1-py3-none-any.whl
  • Upload date:
  • Size: 377.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for firewheel-2.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7d3cffa2dcd400c16b1f1ddaadf8905cb27185071a47408e0f3bc9973c20004a
MD5 851a382dab3d20e3ad5be2425d35c14f
BLAKE2b-256 f8307a1ed0b75731d4421787071da9fe6f983035001a018425a0acddae2973ce

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page