Skip to main content

For interacting with the Chariot API

Project description

Praetorian CLI and SDK

Python Version pip Version License Contributor Covenant Open Source Libraries Contributions Welcome

:link: Chariot Platform :book: Documentation :bookmark: PyPI

Table of Contents

Description

Praetorian CLI and SDK are open-source tools for interacting with our products and services. Currently, they support access to Chariot, our offensive security platform.
The SDK exposes the full set of APIs that the Chariot UI uses.
The CLI is a fully-featured companion to the Chariot UI.

Getting Started

Prerequisites

  • Python v3.9 or above
  • pip v23.0 or above

Installation

Install the Python package using this command:

pip install praetorian-cli

Signing up and configuration

  1. Register for an account for Chariot using the instructions in our documentation.
  2. Run praetorian configure and follow the prompts.
  3. It creates ~/.praetorian/keychain.ini, which should read like this:
[United States]
name = chariot
client_id = 795dnnr45so7m17cppta0b295o
api = https://d0qcl2e18h.execute-api.us-east-2.amazonaws.com/chariot
username = lara.lynch@acme.com
password = 8epu9bQ2kqb8qwd.GR

For more advanced configuration options, as well as SSO. See the documentation on configuration.

Using the CLI

The CLI is a command and option utility for access to the full suite of Chariot API. See documentation for commands using the help option:

praetorian chariot --help

As an example, run the following command to retrieve the list of all assets in your account:

praetorian chariot list assets

To get detailed information about a specific asset, run:

praetorian chariot get asset <ASSET_KEY>

Using scripts

The CLI has a scripting engine for implementing more complex workflows. They add end-to-end functions as commands grouped under script. To see a list of them:

praetorian chariot script --help

For example the following command is used to ingest scan results from Nessus XML export files:

praetorian chariot script nessus-xml

You can find the list of scripts that comes with the CLI in this directory

Loading more extension scripts

In addition to scripts that are packaged with the CLI, you can point CLI to directories with scripts to further extend the CLI with those scripts. Set the PRAETORIAN_SCRIPTS_PATH environment to point to directories where you store additional extension scripts.

Developers

Both CLI and SDK is open-source in this repository. The SDK is installed along with the praetorian-cli package. You can extend Chariot by creating scripts using the SDK.

SDK

Integrate the SDK into your own Python application with the following steps:

  1. Include the dependency praetorian-cli in your project.
  2. Import the Chariot class from praetorian_cli.sdk.chariot import Chariot.
  3. Import the Keychain class from praetorian_cli.sdk.keychain import Keychain.
  4. Call any function of the Chariot class, which expose the full backend API. See example below:
from praetorian_cli.sdk.chariot import Chariot
from praetorian_cli.sdk.keychain import Keychain

chariot = Chariot(Keychain())
chariot.add('asset', dict(name='example.com', dns='example.com'))

The best place to explore the SDK is the code of the CLI, especially the handlers of the CLI

You can inspect the handler code to see how each CLI command is implemented with the SDK.

Developing scripts

If you want to take advantage of the scaffolding of the CLI, you can write fully fledged functions using the scripting engine. For developing scripts, you can refer to this readme file.

Contributing

We welcome contributions from the community, from scripts, to the core CLI and SDK. To contribute, fork this repository and following the GitHub instructions to create pull requests.

By contributing, you agree to our Code of Conduct.

Support

If you have any questions or need support, please open an issue here or reach out via support@praetorian.com.

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

praetorian_cli-1.5.3.tar.gz (28.2 kB view details)

Uploaded Source

Built Distribution

praetorian_cli-1.5.3-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file praetorian_cli-1.5.3.tar.gz.

File metadata

  • Download URL: praetorian_cli-1.5.3.tar.gz
  • Upload date:
  • Size: 28.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.6

File hashes

Hashes for praetorian_cli-1.5.3.tar.gz
Algorithm Hash digest
SHA256 67854d2e928b944dc2fd71b338dd0e53edc30b7ec0910b3997d945ffdeafb236
MD5 5cf3d180e6b8f5ed2e4f423e331fdd2b
BLAKE2b-256 6b94773752f9022be125d3eb5c45283fa99b47bbbcfcd8fd5014a0039b8586f8

See more details on using hashes here.

File details

Details for the file praetorian_cli-1.5.3-py3-none-any.whl.

File metadata

File hashes

Hashes for praetorian_cli-1.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2d476f45dd7c4800b2cbb0e7e132891cfc329d3008645c4670ed6bb62d2d8d52
MD5 6cf3cb64954c347fbf2afb4c2822f8a6
BLAKE2b-256 802deb5b857382b6a1f202a0b1fc7c737d7e1c13bf40e2dd3eb88d577679197e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page