Key Information

The challenge is finished.
Show Deadlines

Challenge Overview

Mythril is a security analysis tool for Ethereum smart contracts, written in Python. It uses the LASER-ethereum symbolic virtual machine to detect various types of issues. It can be used to analyze source code, or as a nmap-style black-box blockchain scanner (an "ethermap", if you will).

In this challenge we want you to do some refactoring of this tool, to ensure compatibility with the current Ethereum, working Dockerfile, and easy, bug-free installation for end-users:
  • Remove the dependency on web3. This involves refactoring the IPC code to work without web3. The reason for doing this is that web3 forces the user of legacy Ethereum packages;
  • Once web3 is removed, update eth-utils, eth-abi, and other eth-xxx packages. Test the myth tool and fix any incompatibilities with the updated packages.
  • Update and test the Dockerfile.
Be sure to check the following issue tickets in the repo, and ensure that all of them are resolved by your update of the code:

Final Submission Guidelines

  • Submit Git patch against the latest commit (75ac7c9aec2163cab18db952dd727a4134cd559f at the moment of writing) in master branch of mythril repo.
  • Provide verification instructions and a brief verification video.

Reliability Rating and Bonus

For challenges that have a reliability bonus, the bonus depends on the reliability rating at the moment of registration for that project. A participant with no previous projects is considered to have no reliability rating, and therefore gets no bonus. Reliability bonus does not apply to Digital Run winnings. Since reliability rating is based on the past 15 projects, it can only have 15 discrete values.
Read more.


2018 Topcoder(R) Open


Final Review:

Community Review Board


User Sign-Off