This project has been archived by its maintainers, and is no longer receiving any updates.
Dreadnode command line interface
Installing
From PyPi
pip install dreadnode-cli
To upgrade the CLI to the latest version, run:
pip install --upgrade dreadnode-cli
To uninstall the CLI, run:
pip uninstall dreadnode-cli
[!IMPORTANT]
The data folder with authentication credentials is located at~/.dreadnodeand will not be automatically removed when uninstalling the CLI.
From Docker Hub
To pull the latest CLI image from Docker Hub, run:
docker pull dreadnode/dreadnode-cli
Whenever using the CLI from a docker container, remember to share your user configuration, the network from the host and mount the docker socket:
docker run -it \
--net=host \
-v/var/run/docker.sock:/var/run/docker.sock \
-v$HOME/.dreadnode:/root/.dreadnode \
dreadnode --help
Optionally, you can create a bash alias like so:
alias dreadnode='docker run -it --net=host -v/var/run/docker.sock:/var/run/docker.sock -v$HOME/.dreadnode:/root/.dreadnode dreadnode'
Usage
[!NOTE] For a full list of commands and options, see the CLI.md file.
Help menu:
dreadnode --help
Show version:
dreadnode version
Authenticate:
dreadnode login
Authenticate to a specific server:
dreadnode login --server https://local-platform.dreadnode.io
Manage server profiles with:
# list all profiles
dreadnode profile list
# switch to a named profile
dreadnode profile switch <profile_name>
# remove a profile
dreadnode profile forget <profile_name>
Interact with the Crucible challenges:
# list all challenges
dreadnode challenge list
# download an artifact
dreadnode challenge artifact <challenge_id> <artifact_name> -o <output_path>
# submit a flag
dreadnode challenge submit-flag <challenge_id> 'gAAAAA...'
Interact with Strike agents:
# list all strikes
dreadnode agent strikes
# list all available templates with their descriptions
dreadnode agent templates show
# install a template pack from a github repository
dreadnode agent templates install dreadnode/basic-templates
# initialize a new agent in the current directory
dreadnode agent init -t <template_name> <strike_id>
# initialize a new agent in the specified directory
dreadnode agent init -t <template_name> <strike_id> --dir <directory>
# initialize a new agent using a custom template from a github repository
dreadnode agent init -s username/repository <strike_id>
# initialize a new agent using a custom template from a github branch/tag
dreadnode agent init -s username/repository@custom-feature <strike_id>
# initialize a new agent using a custom template from a ZIP archive URL
dreadnode agent init -s https://example.com/template-archive.zip <strike_id>
# push a new version of the agent
dreadnode agent push
# start a new run using the latest agent version.
dreadnode agent deploy
# start a new run using the latest agent version with custom environment variables
dreadnode agent deploy --env-var TEST_ENV=test --env-var ANOTHER_ENV=another_value
# start a new run using the latest agent version with custom parameters (using toml syntax)
dreadnode agent deploy --param "foo = 'bar'" --param "baz = 123.0"
# start a new run using the latest agent version with custom parameters from a toml file
dreadnode agent deploy --param @parameters.toml
# start a new run using the latest agent version and override the container command
dreadnode agent deploy --command "echo 'Hello, world!'"
# show the latest run of the currently active agent
dreadnode agent latest
# list all available links
dreadnode agent links
# list available models for the current strike
dreadnode agent models
# list all runs for the currently active agent
dreadnode agent runs
# show the status of the currently active agent
dreadnode agent show
# list historical versions of this agent
dreadnode agent versions
# switch/link to a different agent
dreadnode agent switch <agent_id>
Development
Poetry Shell
This project uses the Poetry package management tool, to install from source run the following commands:
git clone https://github.com/dreadnode/cli.git
cd cli
poetry install
You can then enter the project's virtual environment:
poetry shell
Building the Docker Image
Alternatively, you can build a docker image and run the CLI from a container:
git clone https://github.com/dreadnode/cli.git
cd cli
docker build -t dreadnode .
Metadata
Release files for dreadnode-cli 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| dreadnode_cli-0.2.2.tar.gz | 39.9 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dreadnode_cli-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 90.8 kB
Release files / dreadnode_cli-0.2.2.tar.gz
| Download URL | dreadnode_cli-0.2.2.tar.gz |
|---|---|
| Size | 39.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f942545b9aba1e676901b3786c8f39ef4eedbb1c85b2c17f9bd3e77ad40107f
|
|
BLAKE2b-256 checksum How to use checksums |
7f0c90571235dd9337bec0eba698639acfed06e63c9bd3d0309d087c46d02de8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 26, 2025.
Transparency logRelease files / dreadnode_cli-0.2.2-py3-none-any.whl
| Download URL | dreadnode_cli-0.2.2-py3-none-any.whl |
|---|---|
| Size | 50.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ac44ba24efaacf83e691fd5fa14426de9a1d9f5031b78f1d9c62c85bdef3ece2
|
|
BLAKE2b-256 checksum How to use checksums |
3db4e240a4405e4b9fa9b1411360ad7782e429e97a281366b40e13b56761aca0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.1 CPython/3.12.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 26, 2025.
Transparency logSecurity for dreadnode-cli 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for dreadnode_cli-0.2.2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 26, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.