ucsb-seclab / greed

A symbolic execution engine for EVM smart contract binaries.
https://ucsb-seclab.github.io/greed/
MIT License
73 stars 10 forks source link

Integrate Interleaved Symbolic Execution for external interactions #1

Open degrigis opened 1 year ago

degrigis commented 1 year ago

Whenever the parameters for an external call are fully concrete, we should integrate the possibility of leveraging py-evm to perform that call and import the results insidegreed.

NOTE: We should think about what to do in case of reentrant code

ruaronicola commented 1 year ago

For the reentrant code in concrete delegations I think that we should initially just error out.

In the future, we could execute the reentrant call symbolically--- with the concrete calldata and storage, but using and updating the pre-call context. The main problem I see is that the reentrant call can then trigger more external interactions and possibly more reentrant calls.