eThor: Practical and Provably Sound Static Analysis of Ethereum Smart Contracts (artifacts)
Authors/Creators
Description
This dataset contains the software and benchmarks accompanying the paper "eThor: Practical and Provably Sound Static Analysis of Ethereum Smart Contracts" (published at the ACM Conference on Computer and Communications Security (CCS) 2020).
ethor-sources.zip and horst-sources.zip contain the sources for our smart contract analyzer eThor and the HoRSt framework on which it is based.
ethor.jar and horst.jar are the compiled versions of eThor and HoRSt.
control-flow-reconstruction-tool.zip contains the sources for the tool used to reconstruct the control flows.
contracts.zip contains the contracts in the reentancy benchmark with redacted bytecodes (720 contracts). See below for unredaction.contracts-with-reconstructed-control-flow.zip contains the non-trivial contracts in the benchmark contracts with reconstructed control flow and redacted bytecodes (605 contracts). See below for unredaction.contracts-with-sources.txt contains the addresses of contracts in the reentrancy benchmark, to whose Solidity source code we had access to during assessment of the ground truth (601 contracts).results.csv contains the classification of contracts and ground truth.
case-study-data.zip contains the data set for the functional correctness case study.
Provenance, Licenses, Recovery of Original Files
The software developed developed by the authors of this resource (ethor-sources.zip, horst-sources.zip and control-flow-reconstruction-tool.zip, ethor.jar, horst.jar) are licensed under GPL 3 or later.
All contract bytecodes in our benchmark were obtained from Ethereum Mainnet.
We redacted the bytecodes of the the smart contracts in our benchmarks due to licensing concerns. To obtain the file that we used for our experiements, first obtain the hex-encoded bytecode of any contract XYZ and place it next to XYZ.json in a file XYZ.hex. Then executedsed -i "s/REMOVED-DUE-TO-LICENSING-CONCERNS/$(cat XYZ.hex)/" XYZ.json
The bytecode for a contract XYZ can be, for example, obtained via etherscan, https://etherscan.io/address/XYZ#code (where XYZ has to be replaced with the actual address). Please note that all our tools ingest deployed/runtime bytecodes, not contract creation codes. Etherscan was also where we obtained the sources mentioned in contracts-with-sources.txt.contracts.zip, contracts-with-reconstructed-control-flow.zip, contracts-with-sources.txt, and results.csv are distributed under CC0.
The addresses of the contracts in our benchmark were gathered from https://goo.gl/kFNHy3 (taken from "ZEUS: Analyzing Safety of Smart Contracts", NDSS '2018).
The solidity files in case-study-data.zip were derived from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/9fdc91758dbd958a28a238a87c71b21e501a47c7/contracts/math/SafeMath.sol and are distributed under MIT.
Limitations on Reproducibility
The SMT-LIB files produced by eThor are not 100% deterministic, as the order of some statements is not fixed. This should not change the semantics of the respective file but may impact solver performance.
Files
README.md
Files
(49.1 MiB)
| Name | Size | Download all |
|---|---|---|
| md5:60581a36e70b1cdc51ee01526a3a8f4c | 17.2 KiB | Preview Download |
| md5:dc20835da7f8513cc4d1402d4f467a43 | 464.2 KiB | Preview Download |
| md5:0bb3933bde7511ddfa43f04428992e12 | 25.2 KiB | Preview Download |
| md5:583bfd92b64be3e88766d2e1af7c4a84 | 255.8 KiB | Preview Download |
| md5:78edb13894b5314f1ca1b4137f7471e1 | 1.2 MiB | Preview Download |
| md5:bc1212f2f347691dfcc6e4304f328660 | 1.6 MiB | Preview Download |
| md5:21ccaa049f74a87cb4039201dc89994d | 27.1 MiB | Download |
| md5:b7ce1c7bc2db3758d6bd56ada7363a22 | 314.4 KiB | Preview Download |
| md5:49d6a93c720442bc1c93c64930e1b548 | 18.0 MiB | Download |
| md5:d56f568cc76eea33309ab32b72a1608d | 1.3 KiB | Preview Download |
| md5:9743ee9a4f1a5dd7e9d482048bcc0c95 | 45.2 KiB | Preview Download |
Additional details
Related works
- Cites
- Conference Paper: 10.14722/ndss.2018.23082 (DOI)
- Is part of
- Conference Paper: 10.1145/3372297.3417250 (DOI)