From 972d5974c0160494942e0ee46025fb78e4c309ba Mon Sep 17 00:00:00 2001 From: Nikhil Parasaram Date: Wed, 27 Mar 2019 00:19:22 +0530 Subject: [PATCH 1/3] Use the current state constraints over the constraint at the annotation time --- mythril/analysis/modules/integer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mythril/analysis/modules/integer.py b/mythril/analysis/modules/integer.py index 94b3588b..8c460394 100644 --- a/mythril/analysis/modules/integer.py +++ b/mythril/analysis/modules/integer.py @@ -290,7 +290,7 @@ class IntegerOverflowUnderflowModule(DetectionModule): try: transaction_sequence = solver.get_transaction_sequence( - state, node.constraints + [annotation.constraint] + state, state.node.constraints + [annotation.constraint] ) except UnsatError: continue From e43a795a48a8bd1b49ee87611b2458e7eaf9d327 Mon Sep 17 00:00:00 2001 From: Bernhard Mueller Date: Thu, 28 Mar 2019 14:41:34 +0700 Subject: [PATCH 2/3] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 53fbd1fa..ad0e66dc 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,12 @@ [![Sonarcloud - Maintainability](https://sonarcloud.io/api/project_badges/measure?project=mythril&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=mythril) [![Downloads](https://pepy.tech/badge/mythril)](https://pepy.tech/project/mythril) -Mythril Classic is an open-source security analysis tool for Ethereum smart contracts. It uses symbolic analysis, taint analysis and control flow checking to detect a variety of security vulnerabilities. It's also an experimental tool designed for security pros. If you a smart contract developer you might prefer easier-to-use tools such as: +Mythril Classic is an open-source security analysis tool for Ethereum smart contracts. It uses symbolic analysis, taint analysis and control flow checking to detect a variety of security vulnerabilities. + +Note that Mythril Classic is designed for security auditors. If you are a smart contract developer, we recommend using [MythX tools](https://github.com/b-mueller/awesome-mythx-smart-contract-security) which are optimized for usability and cover a wider range of security issues: - [Sabre](https://github.com/b-mueller/sabre) -- [Truffle Security](https://github.com/ConsenSys/truffle-security) +- [MythX Plugin for Truffle](https://github.com/ConsenSys/truffle-security) Whether you want to contribute, need support, or want to learn what we have cooking for the future, our [Discord server](https://discord.gg/E3YrVtG) will serve your needs. From 9c22872a72af25c4d61d2f6e72a4d7d16495a094 Mon Sep 17 00:00:00 2001 From: JoranHonig Date: Thu, 28 Mar 2019 15:37:59 +0530 Subject: [PATCH 3/3] Use mstate over node constraints Co-Authored-By: norhh --- mythril/analysis/modules/integer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mythril/analysis/modules/integer.py b/mythril/analysis/modules/integer.py index 8c460394..d98ed069 100644 --- a/mythril/analysis/modules/integer.py +++ b/mythril/analysis/modules/integer.py @@ -290,7 +290,7 @@ class IntegerOverflowUnderflowModule(DetectionModule): try: transaction_sequence = solver.get_transaction_sequence( - state, state.node.constraints + [annotation.constraint] + state, state.mstate.constraints + [annotation.constraint] ) except UnsatError: continue