Closed mmathys closed 4 years ago
What command line arguments were used for compilation in solc? Did you produce runtime code?
Yes, I think I produced runtime code.
Repro steps:
Solidity source is in unbounded.sol
.
solc --bin-runtime unbounded.sol | tail -n 1 > unbounded.hex
Now the bytecode is in unbounded.hex
.
./tools/analyser/analyse.rb tools/bulk_analyser/spec.dl unbounded.hex
This command gives the output:
unbounded.hex,ArrayIdToStorageIndex,AssertAliasing,FlowsFrom,InStructuredLoop,InductionVariable,KeyToOffset,LoopExitCond,PossibleArrayIterator,StorageDynamicBound
However, the output should contain Vulnerability_UnboundedMassOp
, right?🤔
I am wondering whether I used the right spec file and used the right analysis script, or the code might just be not production optimized.
Hi @mmathys. I've tried the code with the latest version of MadMax that runs on contract-library.com and it produces the following output:
Array iterator at 0xd961d190() may be susceptible to DoS by increasing storage requirements at createAccount()
The version running on contract-library.com uses a newer decompiler called Gigahorse.
If you want to use that version just upload the smart contract to a testnet and the results will be automatically posted on contract-library.com within a few seconds.
Thanks
Hello, I have this example contract which has an unbounded mass operation vulnerability.
When I try to run
./tools/analyser/analyse.rb tools/bulk_analyser/spec.dl vulnerability.hex
, the script does not return that the contract is vulnerable to an unbounded mass operation vulnerability.What am I doing wrong?
Thanks in advance.