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://dev-crucible.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

# 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.1.1.tar.gz (36.0 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.1.1-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

Details for the file dreadnode_cli-0.1.1.tar.gz.

File metadata

  • Download URL: dreadnode_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 36.0 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.1.1.tar.gz
Algorithm Hash digest
SHA256 514bd6ec001f9941d354f13d32fceb7317845f8758c7bba7f05c2a3e8da05631
MD5 fcebe8ea62b3f086517e42d4d2032bc6
BLAKE2b-256 030f6e95ec6ec41ed7c3a7686c1a5872bc80909923e0d99448e1949e982b3e80

See more details on using hashes here.

Provenance

The following attestation bundles were made for dreadnode_cli-0.1.1.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.1.1-py3-none-any.whl.

File metadata

  • Download URL: dreadnode_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 45.4 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 33b4bd7d60d6025b9e193657bf370c27acb56a9e6a824d99e4bda9550b03a218
MD5 23baad6cf79e0290229aacd1eea47ac6
BLAKE2b-256 ba05f34e6b195c5b6c6bc7b97e9ff336c37921844e26987c1c4a79a91b822bdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for dreadnode_cli-0.1.1-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