Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IntrospectionAPIPlugin uses default string representation in logging output #2442

Closed
jmcph4 opened this issue Apr 20, 2021 · 0 comments · Fixed by #2459
Closed

IntrospectionAPIPlugin uses default string representation in logging output #2442

jmcph4 opened this issue Apr 20, 2021 · 0 comments · Fixed by #2459
Labels

Comments

@jmcph4
Copy link

jmcph4 commented Apr 20, 2021

Summary of the problem

Manticore version

$ pip3 show manticore | grep Version
Version: 0.3.5

Python version

$ python3 --version
Python 3.6.9

OS / Environment

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.5 LTS
Release:         18.04
Codename:     bionic

Dependencies

$ pip3 freeze
attrs==20.2.0
base58==2.0.1
bitarray==1.2.2
certifi==2020.6.20
chardet==3.0.4
click==7.1.2
crytic-compile==0.1.12
cytoolz==0.11.0
dataclasses==0.8
eth-abi==2.1.1
eth-account==0.5.3
eth-hash==0.3.1
eth-keyfile==0.5.1
eth-keys==0.3.3
eth-rlp==0.2.0
eth-typing==2.2.2
eth-utils==1.10.0
etheno==0.2.4
Flask==1.1.2
future==0.18.2
hexbytes==0.2.1
idna==2.10
importlib-metadata==3.7.3
importlib-resources==3.0.0
ipfshttpclient==0.6.1
itsdangerous==1.1.0
Jinja2==2.11.2
jsonschema==3.2.0
lru-dict==1.1.6
manticore==0.3.5
MarkupSafe==1.1.1
multiaddr==0.0.9
netaddr==0.8.0
parsimonious==0.8.1
ply==3.11
prettytable==2.1.0
protobuf==3.13.0
ptyprocess==0.6.0
pycryptodome==3.9.8
pyevmasm==0.2.3
pygobject==3.26.1
pyrsistent==0.17.3
pysha3==1.0.2
python-apt==1.6.5+ubuntu0.3
PyYAML==5.4.1
requests==2.24.0
rlp==2.0.1
six==1.15.0
slither-analyzer==0.7.0
toolz==0.11.1
typing-extensions==3.7.4.3
urllib3==1.25.10
varint==1.0.2
wasm==1.2
wcwidth==0.2.5
web3==5.12.1
websockets==8.1
Werkzeug==1.0.1
z3-solver==4.8.10.0
zipp==3.4.1

Step to reproduce the behavior

  1. Start the eth-security-toolbox Docker container
    docker run -it trailofbits/eth-security-toolbox
  2. Acquire a smart contract to analyse
  3. Set the repo up (yarn install, etc.)
  4. Modify the solc version appropriately (if needed)
    solc-select x.y.z
  5. Run Manticore on said contract
    manticore --contract MyContract contracts/MyContract.sol

Expected behavior

That, when the currently registered plugins are logged, the IntrospectionAPIPlugin has a consistent string representation, i.e. IntrospectionAPIPlugin.

Actual behavior

When logged, the IntrospectionAPIPlugin uses the default string representation for Python objects, i.e. <class 'manticore.core.plugin.IntrospectionAPIPlugin'>.

Any relevant logs

Output from running Manticore:

2021-04-20 21:30:22,879: [1994] m.main:INFO: Registered plugins: <class 'manticore.core.plugin.IntrospectionAPIPlugin'>, DetectInvalid, DetectIntegerOverflow, DetectUninitializedStorage, DetectUninitializedMemory, DetectReentrancySimple, DetectReentrancyAdvanced, DetectUnusedRetVal, DetectSuicidal, DetectDelegatecall, DetectExternalCallAndLeak, DetectEnvInstruction, DetectManipulableBalance
2021-04-20 21:30:22,879: [1994] m.main:INFO: Beginning analysis
2021-04-20 21:30:22,882: [1994] m.e.manticore:INFO: Starting symbolic create contract
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant