Skip to content

A command line interface for the MythX smart contract security analysis API

License

Notifications You must be signed in to change notification settings

Consensys/mythx-cli

Repository files navigation

A PythX-driven CLI for MythX

MythX CLI on PyPI MythX CLI License MythX CLI Build Status MythX CLI Coverage Stats Documentation Status PyPI - Downloads

This package aims to provide a simple to use command line interface for the MythX smart contract security analysis API. It's main purpose is to demonstrate how advanced features can be implemented using the PythX Python language bindings for MythX to simplify API interaction.

What is MythX?

MythX is a security analysis API that allows anyone to create purpose-built security tools for smart contract developers. Tools built on MythX integrate seamlessly into the development environments and continuous integration pipelines used throughout the Ethereum ecosystem.

Usage

$ mythx
Usage: mythx [OPTIONS] COMMAND [ARGS]...

  Your CLI for interacting with https://mythx.io/

Options:
  --debug                         Provide additional debug output
  --api-key TEXT                  Your MythX API key from the dashboard
  --username TEXT                 Your MythX account's username
  --password TEXT                 Your MythX account's password
  --format [simple|json|json-pretty|table]
                                  The format to display the results in
  --ci                            Return exit code 1 if high-severity issue is
                                  found

  -y, --yes                       Do not prompt for any confirmations
  -o, --output TEXT               Output file to write the results into
  -c, --config PATH               YAML config file for default parameters
  --stdout                        Force printing to stdout
  --table-sort-key [line|title|severity|description]
                                  The column to sort the default table output
                                  by

  --help                          Show this message and exit.

Commands:
  analysis  Get information on running and finished analyses.
  analyze   Analyze the given directory or arguments with MythX.
  group     Create, modify, and view analysis groups.
  render    Render an analysis job or group report as HTML.
  version   Display API version information.

Installation

The MythX CLI runs on Python 3.6+, including 3.8 and pypy3.

To get started, simply run

$ pip3 install mythx-cli

Alternatively, clone the repository and run

$ pip3 install .

Or directly through Python's setuptools:

$ python3 setup.py install