An analysis tool to detect integer bugs in Ethereum smart contracts. Osiris is based on Oyente.
A container with the dependencies set up can be found here.
To open the container, install docker and run:
docker pull christoftorres/osiris && docker run -i -t christoftorres/osiris
To evaluate the SimpleDAO contract inside the container, run:
python osiris/osiris.py -s datasets/SimpleDAO/SimpleDAO_0.4.19.sol
and you are done!
docker build -t osiris .
docker run -it osiris:latest
$ sudo add-apt-repository ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install solc
evm from go-ethereum
- https://geth.ethereum.org/downloads/ or
- By from PPA if your using Ubuntu
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install ethereum
z3 Theorem Prover version 4.6.0.
Download the source code of version z3-4.6.0
Install z3 using Python bindings
$ python scripts/mk_make.py --python
$ cd build
$ make
$ sudo make install
Requests library
pip install requests
web3 library
pip install web3
pysha3 library
pip install pysha3
#evaluate a local solidity contract
python osiris.py -s <contract filename>
Run python osiris.py --help
for a complete list of options.