Skip to content

morrigan/mythx-vulnerability-monitor

Repository files navigation

MythX vulnerability monitor

This is a repository for a web app that scans deployed smart contract on Ethereum blockchain with MythX. App includes monitoring of the contracts periodically to detect if any new vulnerability is found on the existing contract.

How it works

  1. User logs in to MythX and receives tokens that are sent to backend. Those tokens are saved to be used later for submissions of analyses.
  2. User can enter address of the deployed contract only and therefore use only the bytcode analysis. However, to achieve better results, additional source code of the contract can be provided.
  3. Submitted contract is sent to MythX for analysis and results are sent via email. User is provided with a URL where all previous analyses can be checked.
  4. On a period of 30 days a new analysis is requested for each submitted contract.

Working example

  • Address: 0x8e5314cf054871061458846365b5f2faae79cf60
  • Source
  • Contract name: DosOneFunc
  • Compiler version: 0.4.24

Requirements

Following software is required to be installed to use this repo:

Usage

Backend

On first use of this repo, run npx run build which will build backend Docker image.You will have to run npx run build each time you change dependencies in package.json (yarn.lock).

  • Copy .env.sample to .env file and set Mailgun and other variables.
  • Run npx run to see all available commands and their description.

Notice

  • make sure you update yarn.lock before building
  • use sequelize-cli local to generate migrations (because of timestamp)

Frontend

In frontend directory run yarn install and for the local development use yarn start.

Production

  1. Copy .env.sample to .env and set Mailgun (required) and other variables.
  2. Use Dockerfile.production to create a backend Docker image.
  3. Run npx run prod which should build frontend React app.

About

MythX vulnerability monitor for deployed Ethereum smart contracts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published