All Projects → ConsenSys → Mythril

ConsenSys / Mythril

Licence: mit
Security analysis tool for EVM bytecode. Supports smart contracts built for Ethereum, Hedera, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains.

Programming Languages

python
139335 projects - #7 most used programming language
solidity
1140 projects

Projects that are alternatives of or similar to Mythril

Truffle
A tool for developing smart contracts. Crafted with the finest cacaos.
Stars: ✭ 11,909 (+505.13%)
Mutual labels:  blockchain, ethereum, smart-contracts, hacktoberfest
Ergo
The Language for Smart Legal Contracts
Stars: ✭ 108 (-94.51%)
Mutual labels:  blockchain, ethereum, smart-contracts, hacktoberfest
Manticore
Symbolic execution tool
Stars: ✭ 2,599 (+32.06%)
Mutual labels:  blockchain, ethereum, program-analysis, symbolic-execution
Ethereumbook
Mastering Ethereum, by Andreas M. Antonopoulos, Gavin Wood
Stars: ✭ 11,663 (+492.63%)
Mutual labels:  blockchain, ethereum, smart-contracts
Smart Contracts Example
Simple example of token market. Based on blockchain technology using Ethereum platform.
Stars: ✭ 37 (-98.12%)
Mutual labels:  blockchain, ethereum, smart-contracts
Vyper.fun
Cryptozombies for Vyper: Learn Vyper by building games!
Stars: ✭ 42 (-97.87%)
Mutual labels:  ethereum, smart-contracts, hacktoberfest
Oyente
An Analysis Tool for Smart Contracts
Stars: ✭ 820 (-58.33%)
Mutual labels:  blockchain, ethereum, smart-contracts
Ethnode
Run an Ethereum node (Geth or Openethereum) for development
Stars: ✭ 74 (-96.24%)
Mutual labels:  blockchain, ethereum, smart-contracts
Remix
This has been moved to https://github.com/ethereum/remix-project
Stars: ✭ 1,063 (-45.99%)
Mutual labels:  blockchain, ethereum, smart-contracts
Cryptocurrencyawesome
Cryptocurrency study materials resources
Stars: ✭ 118 (-94%)
Mutual labels:  blockchain, ethereum, smart-contracts
Smart Contract Sanctuary
🐦🌴🌴🌴🦕 A home for ethereum smart contracts. 🏠
Stars: ✭ 99 (-94.97%)
Mutual labels:  blockchain, ethereum, smart-contracts
Learn Solidity With Examples
A repo full of smart contracts written in Solidity
Stars: ✭ 106 (-94.61%)
Mutual labels:  blockchain, ethereum, smart-contracts
Ethereum book
精通以太坊 (中文版)
Stars: ✭ 875 (-55.54%)
Mutual labels:  blockchain, ethereum, smart-contracts
Gdai.io
gDAI - Gas less DAI transfers by using GSN, Fulcrum and KyberNetwork
Stars: ✭ 26 (-98.68%)
Mutual labels:  blockchain, ethereum, smart-contracts
Learn Solidity
Code base for "Learn Solidity: Programming Language for Ethereum Smart Contracts" course in Tosh Academy & Blockchain Council
Stars: ✭ 44 (-97.76%)
Mutual labels:  blockchain, ethereum, smart-contracts
Aeternity
æternity: solving scalability problems by making sense of state-channels
Stars: ✭ 923 (-53.1%)
Mutual labels:  blockchain, ethereum, smart-contracts
Smart Contracts
Ethereum smart contracts for security and utility tokens
Stars: ✭ 1,187 (-39.68%)
Mutual labels:  blockchain, ethereum, smart-contracts
Ethereum Development With Go Book
📖 A little book on Ethereum Development with Go (golang)
Stars: ✭ 754 (-61.69%)
Mutual labels:  blockchain, ethereum, smart-contracts
Typechain
🔌 TypeScript bindings for Ethereum smart contracts
Stars: ✭ 769 (-60.92%)
Mutual labels:  blockchain, ethereum, hacktoberfest
Indy Leaderboard
Example game leaderboard dApp utilizing EbakusDB on Ebakus blockchain
Stars: ✭ 103 (-94.77%)
Mutual labels:  blockchain, ethereum, smart-contracts

Mythril

Discord PyPI Read the Docs Master Build Status Sonarcloud - Maintainability Pypi Installs DockerHub Pulls

Mythril is a security analysis tool for EVM bytecode. It detects security vulnerabilities in smart contracts built for Ethereum, Hedera, Quorum, Vechain, Roostock, Tron and other EVM-compatible blockchains. It uses symbolic execution, SMT solving and taint analysis to detect a variety of security vulnerabilities. It's also used (in combination with other tools and techniques) in the MythX security analysis platform.

If you are a smart contract developer, we recommend using MythX tools which are optimized for usability and cover a wider range of security issues.

Whether you want to contribute, need support, or want to learn what we have cooking for the future, our Discord server will serve your needs.

Installation and setup

Get it with Docker:

$ docker pull mythril/myth

Install from Pypi:

$ pip3 install mythril

See the docs for more detailed instructions.

Usage

Run:

$ myth analyze <solidity-file>

Or:

$ myth analyze -a <contract-address>

Specify the maximum number of transaction to explore with -t <number>. You can also set a timeout with --execution-timeout <seconds>. Example (source code):

> myth a killbilly.sol -t 3
==== Unprotected Selfdestruct ====
SWC ID: 106
Severity: High
Contract: KillBilly
Function name: commencekilling()
PC address: 354
Estimated Gas Usage: 574 - 999
The contract can be killed by anyone.
Anyone can kill this contract and withdraw its balance to an arbitrary address.
--------------------
In file: killbilly.sol:22

selfdestruct(msg.sender)

--------------------
Transaction Sequence:

Caller: [CREATOR], data: [CONTRACT CREATION], value: 0x0
Caller: [ATTACKER], function: killerize(address), txdata: 0x9fa299ccbebebebebebebebebebebebedeadbeefdeadbeefdeadbeefdeadbeefdeadbeef, value: 0x0
Caller: [ATTACKER], function: activatekillability(), txdata: 0x84057065, value: 0x0
Caller: [ATTACKER], function: commencekilling(), txdata: 0x7c11da20, value: 0x0

Instructions for using Mythril are found on the docs.

For support or general discussions please join the Mythril community on Discord.

Building the Documentation

Mythril's documentation is contained in the docs folder and is published to Read the Docs. It is based on Sphinx and can be built using the Makefile contained in the subdirectory:

cd docs
make html

This will create a build output directory containing the HTML output. Alternatively, PDF documentation can be built with make latexpdf. The available output format options can be seen with make help.

Vulnerability Remediation

Visit the Smart Contract Vulnerability Classification Registry to find detailed information and remediation guidance for the vulnerabilities reported.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].