Skip to main content

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

Logo

Dreadnode command line interface

PyPI - Python Version PyPI - Version Docker Hub GitHub License GitHub Actions Workflow Status


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 ~/.dreadnode and 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

dreadnode_cli-0.2.2.tar.gz (39.9 kB view details)

Uploaded Source

Built Distribution

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

dreadnode_cli-0.2.2-py3-none-any.whl (50.9 kB view details)

Uploaded Python 3

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

Hashes for dreadnode_cli-0.2.2.tar.gz
Algorithm Hash digest
SHA256 3f942545b9aba1e676901b3786c8f39ef4eedbb1c85b2c17f9bd3e77ad40107f
MD5 0880ddc3070699c70c5df9735c117055
BLAKE2b-256 7f0c90571235dd9337bec0eba698639acfed06e63c9bd3d0309d087c46d02de8

See more details on using hashes here.

Provenance

The following attestation bundles were made for dreadnode_cli-0.2.2.tar.gz:

Publisher: publish.yml on dreadnode/cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for dreadnode_cli-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ac44ba24efaacf83e691fd5fa14426de9a1d9f5031b78f1d9c62c85bdef3ece2
MD5 71bd4b3f3e5d8a73bb6e6c5dd0b930bd
BLAKE2b-256 3db4e240a4405e4b9fa9b1411360ad7782e429e97a281366b40e13b56761aca0

See more details on using hashes here.

Provenance

The following attestation bundles were made for dreadnode_cli-0.2.2-py3-none-any.whl:

Publisher: publish.yml on dreadnode/cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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