Carbon CLI
Carbon CLI Reference
Infrastructure automation for offensive operations. https://analog-substance.github.io/carbon/
Carbon’s primary purpose is to provide a consistent execution environment to facilitate offensive security assessments.
It uses:
It is aimed at supporting various services to ensure it can scale with you as your operations become more complex.
Feature | AWS ✅ | QEMU ✅ | VirtualBox ✅ | vSphere ❌ | Multipass ✅ | Azure ❌ | GCP ❌ |
---|---|---|---|---|---|---|---|
Image build templates | ✅ | ✅ | ✅ | ✅ | ❌ N/A | ❌ | ❌ |
Build images | ✅ | ✅ | ✅ | ✅ | ❌ N/A | ❌ | ❌ |
Launch one off VM from images | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
Destroy VMs | ✅ | ✅ | ✅ | ✅ | ❌ N/A | ❌ | ❌ |
VM Start/Stop/SSH/VNC | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
Infrastructure Creation | ❌ | ❌ | ❌ | ❌ | ❌ N/A | ❌ | ❌ |
❌ = Not Right Now, but planned
✅ = Supported
You can download a prebuilt release from our GitHub Releases page.
Or use go install
.
go install github.com/analog-substance/carbon@latest
Carbon expects the following to be installed and accessible in your $PATH
.
Manage and use infrastructure with a consistent interface, regardless of where it lives.
Usage:
carbon [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
config Display config information
dev Unstable sub-commands for testing random ideas
help Help about any command
image manage images and image builds
vm Manage and interact with VMs
Flags:
--config string config file (default is $HOME/.carbon.yaml)
-e, --environment strings Environment to use. Some providers/profiles support many environments.
-h, --help help for carbon
-j, --json Output in JSON
-p, --profile strings Profile to use. Like an instance of a provider. Used to specify aws profiles
-P, --provider strings Provider to use vbox, aws
-v, --version version for carbon
Use "carbon [command] --help" for more information about a command.
carbon image bootstrap -n my-image -t ubuntu-24.04 -s aws
carbon image build -n my-image
List image build configs.
carbon image list -b
carbon vm start -i i-afde123ae43
carbon vm stop -i i-afde123ae43
carbon vm ssh -i i-afde123ae43
Carbon CLI Reference
Carbon has several types defined for providers to use
Providers help carbon work with various services.
Individual “objects” to make things easier
Packer, Cloud Init, Terraform and Ansible.