Dreadnode CLI
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
Project description
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 .
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dreadnode_cli-0.2.2.tar.gz.
File metadata
- Download URL: dreadnode_cli-0.2.2.tar.gz
- Upload date:
- Size: 39.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f942545b9aba1e676901b3786c8f39ef4eedbb1c85b2c17f9bd3e77ad40107f
|
|
| MD5 |
0880ddc3070699c70c5df9735c117055
|
|
| BLAKE2b-256 |
7f0c90571235dd9337bec0eba698639acfed06e63c9bd3d0309d087c46d02de8
|
Provenance
The following attestation bundles were made for dreadnode_cli-0.2.2.tar.gz:
Publisher:
publish.yml on dreadnode/cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dreadnode_cli-0.2.2.tar.gz -
Subject digest:
3f942545b9aba1e676901b3786c8f39ef4eedbb1c85b2c17f9bd3e77ad40107f - Sigstore transparency entry: 174643688
- Sigstore integration time:
-
Permalink:
dreadnode/cli@571f99cf5ac6fc3c2eb609c889e6f294a0dfb562 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/dreadnode
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@571f99cf5ac6fc3c2eb609c889e6f294a0dfb562 -
Trigger Event:
push
-
Statement type:
File details
Details for the file dreadnode_cli-0.2.2-py3-none-any.whl.
File metadata
- Download URL: dreadnode_cli-0.2.2-py3-none-any.whl
- Upload date:
- Size: 50.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac44ba24efaacf83e691fd5fa14426de9a1d9f5031b78f1d9c62c85bdef3ece2
|
|
| MD5 |
71bd4b3f3e5d8a73bb6e6c5dd0b930bd
|
|
| BLAKE2b-256 |
3db4e240a4405e4b9fa9b1411360ad7782e429e97a281366b40e13b56761aca0
|
Provenance
The following attestation bundles were made for dreadnode_cli-0.2.2-py3-none-any.whl:
Publisher:
publish.yml on dreadnode/cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
dreadnode_cli-0.2.2-py3-none-any.whl -
Subject digest:
ac44ba24efaacf83e691fd5fa14426de9a1d9f5031b78f1d9c62c85bdef3ece2 - Sigstore transparency entry: 174643689
- Sigstore integration time:
-
Permalink:
dreadnode/cli@571f99cf5ac6fc3c2eb609c889e6f294a0dfb562 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/dreadnode
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@571f99cf5ac6fc3c2eb609c889e6f294a0dfb562 -
Trigger Event:
push
-
Statement type: