9

I'm looking for the best value affordable code checkers to find vulnerabilities in solidity code. I came across on Mythril[1] but I wonder which other products are used.

[1] https://github.com/b-mueller/mythril

1

7 Answers 7

11

Here's a few tools from ConsenSys' Best Practices, all are open source:

Static Analysis

  • Manticore - Dynamic binary analysis tool with EVM support
  • Mythril - Reversing and bug hunting framework for the Ethereum blockchain
  • Oyente - Analyze Ethereum code to find common vulnerabilities, based on this paper.
  • Solgraph - Generates a DOT graph that visualizes function control flow of a Solidity contract and highlights potential security vulnerabilities.

Test Coverage

Linters

Linters improve code quality by enforcing rules for style and composition, making code easier to read and review.

  • Solcheck - A linter for Solidity code written in JS and heavily inspired by eslint.
  • Solint - Solidity linting that helps you enforce consistent conventions and avoid errors in your Solidity smart-contracts.
  • Solium - Yet another Solidity linting.
  • Solhint - A linter for Solidity that provides both Security and Style Guide validations.
3

Try SmartCheck. It is the static code analyzer. It checks the smart contract code written in Solidity for security vulnerabilities and bad practices. SmartCheck is free to use, it doesn't need the installation. We are using it in our work.

3

There is a tool for formal verification called Securify, developed by ETH Zürich. It checks for common security vulnerabilities.

Currently, this requires permission to redistribute your code.

2
  • Probably good to note that this requires you to grant permission to the company to redistribute your code. Commented Dec 23, 2018 at 20:24
  • @MikeShultz sorry, this was not the case, when I answered the question. I editet the answer!
    – Eknoes
    Commented Dec 23, 2018 at 20:57
1

Take a look at this github project for Solidity Smart Contracts https://github.com/raineorshine/solgraph it generates a DOT graph that visualizes function control flow of a Solidity contract and highlights potential security vulnerabilities.

1
  • have you used that for any production project?
    – Davide C
    Commented Nov 24, 2017 at 18:24
1

There is also a SonarQube community analyzer for Solidity.

SonarSolidity has rules that support Solidity’s best practices and track security vulnerabilities and code smell issues.

I have already analyzed some open source projects and very interesting issues were found.

So, I would like to invite anyone interested to take advantage of SonarSolidity’s value.

Feedback is very much appreciated.

Cheers.

0

Check out Quantstamp. Request Network is already using them.

1
  • April fools isn't until 2019 mate Commented Aug 21, 2018 at 14:59
0

Mythril is by far the best tool available, takes some getting used to though.

Great introduction and overview:

#HITB2018AMS D1T2 - Smashing Ethereum Smart Contracts for Fun and ACTUAL Profit - Bernhard Mueller

https://www.youtube.com/watch?v=iqf6epACgds

Not the answer you're looking for? Browse other questions tagged or ask your own question.