Status Embark plugin for MythX
Go to file
Sebastian Mueller 40458d8a01 Merge branch 'master' of https://github.com/flex-dapps/embark-mythx 2020-01-28 17:30:38 +01:00
compat/remix-lib First working version 2019-04-26 18:09:09 +02:00
lib Fixing help string; cleanup 2019-04-26 18:09:09 +02:00
.gitignore Initial commit 2019-04-26 18:08:49 +02:00
LICENSE Create LICENSE 2019-04-29 10:13:53 +02:00
README.md Removed cache lookup option 2020-01-28 17:30:26 +01:00
index.js Removed cache lookup option 2020-01-28 17:30:26 +01:00
mythx.js Merge branch 'master' of https://github.com/flex-dapps/embark-mythx 2020-01-28 17:30:38 +01:00
package-lock.json Bump lodash from 4.17.11 to 4.17.14 2019-07-13 07:02:31 +00:00
package.json Upgrade dependencies for web3 and tunnel-agent vulnerabilities 2019-06-05 10:15:18 +02:00

README.md

Running MythX analyses in Status Embark

GitHub license npm

Status Embark plugin for MythX.

This plugin brings MythX to Status Embark. Simply call verify from the Embark console and embark-mythx sends your contracts off for analysis. It is inspired by truffle-security and uses its source mapping and reporting functions.

QuickStart

  1. Create a .env file in the root of your project and provide your MythX login information. If omitted, MythX will run in trial mode.
MYTHX_ETH_ADDRESS="<mythx-address>"
MYTHX_PASSWORD="<password>"
  1. Run verify [options] [contracts] in the Embark console. When the call returns, it will look something like this:
Embark (development) > verify
embark-mythx: Running MythX analysis in background.
embark-mythx: Submitting 'ERC20' for analysis...
embark-mythx: Submitting 'SafeMath' for analysis...
embark-mythx: Submitting 'Ownable' for analysis...

embark-mythx: 
/home/flex/mythx-plugin/testToken/.embark/contracts/ERC20.sol
  1:0  warning  A floating pragma is set  SWC-103

✖ 1 problem (0 errors, 1 warning)

embark-mythx: MythX analysis found vulnerabilities.

Installation

  1. Install this plugin from the root of your Embark project:
$ npm i embark-mythx
# or
$ npm i flex-dapps/embark-mythx
  1. Add embark-mythx to the plugins section of your embark.json file. To have the plugin permanently ignore one or multiple contracts, add them to the configuration:
"plugins": {
  "embark-mythx": {
    "ignore": ["Ownable", "Migrations"]
  }
}

Usage

verify [--full] [--debug] [--limit] [--initial-delay] [<contracts>]
verify status <uuid>
verify help

Options:
	--full, -f		Perform full instead of quick analysis (not available on free MythX tier).
	--debug, -d		Additional debug output.
	--limit, -l		Maximum number of concurrent analyses.
	--initial-delay, -i	Time in seconds before first analysis status check.

	[<contracts>]		List of contracts to submit for analysis (default: all).
	status <uuid>		Retrieve analysis status for given MythX UUID.
	help			This help.

Example Usage

# Quick analysis on all contracts in project
$ verify

# 'ERC20' and 'Ownable' full analysis
$ verify ERC20 Ownable --full

# Check status of previous or ongoing analysis
$ verify status ef5bb083-c57a-41b0-97c1-c14a54617812