smartbugs / smartbugs

SmartBugs: A Framework to Analyze Ethereum Smart Contracts

Home Page:https://smartbugs.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Issue running manticore and madmax on bytecode

mchara01 opened this issue · comments

I am using the bytecode branch of smartbugs and I get the error "ERROR: could not get file from container. File not analysed." whenever I try to analyse a smart contract's bytecode with Manticore. The bytecode files I try to analyse exist on my file system. Do you know how to overcome this issue?

Also, I have run Madmax on more than 200 bytecode files, but the findings field in the result.json is empty for all of them, even though some files contain the vulnerabilities the tool is supposed to detect. Is this normal behaviour?

Manticore does not work in an automated fashion for runtime bytecode (what the bytecode branch is about). It seems to be able to analyze source code and deployment code automatically, as the constructor/deployment code initializes the environment. For bytecodes, Manticore seems to expect information on this environment, and does not seem to be able to handle it symbolically. The option to use Manticore with runtime bytecode will probably be removed when merging the source and the bytecode branch.

I do not know of any problems with Madmax, at least not technically within Smartbugs. The analysis tools look for specific patterns that indicate a problem (see the paper on Madmax), but they will miss similar issues that do not follow these patterns. Check the file result.log with the output of MadMax to see what it detects, unfiltered by Smartbugs. If you suspect problems with a specific bytecode, please post the code here or link to Etherscan.

Closing the issue until more specific info on potential problems is provided.