Security analysis tool for EVM bytecode. Supports smart contracts built for Ethereum, Hedera, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Konrad Weiss b18edc8d5d Adding files for source code params to symbolic value mapping 7 years ago
.circleci Updates PyPI deployment by CircleCI (see README_DEV.md for instructions) 7 years ago
mythril Adding files for source code params to symbolic value mapping 7 years ago
solidity_examples Refactor analysis modules 7 years ago
static F2F: Improve formatting of analysis reports 7 years ago
tests Merge pull request #184 from JoranHonig/feature/taint_integer 7 years ago
.coveragerc improve coverage config 7 years ago
.editorconfig add .editorconfig to help developers keeping consistent code format 7 years ago
.gitattributes Add .gitattributes 7 years ago
.gitignore Adds circleci test support 7 years ago
Dockerfile fix dockerfile 7 years ago
LICENSE Update LICENSE 7 years ago
MANIFEST.in Add HMTL templates to MANIFEST.in 7 years ago
Pipfile Define version for rlp 7 years ago
Pipfile.lock Adds circleci test support 7 years ago
README.md Update README.md 7 years ago
all_tests.sh Adds circleci test support 7 years ago
annotationWrapper.py Add annotation files such as the wrapper in front of the analysis and the annotation class structures 7 years ago
coverage_report.sh make sure use same signatures.json in every test 7 years ago
myth refactored __main__ creating a base Mythril interface class 7 years ago
requirements.txt Bump laser version 7 years ago
setup.py Bump version number 7 years ago
signatures.json Add more functions signatures 7 years ago

README.md

Mythril

Master Build Status Join the chat at https://gitter.im/ConsenSys/mythril PyPI

Mythril is a security analysis tool for Ethereum smart contracts. It uses concolic analysis, taint analysis and control flow checking to detect a variety of security vulnerabilities. The analysis is based on laser-ethereum, a symbolic execution library for EVM bytecode.

Installation and setup

Build the Docker image:

$ git clone https://github.com/ConsenSys/mythril/
$ docker build mythril

Install from Pypi:

$ pip3 install mythril

See the Wiki for more detailed instructions.

Usage

Documentation has moved to the Wiki page.

Publications and Videos

Acknowledgements

  • JSON RPC library is adapted from ethjsonrpc (it doesn't seem to be maintained anymore, and I needed to make some changes to it).

  • The signature data in signatures.json was initially obtained from the Ethereum Function Signature Database.

  • Many features, bugfixes and analysis modules have been added by contributors.