Skip to main content

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

Project description

A PythX-driven CLI for MythX

https://img.shields.io/pypi/v/mythx-cli.svg https://img.shields.io/travis/dmuhs/mythx-cli.svg https://coveralls.io/repos/github/dmuhs/mythx-cli/badge.svg?branch=master Documentation Status Updates

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
  --access-token TEXT             Your access token generated from the MythX
                                  dashboard
  --eth-address TEXT              Your MythX account's Ethereum address
  --password TEXT                 Your MythX account's password as set in the
                                  dashboard
  --format [simple|json|json-pretty|table]
                                  The format to display the results in
                                  [default: table]
  --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
  --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.
  version   Display API version information.

Installation

The MythX CLI runs on Python 3.6+, including 3.8-dev and pypy.

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

History

0.4.1 (2020-01-03)

  • Add batch directory submission feature

  • Add a --yes flag to skip confirmation messages

0.4.0 (2020-01-02)

  • Add --output flag to print to file

  • Refactor test suite

  • Update coverage to 5.0.1

  • Update Sphinx to 2.3.1

  • Update tox to 3.14.3

0.3.0 (2019-12-16)

  • Add links to MythX dashboard in formatters

  • Add support for analysis groups

  • Split up logic in subcommands (analysis and group)

  • Add CI flag to return 1 on high-severity issues

  • Add parameter to blacklist SWC IDs

  • Fix bug where --solc-version parameter did not work

  • Refactor test suite

  • Update pytest to 5.3.1

  • Update Sphinx to 2.3.0

0.2.1 (2019-10-04)

  • Update PythX to 1.3.2

0.2.0 (2019-10-04)

  • Update PythX to 1.3.1

  • Add tabular format option as new pretty default

  • Update pytest to 5.2.0

  • Various bugfixes

0.1.8 (2019-09-16)

  • Update dependencies to account for new submodules

0.1.7 (2019-09-16)

  • Update pythx from 1.2.4 to 1.2.5

  • Clean stale imports, fix formatting issues

0.1.6 (2019-09-15)

  • Improve CLI docstrings

  • Add more formatter-related documentation

0.1.5 (2019-09-15)

  • Add autodoc to Sphinx setup

  • Add middleware for tool name field

  • Enable pypy3 support

  • Add more verbose documentation

  • Allow username/password login

0.1.4 (2019-09-13)

  • Fix Atom’s automatic Python import sorting (broke docs)

0.1.3 (2019-09-13)

  • Fix faulty version generated by bumpversion

0.1.2 (2019-09-13)

  • Fix bumpversion regex issue

0.1.1 (2019-09-13)

  • Initial implementation

  • Integrated Travis, PyUp, PyPI upload

0.1.0 (2019-08-31)

  • First release on PyPI.

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

mythx_cli-0.4.1.tar.gz (78.7 kB view details)

Uploaded Source

Built Distribution

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

mythx_cli-0.4.1-py2.py3-none-any.whl (18.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mythx_cli-0.4.1.tar.gz.

File metadata

  • Download URL: mythx_cli-0.4.1.tar.gz
  • Upload date:
  • Size: 78.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for mythx_cli-0.4.1.tar.gz
Algorithm Hash digest
SHA256 513ce155945a4847209b80ff4d582c66dfafdd8aa331b9e17db33bbb901902eb
MD5 4a18eabaf5684dc2526ad5efb90916cb
BLAKE2b-256 e1ae63036ea90d6f57691fee29e0092d3af6ee28f92734ca72d5b02b30baf393

See more details on using hashes here.

File details

Details for the file mythx_cli-0.4.1-py2.py3-none-any.whl.

File metadata

  • Download URL: mythx_cli-0.4.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.6.7

File hashes

Hashes for mythx_cli-0.4.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 710d3a0ab1cb278fa95a3d9b06e1b065f8f5f90675701b76815ea332b4e64f24
MD5 dcc86b50cd0ae109297a710b4dd50409
BLAKE2b-256 0b3d6d152b8f313c7c22cad950939095793e5ac205579d07337930a7b5e67266

See more details on using hashes here.

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