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 / --no-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]
                                  The format to display the results in
  --help                          Show this message and exit.

Commands:
  analyze  Analyze the given directory or arguments with MythX.
  list     Get a list of submitted analyses.
  report   Fetch the report for a single or multiple job UUIDs.
  status   Get the status of an already submitted analysis.
  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.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.3.0.tar.gz (78.0 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.3.0-py2.py3-none-any.whl (17.8 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for mythx_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2a75adc083e639716c02622e5b20d32df013db21239ee521e62d3058039bd9e4
MD5 3296f18783f57af0c84041fff57ea3e6
BLAKE2b-256 7dd6e55422b941b5b08e3ec9a6c4ef317e24407865b85ae0f001cdd75d6496c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mythx_cli-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 17.8 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/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.6.7

File hashes

Hashes for mythx_cli-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ed3f68a0a90766b277313c1e87a00966f97f6eab1a2e057be914b539ca11648c
MD5 8d819f87660eb437b38680fa06b50280
BLAKE2b-256 a126c4d24a3c9e01aae6ac0f80ebc4e9a8bc86eef18ded18ef7fda4e7e48bc3e

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